define(['dart_sdk', 'packages/flutter/src/foundation/_bitfield_web', 'packages/vector_math/vector_math_64', 'packages/flutter/src/painting/_network_image_web', 'packages/flutter/src/semantics/binding', 'packages/flutter/src/gestures/arena', 'packages/flutter/src/animation/animation', 'packages/flutter/gestures'], function(dart_sdk, packages__flutter__src__foundation___bitfield_web, packages__vector_math__vector_math_64, packages__flutter__src__painting___network_image_web, packages__flutter__src__semantics__binding, packages__flutter__src__gestures__arena, packages__flutter__src__animation__animation, packages__flutter__gestures) {
  'use strict';
  const core = dart_sdk.core;
  const ui = dart_sdk.ui;
  const developer = dart_sdk.developer;
  const _interceptors = dart_sdk._interceptors;
  const collection = dart_sdk.collection;
  const _js_helper = dart_sdk._js_helper;
  const async = dart_sdk.async;
  const typed_data = dart_sdk.typed_data;
  const io = dart_sdk.io;
  const math = dart_sdk.math;
  const _engine = dart_sdk._engine;
  const dart = dart_sdk.dart;
  const dartx = dart_sdk.dartx;
  const debug = packages__flutter__src__foundation___bitfield_web.src__foundation__debug;
  const object = packages__flutter__src__foundation___bitfield_web.src__foundation__object;
  const diagnostics = packages__flutter__src__foundation___bitfield_web.src__foundation__diagnostics;
  const assertions = packages__flutter__src__foundation___bitfield_web.src__foundation__assertions;
  const node = packages__flutter__src__foundation___bitfield_web.src__foundation__node;
  const print = packages__flutter__src__foundation___bitfield_web.src__foundation__print;
  const binding = packages__flutter__src__foundation___bitfield_web.src__foundation__binding;
  const platform = packages__flutter__src__foundation___bitfield_web.src__foundation__platform;
  const change_notifier = packages__flutter__src__foundation___bitfield_web.src__foundation__change_notifier;
  const collections = packages__flutter__src__foundation___bitfield_web.src__foundation__collections;
  const basic_types = packages__flutter__src__foundation___bitfield_web.src__foundation__basic_types;
  const key = packages__flutter__src__foundation___bitfield_web.src__foundation__key;
  const vector_math_64 = packages__vector_math__vector_math_64.vector_math_64;
  const matrix_utils = packages__flutter__src__painting___network_image_web.src__painting__matrix_utils;
  const clip = packages__flutter__src__painting___network_image_web.src__painting__clip;
  const binding$ = packages__flutter__src__painting___network_image_web.src__painting__binding;
  const colors = packages__flutter__src__painting___network_image_web.src__painting__colors;
  const edge_insets = packages__flutter__src__painting___network_image_web.src__painting__edge_insets;
  const alignment = packages__flutter__src__painting___network_image_web.src__painting__alignment;
  const basic_types$ = packages__flutter__src__painting___network_image_web.src__painting__basic_types;
  const text_painter = packages__flutter__src__painting___network_image_web.src__painting__text_painter;
  const text_span = packages__flutter__src__painting___network_image_web.src__painting__text_span;
  const text_style = packages__flutter__src__painting___network_image_web.src__painting__text_style;
  const placeholder_span = packages__flutter__src__painting___network_image_web.src__painting__placeholder_span;
  const inline_span = packages__flutter__src__painting___network_image_web.src__painting__inline_span;
  const strut_style = packages__flutter__src__painting___network_image_web.src__painting__strut_style;
  const borders = packages__flutter__src__painting___network_image_web.src__painting__borders;
  const border_radius = packages__flutter__src__painting___network_image_web.src__painting__border_radius;
  const box_border = packages__flutter__src__painting___network_image_web.src__painting__box_border;
  const debug$ = packages__flutter__src__painting___network_image_web.src__painting__debug;
  const image_provider = packages__flutter__src__painting___network_image_web.src__painting__image_provider;
  const decoration = packages__flutter__src__painting___network_image_web.src__painting__decoration;
  const box_fit = packages__flutter__src__painting___network_image_web.src__painting__box_fit;
  const fractional_offset = packages__flutter__src__painting___network_image_web.src__painting__fractional_offset;
  const decoration_image = packages__flutter__src__painting___network_image_web.src__painting__decoration_image;
  const semantics = packages__flutter__src__semantics__binding.src__semantics__semantics;
  const semantics_event = packages__flutter__src__semantics__binding.src__semantics__semantics_event;
  const binding$0 = packages__flutter__src__semantics__binding.src__semantics__binding;
  const hit_test = packages__flutter__src__gestures__arena.src__gestures__hit_test;
  const events = packages__flutter__src__gestures__arena.src__gestures__events;
  const message_codecs = packages__flutter__src__gestures__arena.src__services__message_codecs;
  const binding$1 = packages__flutter__src__gestures__arena.src__gestures__binding;
  const binding$2 = packages__flutter__src__gestures__arena.src__services__binding;
  const system_chrome = packages__flutter__src__gestures__arena.src__services__system_chrome;
  const text_editing = packages__flutter__src__gestures__arena.src__services__text_editing;
  const tap = packages__flutter__src__gestures__arena.src__gestures__tap;
  const long_press = packages__flutter__src__gestures__arena.src__gestures__long_press;
  const drag_details = packages__flutter__src__gestures__arena.src__gestures__drag_details;
  const recognizer = packages__flutter__src__gestures__arena.src__gestures__recognizer;
  const team = packages__flutter__src__gestures__arena.src__gestures__team;
  const arena = packages__flutter__src__gestures__arena.src__gestures__arena;
  const raw_keyboard = packages__flutter__src__gestures__arena.src__services__raw_keyboard;
  const keyboard_key = packages__flutter__src__gestures__arena.src__services__keyboard_key;
  const raw_keyboard_macos = packages__flutter__src__gestures__arena.src__services__raw_keyboard_macos;
  const clipboard = packages__flutter__src__gestures__arena.src__services__clipboard;
  const text_input = packages__flutter__src__gestures__arena.src__services__text_input;
  const curves = packages__flutter__src__animation__animation.src__animation__curves;
  const animation = packages__flutter__src__animation__animation.src__animation__animation;
  const tween = packages__flutter__src__animation__animation.src__animation__tween;
  const animation_controller = packages__flutter__src__animation__animation.src__animation__animation_controller;
  const animations = packages__flutter__src__animation__animation.src__animation__animations;
  const mouse_tracking = packages__flutter__gestures.src__gestures__mouse_tracking;
  const binding$3 = packages__flutter__gestures.src__scheduler__binding;
  const platform_views = packages__flutter__gestures.src__services__platform_views;
  const ticker = packages__flutter__gestures.src__scheduler__ticker;
  const object$ = Object.create(dart.library);
  const layer$ = Object.create(dart.library);
  const debug$0 = Object.create(dart.library);
  const binding$4 = Object.create(dart.library);
  const view = Object.create(dart.library);
  const box = Object.create(dart.library);
  const shifted_box = Object.create(dart.library);
  const stack = Object.create(dart.library);
  const debug_overflow_indicator = Object.create(dart.library);
  const paragraph = Object.create(dart.library);
  const proxy_box = Object.create(dart.library);
  const platform_view = Object.create(dart.library);
  const flow = Object.create(dart.library);
  const tweens = Object.create(dart.library);
  const sliver_grid = Object.create(dart.library);
  const sliver_multi_box_adaptor = Object.create(dart.library);
  const sliver$ = Object.create(dart.library);
  const viewport_offset = Object.create(dart.library);
  const viewport = Object.create(dart.library);
  const animated_size = Object.create(dart.library);
  const table = Object.create(dart.library);
  const table_border = Object.create(dart.library);
  const texture = Object.create(dart.library);
  const list_body = Object.create(dart.library);
  const custom_paint = Object.create(dart.library);
  const sliver_fixed_extent_list = Object.create(dart.library);
  const image$ = Object.create(dart.library);
  const wrap = Object.create(dart.library);
  const editable = Object.create(dart.library);
  const sliver_persistent_header = Object.create(dart.library);
  const proxy_sliver = Object.create(dart.library);
  const list_wheel_viewport = Object.create(dart.library);
  const error$ = Object.create(dart.library);
  const flex$ = Object.create(dart.library);
  const sliver_list = Object.create(dart.library);
  const custom_layout = Object.create(dart.library);
  const rotated_box = Object.create(dart.library);
  const performance_overlay = Object.create(dart.library);
  const sliver_fill = Object.create(dart.library);
  const sliver_padding = Object.create(dart.library);
  const $runtimeType = dartx.runtimeType;
  const $hashCode = dartx.hashCode;
  const $isNotEmpty = dartx.isNotEmpty;
  const $sort = dartx.sort;
  const $clear = dartx.clear;
  const $isEmpty = dartx.isEmpty;
  const $toList = dartx.toList;
  const $add = dartx.add;
  const $split = dartx.split;
  const $length = dartx.length;
  const $_get = dartx._get;
  const $matchAsPrefix = dartx.matchAsPrefix;
  const $trim = dartx.trim;
  const $single = dartx.single;
  const $sublist = dartx.sublist;
  const $forEach = dartx.forEach;
  const $addAll = dartx.addAll;
  const $first = dartx.first;
  const $expand = dartx.expand;
  const $last = dartx.last;
  const $map = dartx.map;
  const $_equals = dartx._equals;
  const $whereType = dartx.whereType;
  const $any = dartx.any;
  const $ceil = dartx.ceil;
  const $isFinite = dartx.isFinite;
  const $every = dartx.every;
  const $modulo = dartx['%'];
  const $putIfAbsent = dartx.putIfAbsent;
  const $clamp = dartx.clamp;
  const $truncate = dartx.truncate;
  const $toDouble = dartx.toDouble;
  const $isNaN = dartx.isNaN;
  const $removeLast = dartx.removeLast;
  const $join = dartx.join;
  const $isInfinite = dartx.isInfinite;
  const $toStringAsFixed = dartx.toStringAsFixed;
  const $toStringAsPrecision = dartx.toStringAsPrecision;
  const $_set = dartx._set;
  const $times = dartx['*'];
  const $abs = dartx.abs;
  const $skip = dartx.skip;
  const $floorToDouble = dartx.floorToDouble;
  const $ceilToDouble = dartx.ceilToDouble;
  const $elementAt = dartx.elementAt;
  const $toSet = dartx.toSet;
  const $remove = dartx.remove;
  const $containsKey = dartx.containsKey;
  const $keys = dartx.keys;
  const $indexOf = dartx.indexOf;
  const $containsValue = dartx.containsValue;
  const $values = dartx.values;
  const $where = dartx.where;
  const $reversed = dartx.reversed;
  const $getRange = dartx.getRange;
  const $toString = dartx.toString;
  const $insert = dartx.insert;
  const $round = dartx.round;
  const $floor = dartx.floor;
  const $codeUnitAt = dartx.codeUnitAt;
  const $substring = dartx.substring;
  const $leftShift = dartx['<<'];
  let VoidTobool = () => (VoidTobool = dart.constFn(dart.fnType(core.bool, [])))();
  let VoidTovoid = () => (VoidTovoid = dart.constFn(dart.fnType(dart.void, [])))();
  let JSArrayOfRenderObject = () => (JSArrayOfRenderObject = dart.constFn(_interceptors.JSArray$(object$.RenderObject)))();
  let LinkedHashSetOfRenderObject = () => (LinkedHashSetOfRenderObject = dart.constFn(collection.LinkedHashSet$(object$.RenderObject)))();
  let RenderObjectAndRenderObjectToint = () => (RenderObjectAndRenderObjectToint = dart.constFn(dart.fnType(core.int, [object$.RenderObject, object$.RenderObject])))();
  let RenderObjectToNull = () => (RenderObjectToNull = dart.constFn(dart.fnType(core.Null, [object$.RenderObject])))();
  let SyncIterableOfDiagnosticsNode = () => (SyncIterableOfDiagnosticsNode = dart.constFn(_js_helper.SyncIterable$(diagnostics.DiagnosticsNode)))();
  let IterableOfDiagnosticsNode = () => (IterableOfDiagnosticsNode = dart.constFn(core.Iterable$(diagnostics.DiagnosticsNode)))();
  let VoidToIterableOfDiagnosticsNode = () => (VoidToIterableOfDiagnosticsNode = dart.constFn(dart.fnType(IterableOfDiagnosticsNode(), [])))();
  let SyncIterableOfErrorDescription = () => (SyncIterableOfErrorDescription = dart.constFn(_js_helper.SyncIterable$(assertions.ErrorDescription)))();
  let IterableOfErrorDescription = () => (IterableOfErrorDescription = dart.constFn(core.Iterable$(assertions.ErrorDescription)))();
  let VoidToIterableOfErrorDescription = () => (VoidToIterableOfErrorDescription = dart.constFn(dart.fnType(IterableOfErrorDescription(), [])))();
  let VoidToNull = () => (VoidToNull = dart.constFn(dart.fnType(core.Null, [])))();
  let JSArrayOfDiagnosticsNode = () => (JSArrayOfDiagnosticsNode = dart.constFn(_interceptors.JSArray$(diagnostics.DiagnosticsNode)))();
  let JSArrayOf_InterestingSemanticsFragment = () => (JSArrayOf_InterestingSemanticsFragment = dart.constFn(_interceptors.JSArray$(object$._InterestingSemanticsFragment)))();
  let LinkedHashSetOf_InterestingSemanticsFragment = () => (LinkedHashSetOf_InterestingSemanticsFragment = dart.constFn(collection.LinkedHashSet$(object$._InterestingSemanticsFragment)))();
  let ListOfSemanticsNode = () => (ListOfSemanticsNode = dart.constFn(core.List$(semantics.SemanticsNode)))();
  let DiagnosticsPropertyOfParentData = () => (DiagnosticsPropertyOfParentData = dart.constFn(diagnostics.DiagnosticsProperty$(object$.ParentData)))();
  let DiagnosticsPropertyOfConstraints = () => (DiagnosticsPropertyOfConstraints = dart.constFn(diagnostics.DiagnosticsProperty$(object$.Constraints)))();
  let DiagnosticsPropertyOfContainerLayer = () => (DiagnosticsPropertyOfContainerLayer = dart.constFn(diagnostics.DiagnosticsProperty$(layer$.ContainerLayer)))();
  let DiagnosticsPropertyOfSemanticsNode = () => (DiagnosticsPropertyOfSemanticsNode = dart.constFn(diagnostics.DiagnosticsProperty$(semantics.SemanticsNode)))();
  let SyncIterableOf_InterestingSemanticsFragment = () => (SyncIterableOf_InterestingSemanticsFragment = dart.constFn(_js_helper.SyncIterable$(object$._InterestingSemanticsFragment)))();
  let LinkedHashSetOfSemanticsTag = () => (LinkedHashSetOfSemanticsTag = dart.constFn(collection.LinkedHashSet$(semantics.SemanticsTag)))();
  let IterableOfSemanticsNode = () => (IterableOfSemanticsNode = dart.constFn(core.Iterable$(semantics.SemanticsNode)))();
  let _InterestingSemanticsFragmentToIterableOfSemanticsNode = () => (_InterestingSemanticsFragmentToIterableOfSemanticsNode = dart.constFn(dart.fnType(IterableOfSemanticsNode(), [object$._InterestingSemanticsFragment])))();
  let SyncIterableOfSemanticsNode = () => (SyncIterableOfSemanticsNode = dart.constFn(_js_helper.SyncIterable$(semantics.SemanticsNode)))();
  let DiagnosticsPropertyOfObject = () => (DiagnosticsPropertyOfObject = dart.constFn(diagnostics.DiagnosticsProperty$(core.Object)))();
  let DiagnosticsPropertyOfRect = () => (DiagnosticsPropertyOfRect = dart.constFn(diagnostics.DiagnosticsProperty$(ui.Rect)))();
  let ListOfDiagnosticsNode = () => (ListOfDiagnosticsNode = dart.constFn(core.List$(diagnostics.DiagnosticsNode)))();
  let VoidToListOfDiagnosticsNode = () => (VoidToListOfDiagnosticsNode = dart.constFn(dart.fnType(ListOfDiagnosticsNode(), [])))();
  let JSArrayOfPictureLayer = () => (JSArrayOfPictureLayer = dart.constFn(_interceptors.JSArray$(layer$.PictureLayer)))();
  let PathMetricTobool = () => (PathMetricTobool = dart.constFn(dart.fnType(core.bool, [ui.PathMetric])))();
  let JSArrayOfLayer = () => (JSArrayOfLayer = dart.constFn(_interceptors.JSArray$(layer$.Layer)))();
  let DiagnosticsPropertyOfOffset = () => (DiagnosticsPropertyOfOffset = dart.constFn(diagnostics.DiagnosticsProperty$(ui.Offset)))();
  let DiagnosticsPropertyOfClip = () => (DiagnosticsPropertyOfClip = dart.constFn(diagnostics.DiagnosticsProperty$(ui.Clip)))();
  let DiagnosticsPropertyOfRRect = () => (DiagnosticsPropertyOfRRect = dart.constFn(diagnostics.DiagnosticsProperty$(ui.RRect)))();
  let DiagnosticsPropertyOfColorFilter = () => (DiagnosticsPropertyOfColorFilter = dart.constFn(diagnostics.DiagnosticsProperty$(ui.ColorFilter)))();
  let DiagnosticsPropertyOfImageFilter = () => (DiagnosticsPropertyOfImageFilter = dart.constFn(diagnostics.DiagnosticsProperty$(ui.ImageFilter)))();
  let doubleTobool = () => (doubleTobool = dart.constFn(dart.fnType(core.bool, [core.double])))();
  let DiagnosticsPropertyOfShader = () => (DiagnosticsPropertyOfShader = dart.constFn(diagnostics.DiagnosticsProperty$(ui.Shader)))();
  let DiagnosticsPropertyOfBlendMode = () => (DiagnosticsPropertyOfBlendMode = dart.constFn(diagnostics.DiagnosticsProperty$(ui.BlendMode)))();
  let DiagnosticsPropertyOfLayerLink = () => (DiagnosticsPropertyOfLayerLink = dart.constFn(diagnostics.DiagnosticsProperty$(layer$.LayerLink)))();
  let _HashSetOfLayer = () => (_HashSetOfLayer = dart.constFn(collection._HashSet$(layer$.Layer)))();
  let JSArrayOfContainerLayer = () => (JSArrayOfContainerLayer = dart.constFn(_interceptors.JSArray$(layer$.ContainerLayer)))();
  let DiagnosticsPropertyOfSize = () => (DiagnosticsPropertyOfSize = dart.constFn(diagnostics.DiagnosticsProperty$(ui.Size)))();
  let DiagnosticsPropertyOfbool = () => (DiagnosticsPropertyOfbool = dart.constFn(diagnostics.DiagnosticsProperty$(core.bool)))();
  let FutureOfbool = () => (FutureOfbool = dart.constFn(async.Future$(core.bool)))();
  let VoidToFutureOfbool = () => (VoidToFutureOfbool = dart.constFn(dart.fnType(FutureOfbool(), [])))();
  let FutureOfvoid = () => (FutureOfvoid = dart.constFn(async.Future$(dart.void)))();
  let boolToFutureOfvoid = () => (boolToFutureOfvoid = dart.constFn(dart.fnType(FutureOfvoid(), [core.bool])))();
  let VoidToFutureOfvoid = () => (VoidToFutureOfvoid = dart.constFn(dart.fnType(FutureOfvoid(), [])))();
  let DiagnosticsPropertyOfViewConfiguration = () => (DiagnosticsPropertyOfViewConfiguration = dart.constFn(diagnostics.DiagnosticsProperty$(view.ViewConfiguration)))();
  let LinkedMapOf_IntrinsicDimensionsCacheEntry$double = () => (LinkedMapOf_IntrinsicDimensionsCacheEntry$double = dart.constFn(_js_helper.LinkedMap$(box._IntrinsicDimensionsCacheEntry, core.double)))();
  let VoidTodouble = () => (VoidTodouble = dart.constFn(dart.fnType(core.double, [])))();
  let LinkedMapOfTextBaseline$double = () => (LinkedMapOfTextBaseline$double = dart.constFn(_js_helper.LinkedMap$(ui.TextBaseline, core.double)))();
  let DiagnosticsPropertyOfRenderBox = () => (DiagnosticsPropertyOfRenderBox = dart.constFn(diagnostics.DiagnosticsProperty$(box.RenderBox)))();
  let DiagnosticsPropertyOfBoxConstraints = () => (DiagnosticsPropertyOfBoxConstraints = dart.constFn(diagnostics.DiagnosticsProperty$(box.BoxConstraints)))();
  let doubleTodouble = () => (doubleTodouble = dart.constFn(dart.fnType(core.double, [core.double])))();
  let FnAndStringAnddoubleTodouble = () => (FnAndStringAnddoubleTodouble = dart.constFn(dart.fnType(core.double, [doubleTodouble(), core.String, core.double])))();
  let FnAndFnAndString__Tovoid = () => (FnAndFnAndString__Tovoid = dart.constFn(dart.fnType(dart.void, [doubleTodouble(), doubleTodouble(), core.String, core.double])))();
  let DiagnosticsNodeTovoid = () => (DiagnosticsNodeTovoid = dart.constFn(dart.fnType(dart.void, [diagnostics.DiagnosticsNode])))();
  let JSArrayOfString = () => (JSArrayOfString = dart.constFn(_interceptors.JSArray$(core.String)))();
  let doubleAnddoubleAndStringToString = () => (doubleAnddoubleAndStringToString = dart.constFn(dart.fnType(core.String, [core.double, core.double, core.String])))();
  let BoxHitTestResultAndOffsetTobool = () => (BoxHitTestResultAndOffsetTobool = dart.constFn(dart.fnType(core.bool, [box.BoxHitTestResult, ui.Offset])))();
  let DiagnosticsPropertyOfEdgeInsetsGeometry = () => (DiagnosticsPropertyOfEdgeInsetsGeometry = dart.constFn(diagnostics.DiagnosticsProperty$(edge_insets.EdgeInsetsGeometry)))();
  let EnumPropertyOfTextDirection = () => (EnumPropertyOfTextDirection = dart.constFn(diagnostics.EnumProperty$(ui.TextDirection)))();
  let DiagnosticsPropertyOfAlignmentGeometry = () => (DiagnosticsPropertyOfAlignmentGeometry = dart.constFn(diagnostics.DiagnosticsProperty$(alignment.AlignmentGeometry)))();
  let ListOfTextPainter = () => (ListOfTextPainter = dart.constFn(core.List$(text_painter.TextPainter)))();
  let JSArrayOf_OverflowRegionData = () => (JSArrayOf_OverflowRegionData = dart.constFn(_interceptors.JSArray$(debug_overflow_indicator._OverflowRegionData)))();
  let JSArrayOfColor = () => (JSArrayOfColor = dart.constFn(_interceptors.JSArray$(ui.Color)))();
  let JSArrayOfdouble = () => (JSArrayOfdouble = dart.constFn(_interceptors.JSArray$(core.double)))();
  let EnumPropertyOfTextBaseline = () => (EnumPropertyOfTextBaseline = dart.constFn(diagnostics.EnumProperty$(ui.TextBaseline)))();
  let RenderBoxTodouble = () => (RenderBoxTodouble = dart.constFn(dart.fnType(core.double, [box.RenderBox])))();
  let EnumPropertyOfStackFit = () => (EnumPropertyOfStackFit = dart.constFn(diagnostics.EnumProperty$(stack.StackFit)))();
  let EnumPropertyOfOverflow = () => (EnumPropertyOfOverflow = dart.constFn(diagnostics.EnumProperty$(stack.Overflow)))();
  let JSArrayOfPlaceholderSpan = () => (JSArrayOfPlaceholderSpan = dart.constFn(_interceptors.JSArray$(placeholder_span.PlaceholderSpan)))();
  let InlineSpanTobool = () => (InlineSpanTobool = dart.constFn(dart.fnType(core.bool, [inline_span.InlineSpan])))();
  let ListOfPlaceholderDimensions = () => (ListOfPlaceholderDimensions = dart.constFn(core.List$(text_painter.PlaceholderDimensions)))();
  let PaintingContextAndOffsetToNull = () => (PaintingContextAndOffsetToNull = dart.constFn(dart.fnType(core.Null, [object$.PaintingContext, ui.Offset])))();
  let JSArrayOfInlineSpanSemanticsInformation = () => (JSArrayOfInlineSpanSemanticsInformation = dart.constFn(_interceptors.JSArray$(inline_span.InlineSpanSemanticsInformation)))();
  let InlineSpanSemanticsInformationTobool = () => (InlineSpanSemanticsInformationTobool = dart.constFn(dart.fnType(core.bool, [inline_span.InlineSpanSemanticsInformation])))();
  let JSArrayOfSemanticsNode = () => (JSArrayOfSemanticsNode = dart.constFn(_interceptors.JSArray$(semantics.SemanticsNode)))();
  let EnumPropertyOfTextAlign = () => (EnumPropertyOfTextAlign = dart.constFn(diagnostics.EnumProperty$(ui.TextAlign)))();
  let EnumPropertyOfTextOverflow = () => (EnumPropertyOfTextOverflow = dart.constFn(diagnostics.EnumProperty$(paragraph.TextOverflow)))();
  let DiagnosticsPropertyOfLocale = () => (DiagnosticsPropertyOfLocale = dart.constFn(diagnostics.DiagnosticsProperty$(ui.Locale)))();
  let EnumPropertyOfHitTestBehavior = () => (EnumPropertyOfHitTestBehavior = dart.constFn(diagnostics.EnumProperty$(proxy_box.HitTestBehavior)))();
  let AnimationOfdouble = () => (AnimationOfdouble = dart.constFn(animation.Animation$(core.double)))();
  let DiagnosticsPropertyOfAnimationOfdouble = () => (DiagnosticsPropertyOfAnimationOfdouble = dart.constFn(diagnostics.DiagnosticsProperty$(AnimationOfdouble())))();
  let CustomClipperOfPath = () => (CustomClipperOfPath = dart.constFn(proxy_box.CustomClipper$(ui.Path)))();
  let DiagnosticsPropertyOfBoxShape = () => (DiagnosticsPropertyOfBoxShape = dart.constFn(diagnostics.DiagnosticsProperty$(box_border.BoxShape)))();
  let DiagnosticsPropertyOfBorderRadius = () => (DiagnosticsPropertyOfBorderRadius = dart.constFn(diagnostics.DiagnosticsProperty$(border_radius.BorderRadius)))();
  let DiagnosticsPropertyOfCustomClipperOfPath = () => (DiagnosticsPropertyOfCustomClipperOfPath = dart.constFn(diagnostics.DiagnosticsProperty$(CustomClipperOfPath())))();
  let DiagnosticsPropertyOfDecoration = () => (DiagnosticsPropertyOfDecoration = dart.constFn(diagnostics.DiagnosticsProperty$(decoration.Decoration)))();
  let DiagnosticsPropertyOfBoxPainter = () => (DiagnosticsPropertyOfBoxPainter = dart.constFn(diagnostics.DiagnosticsProperty$(decoration.BoxPainter)))();
  let DiagnosticsPropertyOfImageConfiguration = () => (DiagnosticsPropertyOfImageConfiguration = dart.constFn(diagnostics.DiagnosticsProperty$(image_provider.ImageConfiguration)))();
  let EnumPropertyOfBoxFit = () => (EnumPropertyOfBoxFit = dart.constFn(diagnostics.EnumProperty$(box_fit.BoxFit)))();
  let FlagsSummaryOfFunction = () => (FlagsSummaryOfFunction = dart.constFn(diagnostics.FlagsSummary$(core.Function)))();
  let IdentityMapOfString$Function = () => (IdentityMapOfString$Function = dart.constFn(_js_helper.IdentityMap$(core.String, core.Function)))();
  let AnnotatedRegionLayerOfMouseTrackerAnnotation = () => (AnnotatedRegionLayerOfMouseTrackerAnnotation = dart.constFn(layer$.AnnotatedRegionLayer$(mouse_tracking.MouseTrackerAnnotation)))();
  let IterablePropertyOfString = () => (IterablePropertyOfString = dart.constFn(diagnostics.IterableProperty$(core.String)))();
  let DiagnosticsPropertyOfint = () => (DiagnosticsPropertyOfint = dart.constFn(diagnostics.DiagnosticsProperty$(core.int)))();
  let PointerHoverEventToNull = () => (PointerHoverEventToNull = dart.constFn(dart.fnType(core.Null, [events.PointerHoverEvent])))();
  let FactoryOfOneSequenceGestureRecognizer = () => (FactoryOfOneSequenceGestureRecognizer = dart.constFn(basic_types.Factory$(recognizer.OneSequenceGestureRecognizer)))();
  let FactoryOfOneSequenceGestureRecognizerToOneSequenceGestureRecognizer = () => (FactoryOfOneSequenceGestureRecognizerToOneSequenceGestureRecognizer = dart.constFn(dart.fnType(recognizer.OneSequenceGestureRecognizer, [FactoryOfOneSequenceGestureRecognizer()])))();
  let ListOfPointerEvent = () => (ListOfPointerEvent = dart.constFn(core.List$(events.PointerEvent)))();
  let IdentityMapOfint$ListOfPointerEvent = () => (IdentityMapOfint$ListOfPointerEvent = dart.constFn(_js_helper.IdentityMap$(core.int, ListOfPointerEvent())))();
  let LinkedHashSetOfint = () => (LinkedHashSetOfint = dart.constFn(collection.LinkedHashSet$(core.int)))();
  let JSArrayOfPointerEvent = () => (JSArrayOfPointerEvent = dart.constFn(_interceptors.JSArray$(events.PointerEvent)))();
  let IdentityMapOfint$AndroidPointerCoords = () => (IdentityMapOfint$AndroidPointerCoords = dart.constFn(_js_helper.IdentityMap$(core.int, platform_views.AndroidPointerCoords)))();
  let IdentityMapOfint$AndroidPointerProperties = () => (IdentityMapOfint$AndroidPointerProperties = dart.constFn(_js_helper.IdentityMap$(core.int, platform_views.AndroidPointerProperties)))();
  let intToAndroidPointerProperties = () => (intToAndroidPointerProperties = dart.constFn(dart.fnType(platform_views.AndroidPointerProperties, [core.int])))();
  let intToAndroidPointerCoords = () => (intToAndroidPointerCoords = dart.constFn(dart.fnType(platform_views.AndroidPointerCoords, [core.int])))();
  let JSArrayOfRenderBox = () => (JSArrayOfRenderBox = dart.constFn(_interceptors.JSArray$(box.RenderBox)))();
  let JSArrayOfint = () => (JSArrayOfint = dart.constFn(_interceptors.JSArray$(core.int)))();
  let PaintingContextAndOffsetTovoid = () => (PaintingContextAndOffsetTovoid = dart.constFn(dart.fnType(dart.void, [object$.PaintingContext, ui.Offset])))();
  let IdentityMapOfint$RenderBox = () => (IdentityMapOfint$RenderBox = dart.constFn(_js_helper.IdentityMap$(core.int, box.RenderBox)))();
  let SliverConstraintsToNull = () => (SliverConstraintsToNull = dart.constFn(dart.fnType(core.Null, [sliver$.SliverConstraints])))();
  let RenderBoxTobool = () => (RenderBoxTobool = dart.constFn(dart.fnType(core.bool, [box.RenderBox])))();
  let DiagnosticsPropertyOfSliverGeometry = () => (DiagnosticsPropertyOfSliverGeometry = dart.constFn(diagnostics.DiagnosticsProperty$(sliver$.SliverGeometry)))();
  let boolAndStringTovoid = () => (boolAndStringTovoid = dart.constFn(dart.fnType(dart.void, [core.bool, core.String])))();
  let doubleAndString__Tovoid = () => (doubleAndString__Tovoid = dart.constFn(dart.fnType(dart.void, [core.double, core.String], {mustBeNegative: core.bool, mustBePositive: core.bool}, {})))();
  let DiagnosticsPropertyOfSliverConstraints = () => (DiagnosticsPropertyOfSliverConstraints = dart.constFn(diagnostics.DiagnosticsProperty$(sliver$.SliverConstraints)))();
  let boolAndString__Tovoid = () => (boolAndString__Tovoid = dart.constFn(dart.fnType(dart.void, [core.bool, core.String], {details: ListOfDiagnosticsNode()}, {})))();
  let RenderSliverTobool = () => (RenderSliverTobool = dart.constFn(dart.fnType(core.bool, [sliver$.RenderSliver])))();
  let EnumPropertyOfAxisDirection = () => (EnumPropertyOfAxisDirection = dart.constFn(diagnostics.EnumProperty$(basic_types$.AxisDirection)))();
  let DiagnosticsPropertyOfViewportOffset = () => (DiagnosticsPropertyOfViewportOffset = dart.constFn(diagnostics.DiagnosticsProperty$(viewport_offset.ViewportOffset)))();
  let SyncIterableOfRenderSliver = () => (SyncIterableOfRenderSliver = dart.constFn(_js_helper.SyncIterable$(sliver$.RenderSliver)))();
  let IdentityMapOfint$TableColumnWidth = () => (IdentityMapOfint$TableColumnWidth = dart.constFn(_js_helper.IdentityMap$(core.int, table.TableColumnWidth)))();
  let MapOfint$TableColumnWidth = () => (MapOfint$TableColumnWidth = dart.constFn(core.Map$(core.int, table.TableColumnWidth)))();
  let ListOfDecoration = () => (ListOfDecoration = dart.constFn(core.List$(decoration.Decoration)))();
  let ListOfBoxPainter = () => (ListOfBoxPainter = dart.constFn(core.List$(decoration.BoxPainter)))();
  let _HashSetOfRenderBox = () => (_HashSetOfRenderBox = dart.constFn(collection._HashSet$(box.RenderBox)))();
  let SyncIterableOfRenderBox = () => (SyncIterableOfRenderBox = dart.constFn(_js_helper.SyncIterable$(box.RenderBox)))();
  let ListOfdouble = () => (ListOfdouble = dart.constFn(core.List$(core.double)))();
  let DiagnosticsPropertyOfTableBorder = () => (DiagnosticsPropertyOfTableBorder = dart.constFn(diagnostics.DiagnosticsProperty$(table_border.TableBorder)))();
  let DiagnosticsPropertyOfMapOfint$TableColumnWidth = () => (DiagnosticsPropertyOfMapOfint$TableColumnWidth = dart.constFn(diagnostics.DiagnosticsProperty$(MapOfint$TableColumnWidth())))();
  let DiagnosticsPropertyOfTableColumnWidth = () => (DiagnosticsPropertyOfTableColumnWidth = dart.constFn(diagnostics.DiagnosticsProperty$(table.TableColumnWidth)))();
  let doubleToString = () => (doubleToString = dart.constFn(dart.fnType(core.String, [core.double])))();
  let LinkedMapOfKey$int = () => (LinkedMapOfKey$int = dart.constFn(_js_helper.LinkedMap$(key.Key, core.int)))();
  let LinkedMapOfKey$SemanticsNode = () => (LinkedMapOfKey$SemanticsNode = dart.constFn(_js_helper.LinkedMap$(key.Key, semantics.SemanticsNode)))();
  let DiagnosticsPropertyOfImage = () => (DiagnosticsPropertyOfImage = dart.constFn(diagnostics.DiagnosticsProperty$(ui.Image)))();
  let EnumPropertyOfBlendMode = () => (EnumPropertyOfBlendMode = dart.constFn(diagnostics.EnumProperty$(ui.BlendMode)))();
  let EnumPropertyOfImageRepeat = () => (EnumPropertyOfImageRepeat = dart.constFn(diagnostics.EnumProperty$(decoration_image.ImageRepeat)))();
  let EnumPropertyOfFilterQuality = () => (EnumPropertyOfFilterQuality = dart.constFn(diagnostics.EnumProperty$(ui.FilterQuality)))();
  let JSArrayOf_RunMetrics = () => (JSArrayOf_RunMetrics = dart.constFn(_interceptors.JSArray$(wrap._RunMetrics)))();
  let EnumPropertyOfAxis = () => (EnumPropertyOfAxis = dart.constFn(diagnostics.EnumProperty$(basic_types$.Axis)))();
  let EnumPropertyOfWrapAlignment = () => (EnumPropertyOfWrapAlignment = dart.constFn(diagnostics.EnumProperty$(wrap.WrapAlignment)))();
  let EnumPropertyOfVerticalDirection = () => (EnumPropertyOfVerticalDirection = dart.constFn(diagnostics.EnumProperty$(basic_types$.VerticalDirection)))();
  let ValueNotifierOfbool = () => (ValueNotifierOfbool = dart.constFn(change_notifier.ValueNotifier$(core.bool)))();
  let intToint = () => (intToint = dart.constFn(dart.fnType(core.int, [core.int])))();
  let JSArrayOfTextSelectionPoint = () => (JSArrayOfTextSelectionPoint = dart.constFn(_interceptors.JSArray$(editable.TextSelectionPoint)))();
  let DiagnosticsPropertyOfValueNotifierOfbool = () => (DiagnosticsPropertyOfValueNotifierOfbool = dart.constFn(diagnostics.DiagnosticsProperty$(ValueNotifierOfbool())))();
  let DiagnosticsPropertyOfTextSelection = () => (DiagnosticsPropertyOfTextSelection = dart.constFn(diagnostics.DiagnosticsProperty$(text_editing.TextSelection)))();
  let LinkedHashSetOfLogicalKeyboardKey = () => (LinkedHashSetOfLogicalKeyboardKey = dart.constFn(collection.LinkedHashSet$(keyboard_key.LogicalKeyboardKey)))();
  let _HashSetOfLogicalKeyboardKey = () => (_HashSetOfLogicalKeyboardKey = dart.constFn(collection._HashSet$(keyboard_key.LogicalKeyboardKey)))();
  let TweenOfdouble = () => (TweenOfdouble = dart.constFn(tween.Tween$(core.double)))();
  let BoxConstraintsToNull = () => (BoxConstraintsToNull = dart.constFn(dart.fnType(core.Null, [box.BoxConstraints])))();
  let RenderBoxAnddoubleTodouble = () => (RenderBoxAnddoubleTodouble = dart.constFn(dart.fnType(core.double, [box.RenderBox, core.double])))();
  let EnumPropertyOfMainAxisAlignment = () => (EnumPropertyOfMainAxisAlignment = dart.constFn(diagnostics.EnumProperty$(flex$.MainAxisAlignment)))();
  let EnumPropertyOfMainAxisSize = () => (EnumPropertyOfMainAxisSize = dart.constFn(diagnostics.EnumProperty$(flex$.MainAxisSize)))();
  let EnumPropertyOfCrossAxisAlignment = () => (EnumPropertyOfCrossAxisAlignment = dart.constFn(diagnostics.EnumProperty$(flex$.CrossAxisAlignment)))();
  let DiagnosticsPropertyOfAssertionError = () => (DiagnosticsPropertyOfAssertionError = dart.constFn(diagnostics.DiagnosticsProperty$(core.AssertionError)))();
  let LinkedHashSetOfRenderBox = () => (LinkedHashSetOfRenderBox = dart.constFn(collection.LinkedHashSet$(box.RenderBox)))();
  let LinkedMapOfObject$RenderBox = () => (LinkedMapOfObject$RenderBox = dart.constFn(_js_helper.LinkedMap$(core.Object, box.RenderBox)))();
  const CT = Object.create(null);
  dart.defineLazy(CT, {
    get C0() {
      return C0 = dart.const({
        __proto__: ui.Color.prototype,
        [Color_value]: 4294940672.0
      });
    },
    get C1() {
      return C1 = dart.const({
        __proto__: ui.Clip.prototype,
        [_name]: "Clip.hardEdge",
        index: 1
      });
    },
    get C2() {
      return C2 = dart.const({
        __proto__: ui.Clip.prototype,
        [_name]: "Clip.antiAlias",
        index: 2
      });
    },
    get C3() {
      return C3 = dart.const({
        __proto__: diagnostics.DiagnosticLevel.prototype,
        [_name$]: "DiagnosticLevel.debug",
        index: 2
      });
    },
    get C4() {
      return C4 = dart.const({
        __proto__: core.Duration.prototype,
        [Duration__duration]: 0
      });
    },
    get C5() {
      return C5 = dart.const({
        __proto__: curves.Cubic.prototype,
        [Cubic_d]: 1,
        [Cubic_c]: 0.25,
        [Cubic_b]: 0.1,
        [Cubic_a]: 0.25
      });
    },
    get C6() {
      return C6 = dart.const({
        __proto__: diagnostics.DiagnosticsTreeStyle.prototype,
        [_name$]: "DiagnosticsTreeStyle.shallow",
        index: 10
      });
    },
    get C7() {
      return C7 = dart.const({
        __proto__: ui.Offset.prototype,
        [OffsetBase__dy]: 0,
        [OffsetBase__dx]: 0
      });
    },
    get C8() {
      return C8 = dart.const({
        __proto__: ui.Color.prototype,
        [Color_value]: 4289331200.0
      });
    },
    get C9() {
      return C9 = dart.const({
        __proto__: ui.Clip.prototype,
        [_name]: "Clip.none",
        index: 0
      });
    },
    get C10() {
      return C10 = dart.const({
        __proto__: ui.Color.prototype,
        [Color_value]: 2415956223.0
      });
    },
    get C11() {
      return C11 = dart.const({
        __proto__: ui.Color.prototype,
        [Color_value]: 4278227199.0
      });
    },
    get C12() {
      return C12 = dart.const({
        __proto__: ui.Color.prototype,
        [Color_value]: 2425393296.0
      });
    },
    get C13() {
      return C13 = dart.const({
        __proto__: colors.HSVColor.prototype,
        [HSVColor_value]: 1,
        [HSVColor_saturation]: 1,
        [HSVColor_hue]: 60,
        [HSVColor_alpha]: 0.4
      });
    },
    get C14() {
      return C14 = dart.const({
        __proto__: message_codecs.StandardMessageCodec.prototype
      });
    },
    get C15() {
      return C15 = dart.const({
        __proto__: ui.Size.prototype,
        [OffsetBase__dy]: 0,
        [OffsetBase__dx]: 0
      });
    },
    get C16() {
      return C16 = dart.const({
        __proto__: platform.TargetPlatform.prototype,
        [_name$0]: "TargetPlatform.android",
        index: 0
      });
    },
    get C17() {
      return C17 = dart.const({
        __proto__: platform.TargetPlatform.prototype,
        [_name$0]: "TargetPlatform.fuchsia",
        index: 1
      });
    },
    get C18() {
      return C18 = dart.const({
        __proto__: platform.TargetPlatform.prototype,
        [_name$0]: "TargetPlatform.iOS",
        index: 2
      });
    },
    get C19() {
      return C19 = dart.const({
        __proto__: platform.TargetPlatform.prototype,
        [_name$0]: "TargetPlatform.macOS",
        index: 3
      });
    },
    get C20() {
      return C20 = dart.const({
        __proto__: ui.Color.prototype,
        [Color_value]: 4278255615.0
      });
    },
    get C21() {
      return C21 = dart.const({
        __proto__: ui.Color.prototype,
        [Color_value]: 4294955008.0
      });
    },
    get C22() {
      return C22 = dart.const({
        __proto__: ui.Color.prototype,
        [Color_value]: 4278255360.0
      });
    },
    get C23() {
      return C23 = dart.const({
        __proto__: box._IntrinsicDimension.prototype,
        [_name$1]: "_IntrinsicDimension.minWidth",
        index: 0
      });
    },
    get C24() {
      return C24 = dart.const({
        __proto__: box._IntrinsicDimension.prototype,
        [_name$1]: "_IntrinsicDimension.maxWidth",
        index: 1
      });
    },
    get C25() {
      return C25 = dart.const({
        __proto__: box._IntrinsicDimension.prototype,
        [_name$1]: "_IntrinsicDimension.minHeight",
        index: 2
      });
    },
    get C26() {
      return C26 = dart.const({
        __proto__: box._IntrinsicDimension.prototype,
        [_name$1]: "_IntrinsicDimension.maxHeight",
        index: 3
      });
    },
    get C27() {
      return C27 = dart.constList([C23 || CT.C23, C24 || CT.C24, C25 || CT.C25, C26 || CT.C26], box._IntrinsicDimension);
    },
    get C28() {
      return C28 = dart.const({
        __proto__: alignment.Alignment.prototype,
        [Alignment_y]: 0,
        [Alignment_x]: 0
      });
    },
    get C29() {
      return C29 = dart.const({
        __proto__: ui.Color.prototype,
        [Color_value]: 4294967040.0
      });
    },
    get C30() {
      return C30 = dart.const({
        __proto__: basic_types$.Axis.prototype,
        [_name$2]: "Axis.horizontal",
        index: 0
      });
    },
    get C31() {
      return C31 = dart.const({
        __proto__: basic_types$.Axis.prototype,
        [_name$2]: "Axis.vertical",
        index: 1
      });
    },
    get C32() {
      return C32 = dart.const({
        __proto__: box.BoxConstraints.prototype,
        [maxHeight$]: 1 / 0,
        [minHeight$]: 0,
        [maxWidth$]: 1 / 0,
        [minWidth$]: 0
      });
    },
    get C33() {
      return C33 = dart.const({
        __proto__: ui.Offset.prototype,
        [OffsetBase__dy]: 0,
        [OffsetBase__dx]: 8.5
      });
    },
    get C34() {
      return C34 = dart.const({
        __proto__: ui.Offset.prototype,
        [OffsetBase__dy]: 1,
        [OffsetBase__dx]: 0
      });
    },
    get C35() {
      return C35 = dart.const({
        __proto__: ui.Offset.prototype,
        [OffsetBase__dy]: 8.5,
        [OffsetBase__dx]: 0
      });
    },
    get C36() {
      return C36 = dart.const({
        __proto__: ui.Color.prototype,
        [Color_value]: 3204448256.0
      });
    },
    get C37() {
      return C37 = dart.const({
        __proto__: ui.Color.prototype,
        [Color_value]: 3221225216.0
      });
    },
    get C39() {
      return C39 = dart.const({
        __proto__: ui.FontWeight.prototype,
        [FontWeight_index]: 7
      });
    },
    get C40() {
      return C40 = dart.const({
        __proto__: ui.Color.prototype,
        [Color_value]: 4287627264.0
      });
    },
    get C38() {
      return C38 = dart.const({
        __proto__: text_style.TextStyle.prototype,
        [TextStyle_fontFeatures]: null,
        [TextStyle_shadows]: null,
        [TextStyle_debugLabel]: null,
        [TextStyle_decorationThickness]: null,
        [TextStyle_decorationStyle]: null,
        [TextStyle_decorationColor]: null,
        [TextStyle_decoration]: null,
        [TextStyle_background]: null,
        [TextStyle_foreground]: null,
        [TextStyle_locale]: null,
        [TextStyle_height]: null,
        [TextStyle_textBaseline]: null,
        [TextStyle_wordSpacing]: null,
        [TextStyle_letterSpacing]: null,
        [TextStyle_fontStyle]: null,
        [TextStyle_fontWeight]: C39 || CT.C39,
        [TextStyle_fontSize]: 7.5,
        [TextStyle__package]: null,
        [TextStyle__fontFamilyFallback]: null,
        [TextStyle_fontFamily]: null,
        [TextStyle_backgroundColor]: null,
        [TextStyle_color]: C40 || CT.C40,
        [TextStyle_inherit]: true
      });
    },
    get C41() {
      return C41 = dart.const({
        __proto__: ui.Offset.prototype,
        [OffsetBase__dy]: 10,
        [OffsetBase__dx]: 10
      });
    },
    get C42() {
      return C42 = dart.const({
        __proto__: ui.Color.prototype,
        [Color_value]: 4294967295.0
      });
    },
    get C43() {
      return C43 = dart.const({
        __proto__: stack.RelativeRect.prototype,
        [bottom$]: 0,
        [right$]: 0,
        [top$]: 0,
        [left$]: 0
      });
    },
    get C44() {
      return C44 = dart.const({
        __proto__: stack.StackFit.prototype,
        [_name$3]: "StackFit.loose",
        index: 0
      });
    },
    get C45() {
      return C45 = dart.const({
        __proto__: stack.StackFit.prototype,
        [_name$3]: "StackFit.expand",
        index: 1
      });
    },
    get C46() {
      return C46 = dart.const({
        __proto__: stack.StackFit.prototype,
        [_name$3]: "StackFit.passthrough",
        index: 2
      });
    },
    get C47() {
      return C47 = dart.constList([C44 || CT.C44, C45 || CT.C45, C46 || CT.C46], stack.StackFit);
    },
    get C48() {
      return C48 = dart.const({
        __proto__: stack.Overflow.prototype,
        [_name$3]: "Overflow.visible",
        index: 0
      });
    },
    get C49() {
      return C49 = dart.const({
        __proto__: stack.Overflow.prototype,
        [_name$3]: "Overflow.clip",
        index: 1
      });
    },
    get C50() {
      return C50 = dart.constList([C48 || CT.C48, C49 || CT.C49], stack.Overflow);
    },
    get C51() {
      return C51 = dart.const({
        __proto__: alignment.AlignmentDirectional.prototype,
        [AlignmentDirectional_y]: -1,
        [AlignmentDirectional_start]: -1
      });
    },
    get C52() {
      return C52 = dart.const({
        __proto__: debug_overflow_indicator._OverflowSide.prototype,
        [_name$4]: "_OverflowSide.left",
        index: 0
      });
    },
    get C53() {
      return C53 = dart.const({
        __proto__: debug_overflow_indicator._OverflowSide.prototype,
        [_name$4]: "_OverflowSide.top",
        index: 1
      });
    },
    get C54() {
      return C54 = dart.const({
        __proto__: debug_overflow_indicator._OverflowSide.prototype,
        [_name$4]: "_OverflowSide.bottom",
        index: 2
      });
    },
    get C55() {
      return C55 = dart.const({
        __proto__: debug_overflow_indicator._OverflowSide.prototype,
        [_name$4]: "_OverflowSide.right",
        index: 3
      });
    },
    get C56() {
      return C56 = dart.constList([C52 || CT.C52, C53 || CT.C53, C54 || CT.C54, C55 || CT.C55], debug_overflow_indicator._OverflowSide);
    },
    get C57() {
      return C57 = dart.const({
        __proto__: paragraph.TextOverflow.prototype,
        [_name$5]: "TextOverflow.clip",
        index: 0
      });
    },
    get C58() {
      return C58 = dart.const({
        __proto__: paragraph.TextOverflow.prototype,
        [_name$5]: "TextOverflow.fade",
        index: 1
      });
    },
    get C59() {
      return C59 = dart.const({
        __proto__: paragraph.TextOverflow.prototype,
        [_name$5]: "TextOverflow.ellipsis",
        index: 2
      });
    },
    get C60() {
      return C60 = dart.const({
        __proto__: paragraph.TextOverflow.prototype,
        [_name$5]: "TextOverflow.visible",
        index: 3
      });
    },
    get C61() {
      return C61 = dart.constList([C57 || CT.C57, C58 || CT.C58, C59 || CT.C59, C60 || CT.C60], paragraph.TextOverflow);
    },
    get C62() {
      return C62 = dart.const({
        __proto__: ui.TextAlign.prototype,
        [_name]: "TextAlign.start",
        index: 4
      });
    },
    get C63() {
      return C63 = dart.const({
        __proto__: text_painter.TextWidthBasis.prototype,
        [_name$6]: "TextWidthBasis.parent",
        index: 0
      });
    },
    get C64() {
      return C64 = dart.const({
        __proto__: basic_types$.RenderComparison.prototype,
        [_name$2]: "RenderComparison.identical",
        index: 0
      });
    },
    get C65() {
      return C65 = dart.const({
        __proto__: basic_types$.RenderComparison.prototype,
        [_name$2]: "RenderComparison.metadata",
        index: 1
      });
    },
    get C66() {
      return C66 = dart.const({
        __proto__: basic_types$.RenderComparison.prototype,
        [_name$2]: "RenderComparison.paint",
        index: 2
      });
    },
    get C67() {
      return C67 = dart.const({
        __proto__: basic_types$.RenderComparison.prototype,
        [_name$2]: "RenderComparison.layout",
        index: 3
      });
    },
    get C68() {
      return C68 = dart.const({
        __proto__: ui.PlaceholderAlignment.prototype,
        [_name]: "PlaceholderAlignment.baseline",
        index: 0
      });
    },
    get C69() {
      return C69 = dart.const({
        __proto__: ui.PlaceholderAlignment.prototype,
        [_name]: "PlaceholderAlignment.aboveBaseline",
        index: 1
      });
    },
    get C70() {
      return C70 = dart.const({
        __proto__: ui.PlaceholderAlignment.prototype,
        [_name]: "PlaceholderAlignment.belowBaseline",
        index: 2
      });
    },
    get C71() {
      return C71 = dart.const({
        __proto__: ui.PlaceholderAlignment.prototype,
        [_name]: "PlaceholderAlignment.top",
        index: 3
      });
    },
    get C72() {
      return C72 = dart.const({
        __proto__: ui.PlaceholderAlignment.prototype,
        [_name]: "PlaceholderAlignment.middle",
        index: 5
      });
    },
    get C73() {
      return C73 = dart.const({
        __proto__: ui.PlaceholderAlignment.prototype,
        [_name]: "PlaceholderAlignment.bottom",
        index: 4
      });
    },
    get C74() {
      return C74 = dart.const({
        __proto__: ui.TextDirection.prototype,
        [_name]: "TextDirection.rtl",
        index: 0
      });
    },
    get C75() {
      return C75 = dart.const({
        __proto__: ui.TextDirection.prototype,
        [_name]: "TextDirection.ltr",
        index: 1
      });
    },
    get C76() {
      return C76 = dart.const({
        __proto__: ui.Color.prototype,
        [Color_value]: 16777215
      });
    },
    get C77() {
      return C77 = dart.const({
        __proto__: proxy_box.HitTestBehavior.prototype,
        [_name$7]: "HitTestBehavior.deferToChild",
        index: 0
      });
    },
    get C78() {
      return C78 = dart.const({
        __proto__: proxy_box.HitTestBehavior.prototype,
        [_name$7]: "HitTestBehavior.opaque",
        index: 1
      });
    },
    get C79() {
      return C79 = dart.const({
        __proto__: proxy_box.HitTestBehavior.prototype,
        [_name$7]: "HitTestBehavior.translucent",
        index: 2
      });
    },
    get C80() {
      return C80 = dart.constList([C77 || CT.C77, C78 || CT.C78, C79 || CT.C79], proxy_box.HitTestBehavior);
    },
    get C81() {
      return C81 = dart.const({
        __proto__: ui.BlendMode.prototype,
        [_name]: "BlendMode.modulate",
        index: 13
      });
    },
    get C82() {
      return C82 = dart.const({
        __proto__: ui.Color.prototype,
        [Color_value]: 0
      });
    },
    get C83() {
      return C83 = dart.const({
        __proto__: ui.Color.prototype,
        [Color_value]: 4294902015.0
      });
    },
    get C85() {
      return C85 = dart.const({
        __proto__: text_style.TextStyle.prototype,
        [TextStyle_fontFeatures]: null,
        [TextStyle_shadows]: null,
        [TextStyle_debugLabel]: null,
        [TextStyle_decorationThickness]: null,
        [TextStyle_decorationStyle]: null,
        [TextStyle_decorationColor]: null,
        [TextStyle_decoration]: null,
        [TextStyle_background]: null,
        [TextStyle_foreground]: null,
        [TextStyle_locale]: null,
        [TextStyle_height]: null,
        [TextStyle_textBaseline]: null,
        [TextStyle_wordSpacing]: null,
        [TextStyle_letterSpacing]: null,
        [TextStyle_fontStyle]: null,
        [TextStyle_fontWeight]: null,
        [TextStyle_fontSize]: 14,
        [TextStyle__package]: null,
        [TextStyle__fontFamilyFallback]: null,
        [TextStyle_fontFamily]: null,
        [TextStyle_backgroundColor]: null,
        [TextStyle_color]: C83 || CT.C83,
        [TextStyle_inherit]: true
      });
    },
    get C84() {
      return C84 = dart.const({
        __proto__: text_span.TextSpan.prototype,
        [InlineSpan_style]: C85 || CT.C85,
        [TextSpan_semanticsLabel]: null,
        [TextSpan_recognizer]: null,
        [TextSpan_children]: null,
        [TextSpan_text]: "✂"
      });
    },
    get C87() {
      return C87 = dart.const({
        __proto__: ui.Radius.prototype,
        [Radius_y]: 0,
        [Radius_x]: 0
      });
    },
    get C86() {
      return C86 = dart.const({
        __proto__: border_radius.BorderRadius.prototype,
        [BorderRadius_bottomRight]: C87 || CT.C87,
        [BorderRadius_bottomLeft]: C87 || CT.C87,
        [BorderRadius_topRight]: C87 || CT.C87,
        [BorderRadius_topLeft]: C87 || CT.C87
      });
    },
    get C88() {
      return C88 = dart.const({
        __proto__: box_border.BoxShape.prototype,
        [_name$8]: "BoxShape.rectangle",
        index: 0
      });
    },
    get C89() {
      return C89 = dart.const({
        __proto__: ui.Color.prototype,
        [Color_value]: 4278190080.0
      });
    },
    get C90() {
      return C90 = dart.const({
        __proto__: box_border.BoxShape.prototype,
        [_name$8]: "BoxShape.circle",
        index: 1
      });
    },
    get C91() {
      return C91 = dart.const({
        __proto__: proxy_box.DecorationPosition.prototype,
        [_name$7]: "DecorationPosition.background",
        index: 0
      });
    },
    get C92() {
      return C92 = dart.const({
        __proto__: proxy_box.DecorationPosition.prototype,
        [_name$7]: "DecorationPosition.foreground",
        index: 1
      });
    },
    get C93() {
      return C93 = dart.constList([C91 || CT.C91, C92 || CT.C92], proxy_box.DecorationPosition);
    },
    get C94() {
      return C94 = dart.const({
        __proto__: image_provider.ImageConfiguration.prototype,
        [ImageConfiguration_platform]: null,
        [ImageConfiguration_size]: null,
        [ImageConfiguration_textDirection]: null,
        [ImageConfiguration_locale]: null,
        [ImageConfiguration_devicePixelRatio]: null,
        [ImageConfiguration_bundle]: null
      });
    },
    get C95() {
      return C95 = dart.const({
        __proto__: box_fit.BoxFit.prototype,
        [_name$9]: "BoxFit.contain",
        index: 1
      });
    },
    get C96() {
      return C96 = dart.const({
        __proto__: ui.Rect.prototype,
        [Rect_bottom]: 1 / 0,
        [Rect_right]: 1 / 0,
        [Rect_top]: -1 / 0,
        [Rect_left]: -1 / 0
      });
    },
    get C97() {
      return C97 = dart.const({
        __proto__: platform_view.PlatformViewHitTestBehavior.prototype,
        [_name$10]: "PlatformViewHitTestBehavior.opaque",
        index: 0
      });
    },
    get C98() {
      return C98 = dart.const({
        __proto__: platform_view.PlatformViewHitTestBehavior.prototype,
        [_name$10]: "PlatformViewHitTestBehavior.translucent",
        index: 1
      });
    },
    get C99() {
      return C99 = dart.const({
        __proto__: platform_view.PlatformViewHitTestBehavior.prototype,
        [_name$10]: "PlatformViewHitTestBehavior.transparent",
        index: 2
      });
    },
    get C100() {
      return C100 = dart.constList([C97 || CT.C97, C98 || CT.C98, C99 || CT.C99], platform_view.PlatformViewHitTestBehavior);
    },
    get C101() {
      return C101 = dart.const({
        __proto__: platform_view._PlatformViewState.prototype,
        [_name$10]: "_PlatformViewState.uninitialized",
        index: 0
      });
    },
    get C102() {
      return C102 = dart.const({
        __proto__: platform_view._PlatformViewState.prototype,
        [_name$10]: "_PlatformViewState.resizing",
        index: 1
      });
    },
    get C103() {
      return C103 = dart.const({
        __proto__: platform_view._PlatformViewState.prototype,
        [_name$10]: "_PlatformViewState.ready",
        index: 2
      });
    },
    get C104() {
      return C104 = dart.constList([C101 || CT.C101, C102 || CT.C102, C103 || CT.C103], platform_view._PlatformViewState);
    },
    get C105() {
      return C105 = dart.wrapType(events.PointerDownEvent);
    },
    get C106() {
      return C106 = dart.wrapType(events.PointerUpEvent);
    },
    get C107() {
      return C107 = dart.wrapType(events.PointerMoveEvent);
    },
    get C108() {
      return C108 = dart.wrapType(events.PointerCancelEvent);
    },
    get C109() {
      return C109 = dart.const({
        __proto__: ui.PointerDeviceKind.prototype,
        [_name]: "PointerDeviceKind.touch",
        index: 0
      });
    },
    get C110() {
      return C110 = dart.const({
        __proto__: ui.PointerDeviceKind.prototype,
        [_name]: "PointerDeviceKind.mouse",
        index: 1
      });
    },
    get C111() {
      return C111 = dart.const({
        __proto__: ui.PointerDeviceKind.prototype,
        [_name]: "PointerDeviceKind.stylus",
        index: 2
      });
    },
    get C112() {
      return C112 = dart.const({
        __proto__: ui.PointerDeviceKind.prototype,
        [_name]: "PointerDeviceKind.invertedStylus",
        index: 3
      });
    },
    get C113() {
      return C113 = dart.const({
        __proto__: ui.PointerDeviceKind.prototype,
        [_name]: "PointerDeviceKind.unknown",
        index: 4
      });
    },
    get C114() {
      return C114 = dart.const({
        __proto__: ui.Offset.prototype,
        [OffsetBase__dy]: -1,
        [OffsetBase__dx]: 0
      });
    },
    get C115() {
      return C115 = dart.const({
        __proto__: ui.Offset.prototype,
        [OffsetBase__dy]: 0,
        [OffsetBase__dx]: 1
      });
    },
    get C116() {
      return C116 = dart.const({
        __proto__: basic_types$.AxisDirection.prototype,
        [_name$2]: "AxisDirection.up",
        index: 0
      });
    },
    get C117() {
      return C117 = dart.const({
        __proto__: basic_types$.AxisDirection.prototype,
        [_name$2]: "AxisDirection.right",
        index: 1
      });
    },
    get C118() {
      return C118 = dart.const({
        __proto__: basic_types$.AxisDirection.prototype,
        [_name$2]: "AxisDirection.down",
        index: 2
      });
    },
    get C119() {
      return C119 = dart.const({
        __proto__: ui.Offset.prototype,
        [OffsetBase__dy]: 0,
        [OffsetBase__dx]: -1
      });
    },
    get C120() {
      return C120 = dart.const({
        __proto__: basic_types$.AxisDirection.prototype,
        [_name$2]: "AxisDirection.left",
        index: 3
      });
    },
    get C121() {
      return C121 = dart.const({
        __proto__: sliver$.GrowthDirection.prototype,
        [_name$11]: "GrowthDirection.forward",
        index: 0
      });
    },
    get C122() {
      return C122 = dart.const({
        __proto__: sliver$.GrowthDirection.prototype,
        [_name$11]: "GrowthDirection.reverse",
        index: 1
      });
    },
    get C123() {
      return C123 = dart.const({
        __proto__: ui.Color.prototype,
        [Color_value]: 4281584691.0
      });
    },
    get C124() {
      return C124 = dart.constList([C121 || CT.C121, C122 || CT.C122], sliver$.GrowthDirection);
    },
    get C125() {
      return C125 = dart.const({
        __proto__: sliver$.SliverGeometry.prototype,
        [cacheExtent$]: 0,
        [scrollOffsetCorrection$]: null,
        [hasVisualOverflow$]: false,
        [visible$]: false,
        [hitTestExtent$]: 0,
        [maxScrollObstructionExtent$]: 0,
        [maxPaintExtent$]: 0,
        [layoutExtent$]: 0,
        [paintExtent$]: 0,
        [paintOrigin$]: 0,
        [scrollExtent$]: 0
      });
    },
    get C126() {
      return C126 = dart.const({
        __proto__: viewport_offset.ScrollDirection.prototype,
        [_name$12]: "ScrollDirection.idle",
        index: 0
      });
    },
    get C127() {
      return C127 = dart.const({
        __proto__: viewport_offset.ScrollDirection.prototype,
        [_name$12]: "ScrollDirection.forward",
        index: 1
      });
    },
    get C128() {
      return C128 = dart.const({
        __proto__: viewport_offset.ScrollDirection.prototype,
        [_name$12]: "ScrollDirection.reverse",
        index: 2
      });
    },
    get C129() {
      return C129 = dart.constList([C126 || CT.C126, C127 || CT.C127, C128 || CT.C128], viewport_offset.ScrollDirection);
    },
    get C130() {
      return C130 = dart.const({
        __proto__: viewport.CacheExtentStyle.prototype,
        [_name$13]: "CacheExtentStyle.pixel",
        index: 0
      });
    },
    get C131() {
      return C131 = dart.const({
        __proto__: viewport.CacheExtentStyle.prototype,
        [_name$13]: "CacheExtentStyle.viewport",
        index: 1
      });
    },
    get C132() {
      return C132 = dart.constList([C130 || CT.C130, C131 || CT.C131], viewport.CacheExtentStyle);
    },
    get C133() {
      return C133 = dart.const({
        __proto__: semantics.SemanticsTag.prototype,
        [SemanticsTag_name]: "RenderViewport.twoPane"
      });
    },
    get C134() {
      return C134 = dart.const({
        __proto__: semantics.SemanticsTag.prototype,
        [SemanticsTag_name]: "RenderViewport.excludeFromScrolling"
      });
    },
    get C135() {
      return C135 = dart.const({
        __proto__: animated_size.RenderAnimatedSizeState.prototype,
        [_name$14]: "RenderAnimatedSizeState.start",
        index: 0
      });
    },
    get C136() {
      return C136 = dart.const({
        __proto__: animated_size.RenderAnimatedSizeState.prototype,
        [_name$14]: "RenderAnimatedSizeState.stable",
        index: 1
      });
    },
    get C137() {
      return C137 = dart.const({
        __proto__: animated_size.RenderAnimatedSizeState.prototype,
        [_name$14]: "RenderAnimatedSizeState.changed",
        index: 2
      });
    },
    get C138() {
      return C138 = dart.const({
        __proto__: animated_size.RenderAnimatedSizeState.prototype,
        [_name$14]: "RenderAnimatedSizeState.unstable",
        index: 3
      });
    },
    get C139() {
      return C139 = dart.constList([C135 || CT.C135, C136 || CT.C136, C137 || CT.C137, C138 || CT.C138], animated_size.RenderAnimatedSizeState);
    },
    get C140() {
      return C140 = dart.const({
        __proto__: curves._Linear.prototype
      });
    },
    get C141() {
      return C141 = dart.const({
        __proto__: table.TableCellVerticalAlignment.prototype,
        [_name$15]: "TableCellVerticalAlignment.top",
        index: 0
      });
    },
    get C142() {
      return C142 = dart.const({
        __proto__: table.TableCellVerticalAlignment.prototype,
        [_name$15]: "TableCellVerticalAlignment.middle",
        index: 1
      });
    },
    get C143() {
      return C143 = dart.const({
        __proto__: table.TableCellVerticalAlignment.prototype,
        [_name$15]: "TableCellVerticalAlignment.bottom",
        index: 2
      });
    },
    get C144() {
      return C144 = dart.const({
        __proto__: table.TableCellVerticalAlignment.prototype,
        [_name$15]: "TableCellVerticalAlignment.baseline",
        index: 3
      });
    },
    get C145() {
      return C145 = dart.const({
        __proto__: table.TableCellVerticalAlignment.prototype,
        [_name$15]: "TableCellVerticalAlignment.fill",
        index: 4
      });
    },
    get C146() {
      return C146 = dart.constList([C141 || CT.C141, C142 || CT.C142, C143 || CT.C143, C144 || CT.C144, C145 || CT.C145], table.TableCellVerticalAlignment);
    },
    get C147() {
      return C147 = dart.const({
        __proto__: table.FlexColumnWidth.prototype,
        [value$2]: 1
      });
    },
    get C148() {
      return C148 = dart.constList([], box.RenderBox);
    },
    get C149() {
      return C149 = dart.constList([], decoration.Decoration);
    },
    get C150() {
      return C150 = dart.constList([], core.double);
    },
    get C151() {
      return C151 = dart.fn(debug.debugFormatDouble, doubleToString());
    },
    get C153() {
      return C153 = dart.const({
        __proto__: borders.BorderStyle.prototype,
        [_name$16]: "BorderStyle.none",
        index: 0
      });
    },
    get C152() {
      return C152 = dart.const({
        __proto__: borders.BorderSide.prototype,
        [BorderSide_style]: C153 || CT.C153,
        [BorderSide_width]: 0,
        [BorderSide_color]: C89 || CT.C89
      });
    },
    get C154() {
      return C154 = dart.const({
        __proto__: borders.BorderStyle.prototype,
        [_name$16]: "BorderStyle.solid",
        index: 1
      });
    },
    get C155() {
      return C155 = dart.constList([], custom_paint.CustomPainterSemantics);
    },
    get C156() {
      return C156 = dart.constList([], semantics.SemanticsNode);
    },
    get C157() {
      return C157 = dart.const({
        __proto__: decoration_image.ImageRepeat.prototype,
        [_name$17]: "ImageRepeat.noRepeat",
        index: 3
      });
    },
    get C158() {
      return C158 = dart.const({
        __proto__: ui.FilterQuality.prototype,
        [_name]: "FilterQuality.low",
        index: 1
      });
    },
    get C159() {
      return C159 = dart.const({
        __proto__: wrap.WrapAlignment.prototype,
        [_name$18]: "WrapAlignment.start",
        index: 0
      });
    },
    get C160() {
      return C160 = dart.const({
        __proto__: wrap.WrapAlignment.prototype,
        [_name$18]: "WrapAlignment.end",
        index: 1
      });
    },
    get C161() {
      return C161 = dart.const({
        __proto__: wrap.WrapAlignment.prototype,
        [_name$18]: "WrapAlignment.center",
        index: 2
      });
    },
    get C162() {
      return C162 = dart.const({
        __proto__: wrap.WrapAlignment.prototype,
        [_name$18]: "WrapAlignment.spaceBetween",
        index: 3
      });
    },
    get C163() {
      return C163 = dart.const({
        __proto__: wrap.WrapAlignment.prototype,
        [_name$18]: "WrapAlignment.spaceAround",
        index: 4
      });
    },
    get C164() {
      return C164 = dart.const({
        __proto__: wrap.WrapAlignment.prototype,
        [_name$18]: "WrapAlignment.spaceEvenly",
        index: 5
      });
    },
    get C165() {
      return C165 = dart.constList([C159 || CT.C159, C160 || CT.C160, C161 || CT.C161, C162 || CT.C162, C163 || CT.C163, C164 || CT.C164], wrap.WrapAlignment);
    },
    get C166() {
      return C166 = dart.const({
        __proto__: wrap.WrapCrossAlignment.prototype,
        [_name$18]: "WrapCrossAlignment.start",
        index: 0
      });
    },
    get C167() {
      return C167 = dart.const({
        __proto__: wrap.WrapCrossAlignment.prototype,
        [_name$18]: "WrapCrossAlignment.end",
        index: 1
      });
    },
    get C168() {
      return C168 = dart.const({
        __proto__: wrap.WrapCrossAlignment.prototype,
        [_name$18]: "WrapCrossAlignment.center",
        index: 2
      });
    },
    get C169() {
      return C169 = dart.constList([C166 || CT.C166, C167 || CT.C167, C168 || CT.C168], wrap.WrapCrossAlignment);
    },
    get C170() {
      return C170 = dart.const({
        __proto__: basic_types$.VerticalDirection.prototype,
        [_name$2]: "VerticalDirection.down",
        index: 1
      });
    },
    get C171() {
      return C171 = dart.const({
        __proto__: editable.SelectionChangedCause.prototype,
        [_name$19]: "SelectionChangedCause.tap",
        index: 0
      });
    },
    get C172() {
      return C172 = dart.const({
        __proto__: editable.SelectionChangedCause.prototype,
        [_name$19]: "SelectionChangedCause.doubleTap",
        index: 1
      });
    },
    get C173() {
      return C173 = dart.const({
        __proto__: editable.SelectionChangedCause.prototype,
        [_name$19]: "SelectionChangedCause.longPress",
        index: 2
      });
    },
    get C174() {
      return C174 = dart.const({
        __proto__: editable.SelectionChangedCause.prototype,
        [_name$19]: "SelectionChangedCause.forcePress",
        index: 3
      });
    },
    get C175() {
      return C175 = dart.const({
        __proto__: editable.SelectionChangedCause.prototype,
        [_name$19]: "SelectionChangedCause.keyboard",
        index: 4
      });
    },
    get C176() {
      return C176 = dart.const({
        __proto__: editable.SelectionChangedCause.prototype,
        [_name$19]: "SelectionChangedCause.drag",
        index: 5
      });
    },
    get C177() {
      return C177 = dart.constList([C171 || CT.C171, C172 || CT.C172, C173 || CT.C173, C174 || CT.C174, C175 || CT.C175, C176 || CT.C176], editable.SelectionChangedCause);
    },
    get C178() {
      return C178 = dart.const({
        __proto__: edge_insets.EdgeInsets.prototype,
        [EdgeInsets_bottom]: 5,
        [EdgeInsets_right]: 4,
        [EdgeInsets_top]: 4,
        [EdgeInsets_left]: 4
      });
    },
    get C179() {
      return C179 = dart.const({
        __proto__: ui.Radius.prototype,
        [Radius_y]: 1,
        [Radius_x]: 1
      });
    },
    get C180() {
      return C180 = dart.const({
        __proto__: ui.Offset.prototype,
        [OffsetBase__dy]: 1,
        [OffsetBase__dx]: 0.5
      });
    },
    get C181() {
      return C181 = dart.const({
        __proto__: core.Duration.prototype,
        [Duration__duration]: 300000
      });
    },
    get C182() {
      return C182 = dart.const({
        __proto__: ui.Size.prototype,
        [OffsetBase__dy]: 100000,
        [OffsetBase__dx]: 100000
      });
    },
    get C183() {
      return C183 = dart.const({
        __proto__: ui.Color.prototype,
        [Color_value]: 4039164096.0
      });
    },
    get C184() {
      return C184 = dart.const({
        __proto__: ui.Color.prototype,
        [Color_value]: 4035969024.0
      });
    },
    get C185() {
      return C185 = dart.const({
        __proto__: ui.Color.prototype,
        [Color_value]: 4281348144.0
      });
    },
    get C186() {
      return C186 = dart.const({
        __proto__: ui.Color.prototype,
        [Color_value]: 4294967142.0
      });
    },
    get C187() {
      return C187 = dart.const({
        __proto__: edge_insets.EdgeInsets.prototype,
        [EdgeInsets_bottom]: 12,
        [EdgeInsets_right]: 64,
        [EdgeInsets_top]: 96,
        [EdgeInsets_left]: 64
      });
    },
    get C188() {
      return C188 = dart.const({
        __proto__: flex$.FlexFit.prototype,
        [_name$20]: "FlexFit.tight",
        index: 0
      });
    },
    get C189() {
      return C189 = dart.const({
        __proto__: flex$.FlexFit.prototype,
        [_name$20]: "FlexFit.loose",
        index: 1
      });
    },
    get C190() {
      return C190 = dart.constList([C188 || CT.C188, C189 || CT.C189], flex$.FlexFit);
    },
    get C191() {
      return C191 = dart.const({
        __proto__: flex$.MainAxisSize.prototype,
        [_name$20]: "MainAxisSize.min",
        index: 0
      });
    },
    get C192() {
      return C192 = dart.const({
        __proto__: flex$.MainAxisSize.prototype,
        [_name$20]: "MainAxisSize.max",
        index: 1
      });
    },
    get C193() {
      return C193 = dart.constList([C191 || CT.C191, C192 || CT.C192], flex$.MainAxisSize);
    },
    get C194() {
      return C194 = dart.const({
        __proto__: flex$.MainAxisAlignment.prototype,
        [_name$20]: "MainAxisAlignment.start",
        index: 0
      });
    },
    get C195() {
      return C195 = dart.const({
        __proto__: flex$.MainAxisAlignment.prototype,
        [_name$20]: "MainAxisAlignment.end",
        index: 1
      });
    },
    get C196() {
      return C196 = dart.const({
        __proto__: flex$.MainAxisAlignment.prototype,
        [_name$20]: "MainAxisAlignment.center",
        index: 2
      });
    },
    get C197() {
      return C197 = dart.const({
        __proto__: flex$.MainAxisAlignment.prototype,
        [_name$20]: "MainAxisAlignment.spaceBetween",
        index: 3
      });
    },
    get C198() {
      return C198 = dart.const({
        __proto__: flex$.MainAxisAlignment.prototype,
        [_name$20]: "MainAxisAlignment.spaceAround",
        index: 4
      });
    },
    get C199() {
      return C199 = dart.const({
        __proto__: flex$.MainAxisAlignment.prototype,
        [_name$20]: "MainAxisAlignment.spaceEvenly",
        index: 5
      });
    },
    get C200() {
      return C200 = dart.constList([C194 || CT.C194, C195 || CT.C195, C196 || CT.C196, C197 || CT.C197, C198 || CT.C198, C199 || CT.C199], flex$.MainAxisAlignment);
    },
    get C201() {
      return C201 = dart.const({
        __proto__: flex$.CrossAxisAlignment.prototype,
        [_name$20]: "CrossAxisAlignment.start",
        index: 0
      });
    },
    get C202() {
      return C202 = dart.const({
        __proto__: flex$.CrossAxisAlignment.prototype,
        [_name$20]: "CrossAxisAlignment.end",
        index: 1
      });
    },
    get C203() {
      return C203 = dart.const({
        __proto__: flex$.CrossAxisAlignment.prototype,
        [_name$20]: "CrossAxisAlignment.center",
        index: 2
      });
    },
    get C204() {
      return C204 = dart.const({
        __proto__: flex$.CrossAxisAlignment.prototype,
        [_name$20]: "CrossAxisAlignment.stretch",
        index: 3
      });
    },
    get C205() {
      return C205 = dart.const({
        __proto__: flex$.CrossAxisAlignment.prototype,
        [_name$20]: "CrossAxisAlignment.baseline",
        index: 4
      });
    },
    get C206() {
      return C206 = dart.constList([C201 || CT.C201, C202 || CT.C202, C203 || CT.C203, C204 || CT.C204, C205 || CT.C205], flex$.CrossAxisAlignment);
    },
    get C207() {
      return C207 = dart.const({
        __proto__: basic_types$.VerticalDirection.prototype,
        [_name$2]: "VerticalDirection.up",
        index: 0
      });
    },
    get C208() {
      return C208 = dart.const({
        __proto__: performance_overlay.PerformanceOverlayOption.prototype,
        [_name$21]: "PerformanceOverlayOption.displayRasterizerStatistics",
        index: 0
      });
    },
    get C209() {
      return C209 = dart.const({
        __proto__: performance_overlay.PerformanceOverlayOption.prototype,
        [_name$21]: "PerformanceOverlayOption.visualizeRasterizerStatistics",
        index: 1
      });
    },
    get C210() {
      return C210 = dart.const({
        __proto__: performance_overlay.PerformanceOverlayOption.prototype,
        [_name$21]: "PerformanceOverlayOption.displayEngineStatistics",
        index: 2
      });
    },
    get C211() {
      return C211 = dart.const({
        __proto__: performance_overlay.PerformanceOverlayOption.prototype,
        [_name$21]: "PerformanceOverlayOption.visualizeEngineStatistics",
        index: 3
      });
    },
    get C212() {
      return C212 = dart.constList([C208 || CT.C208, C209 || CT.C209, C210 || CT.C210, C211 || CT.C211], performance_overlay.PerformanceOverlayOption);
    }
  });
  object$.ParentData = class ParentData extends core.Object {
    detach() {
    }
    toString() {
      return "<none>";
    }
  };
  (object$.ParentData.new = function() {
    ;
  }).prototype = object$.ParentData.prototype;
  dart.addTypeTests(object$.ParentData);
  dart.setMethodSignature(object$.ParentData, () => ({
    __proto__: dart.getMethods(object$.ParentData.__proto__),
    detach: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(object$.ParentData, "package:flutter/src/rendering/object.dart");
  dart.defineExtensionMethods(object$.ParentData, ['toString']);
  const _currentLayer = dart.privateName(object$, "_currentLayer");
  const _recorder = dart.privateName(object$, "_recorder");
  const _canvas = dart.privateName(object$, "_canvas");
  const _containerLayer$ = dart.privateName(object$, "_containerLayer");
  const _needsPaint = dart.privateName(object$, "_needsPaint");
  const _layer = dart.privateName(object$, "_layer");
  const _paintWithContext = dart.privateName(object$, "_paintWithContext");
  const _compositeChild = dart.privateName(object$, "_compositeChild");
  const _isRecording = dart.privateName(object$, "_isRecording");
  const _startRecording = dart.privateName(object$, "_startRecording");
  const Color_value = dart.privateName(ui, "Color.value");
  let C0;
  const _name = dart.privateName(ui, "_name");
  let C1;
  let C2;
  const estimatedBounds$ = dart.privateName(object$, "PaintingContext.estimatedBounds");
  object$.PaintingContext = class PaintingContext extends clip.ClipContext {
    get estimatedBounds() {
      return this[estimatedBounds$];
    }
    set estimatedBounds(value) {
      super.estimatedBounds = value;
    }
    static repaintCompositedChild(child, opts) {
      let debugAlsoPaintedParent = opts && 'debugAlsoPaintedParent' in opts ? opts.debugAlsoPaintedParent : false;
      if (!dart.test(child[_needsPaint])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 94, 12, "child._needsPaint");
      object$.PaintingContext._repaintCompositedChild(child, {debugAlsoPaintedParent: debugAlsoPaintedParent});
    }
    static _repaintCompositedChild(child, opts) {
      let debugAlsoPaintedParent = opts && 'debugAlsoPaintedParent' in opts ? opts.debugAlsoPaintedParent : false;
      let childContext = opts && 'childContext' in opts ? opts.childContext : null;
      if (!dart.test(child.isRepaintBoundary)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 106, 12, "child.isRepaintBoundary");
      if (!dart.test(dart.fn(() => {
        child.debugRegisterRepaintBoundaryPaint({includedParent: debugAlsoPaintedParent, includedChild: true});
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 107, 12, "() {\r\n      // register the call for RepaintBoundary metrics\r\n      child.debugRegisterRepaintBoundaryPaint(\r\n        includedParent: debugAlsoPaintedParent,\r\n        includedChild: true,\r\n      );\r\n      return true;\r\n    }()");
      let childLayer = layer$.OffsetLayer.as(child[_layer]);
      if (childLayer == null) {
        if (!dart.test(debugAlsoPaintedParent)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 117, 14, "debugAlsoPaintedParent");
        child[_layer] = childLayer = new layer$.OffsetLayer.new();
      } else {
        if (!layer$.OffsetLayer.is(childLayer)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 124, 14, "childLayer is OffsetLayer");
        if (!(dart.test(debugAlsoPaintedParent) || dart.test(childLayer.attached))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 125, 14, "debugAlsoPaintedParent || childLayer.attached");
        childLayer.removeAllChildren();
      }
      if (!(childLayer == child[_layer])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 128, 12, "identical(childLayer, child._layer)");
      if (!layer$.OffsetLayer.is(child[_layer])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 129, 12, "child._layer is OffsetLayer");
      if (!dart.test(dart.fn(() => {
        let t0;
        child[_layer].debugCreator = (t0 = child.debugCreator, t0 == null ? dart.runtimeType(child) : t0);
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 130, 12, "() {\r\n      child._layer.debugCreator = child.debugCreator ?? child.runtimeType;\r\n      return true;\r\n    }()");
      childContext == null ? childContext = new object$.PaintingContext.new(child[_layer], child.paintBounds) : null;
      child[_paintWithContext](childContext, ui.Offset.zero);
      if (!(childLayer == child[_layer])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 139, 12, "identical(childLayer, child._layer)");
      childContext.stopRecordingIfNeeded();
    }
    static debugInstrumentRepaintCompositedChild(child, opts) {
      let debugAlsoPaintedParent = opts && 'debugAlsoPaintedParent' in opts ? opts.debugAlsoPaintedParent : false;
      let customContext = opts && 'customContext' in opts ? opts.customContext : null;
      if (!dart.test(dart.fn(() => {
        object$.PaintingContext._repaintCompositedChild(child, {debugAlsoPaintedParent: debugAlsoPaintedParent, childContext: customContext});
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 156, 12, "() {\r\n      _repaintCompositedChild(\r\n        child,\r\n        debugAlsoPaintedParent: debugAlsoPaintedParent,\r\n        childContext: customContext,\r\n      );\r\n      return true;\r\n    }()");
    }
    paintChild(child, offset) {
      if (!dart.test(dart.fn(() => {
        if (dart.test(debug$0.debugProfilePaintsEnabled)) developer.Timeline.startSync(dart.str(dart.runtimeType(child)), {arguments: debug.timelineWhitelistArguments});
        if (debug$0.debugOnProfilePaint != null) debug$0.debugOnProfilePaint(child);
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 172, 12, "() {\r\n      if (debugProfilePaintsEnabled)\r\n        Timeline.startSync('${child.runtimeType}', arguments: timelineWhitelistArguments);\r\n      if (debugOnProfilePaint != null)\r\n        debugOnProfilePaint(child);\r\n      return true;\r\n    }()");
      if (dart.test(child.isRepaintBoundary)) {
        this.stopRecordingIfNeeded();
        this[_compositeChild](child, offset);
      } else {
        child[_paintWithContext](this, offset);
      }
      if (!dart.test(dart.fn(() => {
        if (dart.test(debug$0.debugProfilePaintsEnabled)) developer.Timeline.finishSync();
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 187, 12, "() {\r\n      if (debugProfilePaintsEnabled)\r\n        Timeline.finishSync();\r\n      return true;\r\n    }()");
    }
    [_compositeChild](child, offset) {
      if (!!dart.test(this[_isRecording])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 195, 12, "!_isRecording");
      if (!dart.test(child.isRepaintBoundary)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 196, 12, "child.isRepaintBoundary");
      if (!(this[_canvas] == null || this[_canvas].getSaveCount() === 1)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 197, 12, "_canvas == null || _canvas.getSaveCount() == 1");
      if (dart.test(child[_needsPaint])) {
        object$.PaintingContext.repaintCompositedChild(child, {debugAlsoPaintedParent: true});
      } else {
        if (!dart.test(dart.fn(() => {
          let t0;
          child.debugRegisterRepaintBoundaryPaint({includedParent: true, includedChild: false});
          child[_layer].debugCreator = (t0 = child.debugCreator, t0 == null ? child : t0);
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 203, 14, "() {\r\n        // register the call for RepaintBoundary metrics\r\n        child.debugRegisterRepaintBoundaryPaint(\r\n          includedParent: true,\r\n          includedChild: false,\r\n        );\r\n        child._layer.debugCreator = child.debugCreator ?? child;\r\n        return true;\r\n      }()");
      }
      if (!layer$.OffsetLayer.is(child[_layer])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 213, 12, "child._layer is OffsetLayer");
      let childOffsetLayer = layer$.OffsetLayer.as(child[_layer]);
      childOffsetLayer.offset = offset;
      this.appendLayer(child[_layer]);
    }
    appendLayer(layer) {
      if (!!dart.test(this[_isRecording])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 230, 12, "!_isRecording");
      layer.remove();
      this[_containerLayer$].append(layer);
    }
    get [_isRecording]() {
      let hasCanvas = this[_canvas] != null;
      if (!dart.test(dart.fn(() => {
        if (hasCanvas) {
          if (!(this[_currentLayer] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 239, 16, "_currentLayer != null");
          if (!(this[_recorder] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 240, 16, "_recorder != null");
          if (!(this[_canvas] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 241, 16, "_canvas != null");
        } else {
          if (!(this[_currentLayer] == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 243, 16, "_currentLayer == null");
          if (!(this[_recorder] == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 244, 16, "_recorder == null");
          if (!(this[_canvas] == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 245, 16, "_canvas == null");
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 237, 12, "() {\r\n      if (hasCanvas) {\r\n        assert(_currentLayer != null);\r\n        assert(_recorder != null);\r\n        assert(_canvas != null);\r\n      } else {\r\n        assert(_currentLayer == null);\r\n        assert(_recorder == null);\r\n        assert(_canvas == null);\r\n      }\r\n      return true;\r\n    }()");
      return hasCanvas;
    }
    get canvas() {
      if (this[_canvas] == null) this[_startRecording]();
      return this[_canvas];
    }
    [_startRecording]() {
      if (!!dart.test(this[_isRecording])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 270, 12, "!_isRecording");
      this[_currentLayer] = new layer$.PictureLayer.new(this.estimatedBounds);
      this[_recorder] = ui.PictureRecorder.new();
      this[_canvas] = ui.Canvas.new(this[_recorder]);
      this[_containerLayer$].append(this[_currentLayer]);
    }
    stopRecordingIfNeeded() {
      if (!dart.test(this[_isRecording])) return;
      if (!dart.test(dart.fn(() => {
        let t0, t0$;
        if (dart.test(debug$0.debugRepaintRainbowEnabled)) {
          let paint = (t0 = ui.Paint.new(), t0.style = ui.PaintingStyle.stroke, t0.strokeWidth = 6.0, t0.color = debug$0.debugCurrentRepaintColor.toColor(), t0);
          this.canvas.drawRect(this.estimatedBounds.deflate(3.0), paint);
        }
        if (dart.test(debug$0.debugPaintLayerBordersEnabled)) {
          let paint = (t0$ = ui.Paint.new(), t0$.style = ui.PaintingStyle.stroke, t0$.strokeWidth = 1.0, t0$.color = C0 || CT.C0, t0$);
          this.canvas.drawRect(this.estimatedBounds, paint);
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 292, 12, "() {\r\n      if (debugRepaintRainbowEnabled) {\r\n        final Paint paint = Paint()\r\n          ..style = PaintingStyle.stroke\r\n          ..strokeWidth = 6.0\r\n          ..color = debugCurrentRepaintColor.toColor();\r\n        canvas.drawRect(estimatedBounds.deflate(3.0), paint);\r\n      }\r\n      if (debugPaintLayerBordersEnabled) {\r\n        final Paint paint = Paint()\r\n          ..style = PaintingStyle.stroke\r\n          ..strokeWidth = 1.0\r\n          ..color = const Color(0xFFFF9800);\r\n        canvas.drawRect(estimatedBounds, paint);\r\n      }\r\n      return true;\r\n    }()");
      this[_currentLayer].picture = this[_recorder].endRecording();
      this[_currentLayer] = null;
      this[_recorder] = null;
      this[_canvas] = null;
    }
    setIsComplexHint() {
      let t0;
      t0 = this[_currentLayer];
      t0 == null ? null : t0.isComplexHint = true;
    }
    setWillChangeHint() {
      let t0;
      t0 = this[_currentLayer];
      t0 == null ? null : t0.willChangeHint = true;
    }
    addLayer(layer) {
      this.stopRecordingIfNeeded();
      this.appendLayer(layer);
    }
    pushLayer(childLayer, painter, offset, opts) {
      let t0;
      let childPaintBounds = opts && 'childPaintBounds' in opts ? opts.childPaintBounds : null;
      if (!(painter != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 382, 12, "painter != null");
      if (dart.test(childLayer.hasChildren)) {
        childLayer.removeAllChildren();
      }
      this.stopRecordingIfNeeded();
      this.appendLayer(childLayer);
      let childContext = this.createChildContext(childLayer, (t0 = childPaintBounds, t0 == null ? this.estimatedBounds : t0));
      painter(childContext, offset);
      childContext.stopRecordingIfNeeded();
    }
    createChildContext(childLayer, bounds) {
      return new object$.PaintingContext.new(childLayer, bounds);
    }
    pushClipRect(needsCompositing, offset, clipRect, painter, opts) {
      let t0, t0$;
      let clipBehavior = opts && 'clipBehavior' in opts ? opts.clipBehavior : C1 || CT.C1;
      let oldLayer = opts && 'oldLayer' in opts ? opts.oldLayer : null;
      let offsetClipRect = clipRect.shift(offset);
      if (dart.test(needsCompositing)) {
        let layer = (t0 = oldLayer, t0 == null ? new layer$.ClipRectLayer.new() : t0);
        t0$ = layer;
        t0$.clipRect = offsetClipRect;
        t0$.clipBehavior = clipBehavior;
        t0$;
        this.pushLayer(layer, painter, offset, {childPaintBounds: offsetClipRect});
        return layer;
      } else {
        this.clipRectAndPaint(offsetClipRect, clipBehavior, offsetClipRect, dart.fn(() => painter(this, offset), VoidTovoid()));
        return null;
      }
    }
    pushClipRRect(needsCompositing, offset, bounds, clipRRect, painter, opts) {
      let t0, t0$;
      let clipBehavior = opts && 'clipBehavior' in opts ? opts.clipBehavior : C2 || CT.C2;
      let oldLayer = opts && 'oldLayer' in opts ? opts.oldLayer : null;
      if (!(clipBehavior != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 475, 12, "clipBehavior != null");
      let offsetBounds = bounds.shift(offset);
      let offsetClipRRect = clipRRect.shift(offset);
      if (dart.test(needsCompositing)) {
        let layer = (t0 = oldLayer, t0 == null ? new layer$.ClipRRectLayer.new() : t0);
        t0$ = layer;
        t0$.clipRRect = offsetClipRRect;
        t0$.clipBehavior = clipBehavior;
        t0$;
        this.pushLayer(layer, painter, offset, {childPaintBounds: offsetBounds});
        return layer;
      } else {
        this.clipRRectAndPaint(offsetClipRRect, clipBehavior, offsetBounds, dart.fn(() => painter(this, offset), VoidTovoid()));
        return null;
      }
    }
    pushClipPath(needsCompositing, offset, bounds, clipPath, painter, opts) {
      let t0, t0$;
      let clipBehavior = opts && 'clipBehavior' in opts ? opts.clipBehavior : C2 || CT.C2;
      let oldLayer = opts && 'oldLayer' in opts ? opts.oldLayer : null;
      if (!(clipBehavior != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 511, 12, "clipBehavior != null");
      let offsetBounds = bounds.shift(offset);
      let offsetClipPath = clipPath.shift(offset);
      if (dart.test(needsCompositing)) {
        let layer = (t0 = oldLayer, t0 == null ? new layer$.ClipPathLayer.new() : t0);
        t0$ = layer;
        t0$.clipPath = offsetClipPath;
        t0$.clipBehavior = clipBehavior;
        t0$;
        this.pushLayer(layer, painter, offset, {childPaintBounds: offsetBounds});
        return layer;
      } else {
        this.clipPathAndPaint(offsetClipPath, clipBehavior, offsetBounds, dart.fn(() => painter(this, offset), VoidTovoid()));
        return null;
      }
    }
    pushColorFilter(offset, colorFilter, painter, opts) {
      let t0;
      let oldLayer = opts && 'oldLayer' in opts ? opts.oldLayer : null;
      if (!(colorFilter != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 544, 12, "colorFilter != null");
      let layer = (t0 = oldLayer, t0 == null ? new layer$.ColorFilterLayer.new() : t0);
      layer.colorFilter = colorFilter;
      this.pushLayer(layer, painter, offset);
      return layer;
    }
    pushTransform(needsCompositing, offset, transform, painter, opts) {
      let t0, t0$, t0$0, t0$1;
      let oldLayer = opts && 'oldLayer' in opts ? opts.oldLayer : null;
      let effectiveTransform = (t0 = vector_math_64.Matrix4.translationValues(offset.dx, offset.dy, 0.0), t0.multiply(transform), t0.translate(-dart.notNull(offset.dx), -dart.notNull(offset.dy)), t0);
      if (dart.test(needsCompositing)) {
        let layer = (t0$ = oldLayer, t0$ == null ? new layer$.TransformLayer.new() : t0$);
        layer.transform = effectiveTransform;
        this.pushLayer(layer, painter, offset, {childPaintBounds: matrix_utils.MatrixUtils.inverseTransformRect(effectiveTransform, this.estimatedBounds)});
        return layer;
      } else {
        t0$0 = this.canvas;
        t0$0.save();
        t0$0.transform(effectiveTransform.storage);
        t0$0;
        painter(this, offset);
        t0$1 = this.canvas;
        t0$1.restore();
        t0$1;
        return null;
      }
    }
    pushOpacity(offset, alpha, painter, opts) {
      let t0, t0$;
      let oldLayer = opts && 'oldLayer' in opts ? opts.oldLayer : null;
      let layer = (t0 = oldLayer, t0 == null ? new layer$.OpacityLayer.new() : t0);
      t0$ = layer;
      t0$.alpha = alpha;
      t0$.offset = offset;
      t0$;
      this.pushLayer(layer, painter, ui.Offset.zero);
      return layer;
    }
    toString() {
      return dart.str(object.objectRuntimeType(this, "PaintingContext")) + "#" + dart.str(this[$hashCode]) + "(layer: " + dart.str(this[_containerLayer$]) + ", canvas bounds: " + dart.str(this.estimatedBounds) + ")";
    }
  };
  (object$.PaintingContext.new = function(_containerLayer, estimatedBounds) {
    this[_currentLayer] = null;
    this[_recorder] = null;
    this[_canvas] = null;
    this[_containerLayer$] = _containerLayer;
    this[estimatedBounds$] = estimatedBounds;
    if (!(_containerLayer != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 69, 14, "_containerLayer != null");
    if (!(estimatedBounds != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 70, 14, "estimatedBounds != null");
    ;
  }).prototype = object$.PaintingContext.prototype;
  dart.addTypeTests(object$.PaintingContext);
  dart.setMethodSignature(object$.PaintingContext, () => ({
    __proto__: dart.getMethods(object$.PaintingContext.__proto__),
    paintChild: dart.fnType(dart.void, [object$.RenderObject, ui.Offset]),
    [_compositeChild]: dart.fnType(dart.void, [object$.RenderObject, ui.Offset]),
    appendLayer: dart.fnType(dart.void, [layer$.Layer]),
    [_startRecording]: dart.fnType(dart.void, []),
    stopRecordingIfNeeded: dart.fnType(dart.void, []),
    setIsComplexHint: dart.fnType(dart.void, []),
    setWillChangeHint: dart.fnType(dart.void, []),
    addLayer: dart.fnType(dart.void, [layer$.Layer]),
    pushLayer: dart.fnType(dart.void, [layer$.ContainerLayer, dart.fnType(dart.void, [object$.PaintingContext, ui.Offset]), ui.Offset], {childPaintBounds: ui.Rect}, {}),
    createChildContext: dart.fnType(object$.PaintingContext, [layer$.ContainerLayer, ui.Rect]),
    pushClipRect: dart.fnType(layer$.ClipRectLayer, [core.bool, ui.Offset, ui.Rect, dart.fnType(dart.void, [object$.PaintingContext, ui.Offset])], {clipBehavior: ui.Clip, oldLayer: layer$.ClipRectLayer}, {}),
    pushClipRRect: dart.fnType(layer$.ClipRRectLayer, [core.bool, ui.Offset, ui.Rect, ui.RRect, dart.fnType(dart.void, [object$.PaintingContext, ui.Offset])], {clipBehavior: ui.Clip, oldLayer: layer$.ClipRRectLayer}, {}),
    pushClipPath: dart.fnType(layer$.ClipPathLayer, [core.bool, ui.Offset, ui.Rect, ui.Path, dart.fnType(dart.void, [object$.PaintingContext, ui.Offset])], {clipBehavior: ui.Clip, oldLayer: layer$.ClipPathLayer}, {}),
    pushColorFilter: dart.fnType(layer$.ColorFilterLayer, [ui.Offset, ui.ColorFilter, dart.fnType(dart.void, [object$.PaintingContext, ui.Offset])], {oldLayer: layer$.ColorFilterLayer}, {}),
    pushTransform: dart.fnType(layer$.TransformLayer, [core.bool, ui.Offset, vector_math_64.Matrix4, dart.fnType(dart.void, [object$.PaintingContext, ui.Offset])], {oldLayer: layer$.TransformLayer}, {}),
    pushOpacity: dart.fnType(layer$.OpacityLayer, [ui.Offset, core.int, dart.fnType(dart.void, [object$.PaintingContext, ui.Offset])], {oldLayer: layer$.OpacityLayer}, {})
  }));
  dart.setGetterSignature(object$.PaintingContext, () => ({
    __proto__: dart.getGetters(object$.PaintingContext.__proto__),
    [_isRecording]: core.bool,
    canvas: ui.Canvas
  }));
  dart.setLibraryUri(object$.PaintingContext, "package:flutter/src/rendering/object.dart");
  dart.setFieldSignature(object$.PaintingContext, () => ({
    __proto__: dart.getFields(object$.PaintingContext.__proto__),
    [_containerLayer$]: dart.finalFieldType(layer$.ContainerLayer),
    estimatedBounds: dart.finalFieldType(ui.Rect),
    [_currentLayer]: dart.fieldType(layer$.PictureLayer),
    [_recorder]: dart.fieldType(ui.PictureRecorder),
    [_canvas]: dart.fieldType(ui.Canvas)
  }));
  dart.defineExtensionMethods(object$.PaintingContext, ['toString']);
  object$.Constraints = class Constraints extends core.Object {
    debugAssertIsValid(opts) {
      let isAppliedConstraint = opts && 'isAppliedConstraint' in opts ? opts.isAppliedConstraint : false;
      let informationCollector = opts && 'informationCollector' in opts ? opts.informationCollector : null;
      if (!dart.test(this.isNormalized)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 704, 12, "isNormalized");
      return this.isNormalized;
    }
  };
  (object$.Constraints.new = function() {
    ;
  }).prototype = object$.Constraints.prototype;
  dart.addTypeTests(object$.Constraints);
  dart.setMethodSignature(object$.Constraints, () => ({
    __proto__: dart.getMethods(object$.Constraints.__proto__),
    debugAssertIsValid: dart.fnType(core.bool, [], {informationCollector: dart.fnType(core.Iterable$(diagnostics.DiagnosticsNode), []), isAppliedConstraint: core.bool}, {})
  }));
  dart.setLibraryUri(object$.Constraints, "package:flutter/src/rendering/object.dart");
  const _owner$ = dart.privateName(object$, "_owner");
  const _didDisposeSemanticsHandle = dart.privateName(object$, "_didDisposeSemanticsHandle");
  const listener$ = dart.privateName(object$, "SemanticsHandle.listener");
  object$.SemanticsHandle = class SemanticsHandle extends core.Object {
    get listener() {
      return this[listener$];
    }
    set listener(value) {
      super.listener = value;
    }
    dispose() {
      if (!dart.test(dart.fn(() => {
        if (this[_owner$] == null) {
          dart.throw(assertions.FlutterError.new("SemanticsHandle has already been disposed.\n" + "Each SemanticsHandle should be disposed exactly once."));
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 755, 12, "() {\r\n      if (_owner == null) {\r\n        throw FlutterError(\r\n          'SemanticsHandle has already been disposed.\\n'\r\n          'Each SemanticsHandle should be disposed exactly once.'\r\n        );\r\n      }\r\n      return true;\r\n    }()");
      if (this[_owner$] != null) {
        if (this.listener != null) this[_owner$].semanticsOwner.removeListener(this.listener);
        this[_owner$][_didDisposeSemanticsHandle]();
        this[_owner$] = null;
      }
    }
  };
  (object$.SemanticsHandle.__ = function(_owner, listener) {
    this[_owner$] = _owner;
    this[listener$] = listener;
    if (!(_owner != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 737, 16, "_owner != null");
    if (this.listener != null) this[_owner$].semanticsOwner.addListener(this.listener);
  }).prototype = object$.SemanticsHandle.prototype;
  dart.addTypeTests(object$.SemanticsHandle);
  dart.setMethodSignature(object$.SemanticsHandle, () => ({
    __proto__: dart.getMethods(object$.SemanticsHandle.__proto__),
    dispose: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(object$.SemanticsHandle, "package:flutter/src/rendering/object.dart");
  dart.setFieldSignature(object$.SemanticsHandle, () => ({
    __proto__: dart.getFields(object$.SemanticsHandle.__proto__),
    [_owner$]: dart.fieldType(object$.PipelineOwner),
    listener: dart.finalFieldType(dart.fnType(dart.void, []))
  }));
  const _rootNode = dart.privateName(object$, "_rootNode");
  const _nodesNeedingLayout = dart.privateName(object$, "_nodesNeedingLayout");
  const _debugDoingLayout = dart.privateName(object$, "_debugDoingLayout");
  const _debugAllowMutationsToDirtySubtrees = dart.privateName(object$, "_debugAllowMutationsToDirtySubtrees");
  const _nodesNeedingCompositingBitsUpdate = dart.privateName(object$, "_nodesNeedingCompositingBitsUpdate");
  const _nodesNeedingPaint = dart.privateName(object$, "_nodesNeedingPaint");
  const _debugDoingPaint = dart.privateName(object$, "_debugDoingPaint");
  const _semanticsOwner = dart.privateName(object$, "_semanticsOwner");
  const _outstandingSemanticsHandles = dart.privateName(object$, "_outstandingSemanticsHandles");
  const _debugDoingSemantics = dart.privateName(object$, "_debugDoingSemantics");
  const _nodesNeedingSemantics = dart.privateName(object$, "_nodesNeedingSemantics");
  const _needsLayout = dart.privateName(object$, "_needsLayout");
  const _layoutWithoutResize = dart.privateName(object$, "_layoutWithoutResize");
  const _enableMutationsToDirtySubtrees = dart.privateName(object$, "_enableMutationsToDirtySubtrees");
  const _needsCompositingBitsUpdate = dart.privateName(object$, "_needsCompositingBitsUpdate");
  const _updateCompositingBits = dart.privateName(object$, "_updateCompositingBits");
  const _skippedPaintingOnLayer = dart.privateName(object$, "_skippedPaintingOnLayer");
  const _needsSemanticsUpdate = dart.privateName(object$, "_needsSemanticsUpdate");
  const _updateSemantics = dart.privateName(object$, "_updateSemantics");
  const onNeedVisualUpdate$ = dart.privateName(object$, "PipelineOwner.onNeedVisualUpdate");
  const onSemanticsOwnerCreated$ = dart.privateName(object$, "PipelineOwner.onSemanticsOwnerCreated");
  const onSemanticsOwnerDisposed$ = dart.privateName(object$, "PipelineOwner.onSemanticsOwnerDisposed");
  object$.PipelineOwner = class PipelineOwner extends core.Object {
    get onNeedVisualUpdate() {
      return this[onNeedVisualUpdate$];
    }
    set onNeedVisualUpdate(value) {
      super.onNeedVisualUpdate = value;
    }
    get onSemanticsOwnerCreated() {
      return this[onSemanticsOwnerCreated$];
    }
    set onSemanticsOwnerCreated(value) {
      super.onSemanticsOwnerCreated = value;
    }
    get onSemanticsOwnerDisposed() {
      return this[onSemanticsOwnerDisposed$];
    }
    set onSemanticsOwnerDisposed(value) {
      super.onSemanticsOwnerDisposed = value;
    }
    requestVisualUpdate() {
      if (this.onNeedVisualUpdate != null) this.onNeedVisualUpdate();
    }
    get rootNode() {
      return this[_rootNode];
    }
    set rootNode(value) {
      let t0, t0$;
      if (dart.equals(this[_rootNode], value)) return;
      t0 = this[_rootNode];
      t0 == null ? null : t0.detach();
      this[_rootNode] = value;
      t0$ = this[_rootNode];
      t0$ == null ? null : t0$.attach(this);
    }
    get debugDoingLayout() {
      return this[_debugDoingLayout];
    }
    flushLayout() {
      let t0;
      if (!false) {
        developer.Timeline.startSync("Layout", {arguments: debug.timelineWhitelistArguments});
      }
      if (!dart.test(dart.fn(() => {
        this[_debugDoingLayout] = true;
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 877, 12, "() {\r\n      _debugDoingLayout = true;\r\n      return true;\r\n    }()");
      try {
        while (dart.test(this[_nodesNeedingLayout][$isNotEmpty])) {
          let dirtyNodes = this[_nodesNeedingLayout];
          this[_nodesNeedingLayout] = JSArrayOfRenderObject().of([]);
          for (let node of (t0 = dirtyNodes, t0[$sort](dart.fn((a, b) => dart.notNull(a.depth) - dart.notNull(b.depth), RenderObjectAndRenderObjectToint())), t0)) {
            if (dart.test(node[_needsLayout]) && dart.equals(node.owner, this)) node[_layoutWithoutResize]();
          }
        }
      } finally {
        if (!dart.test(dart.fn(() => {
          this[_debugDoingLayout] = false;
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 892, 14, "() {\r\n        _debugDoingLayout = false;\r\n        return true;\r\n      }()");
        if (!false) {
          developer.Timeline.finishSync();
        }
      }
    }
    [_enableMutationsToDirtySubtrees](callback) {
      if (!dart.test(this[_debugDoingLayout])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 911, 12, "_debugDoingLayout");
      let oldState = null;
      if (!dart.test(dart.fn(() => {
        oldState = this[_debugAllowMutationsToDirtySubtrees];
        this[_debugAllowMutationsToDirtySubtrees] = true;
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 913, 12, "() {\r\n      oldState = _debugAllowMutationsToDirtySubtrees;\r\n      _debugAllowMutationsToDirtySubtrees = true;\r\n      return true;\r\n    }()");
      try {
        callback();
      } finally {
        if (!dart.test(dart.fn(() => {
          this[_debugAllowMutationsToDirtySubtrees] = oldState;
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 921, 14, "() {\r\n        _debugAllowMutationsToDirtySubtrees = oldState;\r\n        return true;\r\n      }()");
      }
    }
    flushCompositingBits() {
      if (!false) {
        developer.Timeline.startSync("Compositing bits");
      }
      this[_nodesNeedingCompositingBitsUpdate][$sort](dart.fn((a, b) => dart.notNull(a.depth) - dart.notNull(b.depth), RenderObjectAndRenderObjectToint()));
      for (let node of this[_nodesNeedingCompositingBitsUpdate]) {
        if (dart.test(node[_needsCompositingBitsUpdate]) && dart.equals(node.owner, this)) node[_updateCompositingBits]();
      }
      this[_nodesNeedingCompositingBitsUpdate][$clear]();
      if (!false) {
        developer.Timeline.finishSync();
      }
    }
    get debugDoingPaint() {
      return this[_debugDoingPaint];
    }
    flushPaint() {
      let t0;
      if (!false) {
        developer.Timeline.startSync("Paint", {arguments: debug.timelineWhitelistArguments});
      }
      if (!dart.test(dart.fn(() => {
        this[_debugDoingPaint] = true;
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 969, 12, "() {\r\n      _debugDoingPaint = true;\r\n      return true;\r\n    }()");
      try {
        let dirtyNodes = this[_nodesNeedingPaint];
        this[_nodesNeedingPaint] = JSArrayOfRenderObject().of([]);
        for (let node of (t0 = dirtyNodes, t0[$sort](dart.fn((a, b) => dart.notNull(b.depth) - dart.notNull(a.depth), RenderObjectAndRenderObjectToint())), t0)) {
          if (!(node[_layer] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 978, 16, "node._layer != null");
          if (dart.test(node[_needsPaint]) && dart.equals(node.owner, this)) {
            if (dart.test(node[_layer].attached)) {
              object$.PaintingContext.repaintCompositedChild(node);
            } else {
              node[_skippedPaintingOnLayer]();
            }
          }
        }
        if (!dart.test(this[_nodesNeedingPaint][$isEmpty])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 987, 14, "_nodesNeedingPaint.isEmpty");
      } finally {
        if (!dart.test(dart.fn(() => {
          this[_debugDoingPaint] = false;
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 989, 14, "() {\r\n        _debugDoingPaint = false;\r\n        return true;\r\n      }()");
        if (!false) {
          developer.Timeline.finishSync();
        }
      }
    }
    get semanticsOwner() {
      return this[_semanticsOwner];
    }
    get debugOutstandingSemanticsHandles() {
      return this[_outstandingSemanticsHandles];
    }
    ensureSemantics(opts) {
      let listener = opts && 'listener' in opts ? opts.listener : null;
      this[_outstandingSemanticsHandles] = dart.notNull(this[_outstandingSemanticsHandles]) + 1;
      if (this[_outstandingSemanticsHandles] === 1) {
        if (!(this[_semanticsOwner] == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1034, 14, "_semanticsOwner == null");
        this[_semanticsOwner] = new semantics.SemanticsOwner.new();
        if (this.onSemanticsOwnerCreated != null) this.onSemanticsOwnerCreated();
      }
      return new object$.SemanticsHandle.__(this, listener);
    }
    [_didDisposeSemanticsHandle]() {
      if (!(this[_semanticsOwner] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1043, 12, "_semanticsOwner != null");
      this[_outstandingSemanticsHandles] = dart.notNull(this[_outstandingSemanticsHandles]) - 1;
      if (this[_outstandingSemanticsHandles] === 0) {
        this[_semanticsOwner].dispose();
        this[_semanticsOwner] = null;
        if (this.onSemanticsOwnerDisposed != null) this.onSemanticsOwnerDisposed();
      }
    }
    flushSemantics() {
      let t0;
      if (this[_semanticsOwner] == null) return;
      if (!false) {
        developer.Timeline.startSync("Semantics");
      }
      if (!(this[_semanticsOwner] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1073, 12, "_semanticsOwner != null");
      if (!dart.test(dart.fn(() => {
        this[_debugDoingSemantics] = true;
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1074, 12, "() {\r\n      _debugDoingSemantics = true;\r\n      return true;\r\n    }()");
      try {
        let nodesToProcess = (t0 = this[_nodesNeedingSemantics][$toList](), t0[$sort](dart.fn((a, b) => dart.notNull(a.depth) - dart.notNull(b.depth), RenderObjectAndRenderObjectToint())), t0);
        this[_nodesNeedingSemantics].clear();
        for (let node of nodesToProcess) {
          if (dart.test(node[_needsSemanticsUpdate]) && dart.equals(node.owner, this)) node[_updateSemantics]();
        }
        this[_semanticsOwner].sendSemanticsUpdate();
      } finally {
        if (!dart.test(this[_nodesNeedingSemantics][$isEmpty])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1088, 14, "_nodesNeedingSemantics.isEmpty");
        if (!dart.test(dart.fn(() => {
          this[_debugDoingSemantics] = false;
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1089, 14, "() {\r\n        _debugDoingSemantics = false;\r\n        return true;\r\n      }()");
        if (!false) {
          developer.Timeline.finishSync();
        }
      }
    }
  };
  (object$.PipelineOwner.new = function(opts) {
    let onNeedVisualUpdate = opts && 'onNeedVisualUpdate' in opts ? opts.onNeedVisualUpdate : null;
    let onSemanticsOwnerCreated = opts && 'onSemanticsOwnerCreated' in opts ? opts.onSemanticsOwnerCreated : null;
    let onSemanticsOwnerDisposed = opts && 'onSemanticsOwnerDisposed' in opts ? opts.onSemanticsOwnerDisposed : null;
    this[_rootNode] = null;
    this[_nodesNeedingLayout] = JSArrayOfRenderObject().of([]);
    this[_debugDoingLayout] = false;
    this[_debugAllowMutationsToDirtySubtrees] = false;
    this[_nodesNeedingCompositingBitsUpdate] = JSArrayOfRenderObject().of([]);
    this[_nodesNeedingPaint] = JSArrayOfRenderObject().of([]);
    this[_debugDoingPaint] = false;
    this[_semanticsOwner] = null;
    this[_outstandingSemanticsHandles] = 0;
    this[_debugDoingSemantics] = false;
    this[_nodesNeedingSemantics] = LinkedHashSetOfRenderObject().new();
    this[onNeedVisualUpdate$] = onNeedVisualUpdate;
    this[onSemanticsOwnerCreated$] = onSemanticsOwnerCreated;
    this[onSemanticsOwnerDisposed$] = onSemanticsOwnerDisposed;
    ;
  }).prototype = object$.PipelineOwner.prototype;
  dart.addTypeTests(object$.PipelineOwner);
  dart.setMethodSignature(object$.PipelineOwner, () => ({
    __proto__: dart.getMethods(object$.PipelineOwner.__proto__),
    requestVisualUpdate: dart.fnType(dart.void, []),
    flushLayout: dart.fnType(dart.void, []),
    [_enableMutationsToDirtySubtrees]: dart.fnType(dart.void, [dart.fnType(dart.void, [])]),
    flushCompositingBits: dart.fnType(dart.void, []),
    flushPaint: dart.fnType(dart.void, []),
    ensureSemantics: dart.fnType(object$.SemanticsHandle, [], {listener: dart.fnType(dart.void, [])}, {}),
    [_didDisposeSemanticsHandle]: dart.fnType(dart.void, []),
    flushSemantics: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(object$.PipelineOwner, () => ({
    __proto__: dart.getGetters(object$.PipelineOwner.__proto__),
    rootNode: node.AbstractNode,
    debugDoingLayout: core.bool,
    debugDoingPaint: core.bool,
    semanticsOwner: semantics.SemanticsOwner,
    debugOutstandingSemanticsHandles: core.int
  }));
  dart.setSetterSignature(object$.PipelineOwner, () => ({
    __proto__: dart.getSetters(object$.PipelineOwner.__proto__),
    rootNode: node.AbstractNode
  }));
  dart.setLibraryUri(object$.PipelineOwner, "package:flutter/src/rendering/object.dart");
  dart.setFieldSignature(object$.PipelineOwner, () => ({
    __proto__: dart.getFields(object$.PipelineOwner.__proto__),
    onNeedVisualUpdate: dart.finalFieldType(dart.fnType(dart.void, [])),
    onSemanticsOwnerCreated: dart.finalFieldType(dart.fnType(dart.void, [])),
    onSemanticsOwnerDisposed: dart.finalFieldType(dart.fnType(dart.void, [])),
    [_rootNode]: dart.fieldType(node.AbstractNode),
    [_nodesNeedingLayout]: dart.fieldType(core.List$(object$.RenderObject)),
    [_debugDoingLayout]: dart.fieldType(core.bool),
    [_debugAllowMutationsToDirtySubtrees]: dart.fieldType(core.bool),
    [_nodesNeedingCompositingBitsUpdate]: dart.finalFieldType(core.List$(object$.RenderObject)),
    [_nodesNeedingPaint]: dart.fieldType(core.List$(object$.RenderObject)),
    [_debugDoingPaint]: dart.fieldType(core.bool),
    [_semanticsOwner]: dart.fieldType(semantics.SemanticsOwner),
    [_outstandingSemanticsHandles]: dart.fieldType(core.int),
    [_debugDoingSemantics]: dart.fieldType(core.bool),
    [_nodesNeedingSemantics]: dart.finalFieldType(core.Set$(object$.RenderObject))
  }));
  const _debugDoingThisResize = dart.privateName(object$, "_debugDoingThisResize");
  const _debugDoingThisLayout = dart.privateName(object$, "_debugDoingThisLayout");
  const _debugCanParentUseSize = dart.privateName(object$, "_debugCanParentUseSize");
  const _debugMutationsLocked = dart.privateName(object$, "_debugMutationsLocked");
  const _relayoutBoundary = dart.privateName(object$, "_relayoutBoundary");
  const _doingThisLayoutWithCallback = dart.privateName(object$, "_doingThisLayoutWithCallback");
  const _constraints = dart.privateName(object$, "_constraints");
  const _debugDoingThisPaint = dart.privateName(object$, "_debugDoingThisPaint");
  const _needsCompositing = dart.privateName(object$, "_needsCompositing");
  const _cachedSemanticsConfiguration = dart.privateName(object$, "_cachedSemanticsConfiguration");
  const _semantics = dart.privateName(object$, "_semantics");
  const _debugCanPerformMutations = dart.privateName(object$, "_debugCanPerformMutations");
  const _cleanRelayoutBoundary = dart.privateName(object$, "_cleanRelayoutBoundary");
  const _debugReportException = dart.privateName(object$, "_debugReportException");
  const _semanticsConfiguration = dart.privateName(object$, "_semanticsConfiguration");
  const _debugSubtreeRelayoutRootAlreadyMarkedNeedsLayout = dart.privateName(object$, "_debugSubtreeRelayoutRootAlreadyMarkedNeedsLayout");
  const _getSemanticsForParent = dart.privateName(object$, "_getSemanticsForParent");
  const _name$ = dart.privateName(diagnostics, "_name");
  let C3;
  const Duration__duration = dart.privateName(core, "Duration._duration");
  let C4;
  const Cubic_d = dart.privateName(curves, "Cubic.d");
  const Cubic_c = dart.privateName(curves, "Cubic.c");
  const Cubic_b = dart.privateName(curves, "Cubic.b");
  const Cubic_a = dart.privateName(curves, "Cubic.a");
  let C5;
  let C6;
  const parentData = dart.privateName(object$, "RenderObject.parentData");
  const debugCreator = dart.privateName(object$, "RenderObject.debugCreator");
  const AbstractNode_DiagnosticableTreeMixin$36 = class AbstractNode_DiagnosticableTreeMixin extends node.AbstractNode {};
  (AbstractNode_DiagnosticableTreeMixin$36.new = function() {
    AbstractNode_DiagnosticableTreeMixin$36.__proto__.new.call(this);
  }).prototype = AbstractNode_DiagnosticableTreeMixin$36.prototype;
  dart.applyMixin(AbstractNode_DiagnosticableTreeMixin$36, diagnostics.DiagnosticableTreeMixin);
  object$.RenderObject = class RenderObject extends AbstractNode_DiagnosticableTreeMixin$36 {
    get parentData() {
      return this[parentData];
    }
    set parentData(value) {
      this[parentData] = value;
    }
    get debugCreator() {
      return this[debugCreator];
    }
    set debugCreator(value) {
      this[debugCreator] = value;
    }
    reassemble() {
      this.markNeedsLayout();
      this.markNeedsCompositingBitsUpdate();
      this.markNeedsPaint();
      this.markNeedsSemanticsUpdate();
      this.visitChildren(dart.fn(child => {
        child.reassemble();
      }, RenderObjectToNull()));
    }
    setupParentData(child) {
      object$.RenderObject._check(child);
      if (!dart.test(this[_debugCanPerformMutations])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1265, 12, "_debugCanPerformMutations");
      if (!object$.ParentData.is(child.parentData)) child.parentData = new object$.ParentData.new();
    }
    adoptChild(child) {
      object$.RenderObject._check(child);
      if (!dart.test(this[_debugCanPerformMutations])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1276, 12, "_debugCanPerformMutations");
      if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1277, 12, "child != null");
      this.setupParentData(child);
      this.markNeedsLayout();
      this.markNeedsCompositingBitsUpdate();
      this.markNeedsSemanticsUpdate();
      super.adoptChild(child);
    }
    dropChild(child) {
      object$.RenderObject._check(child);
      if (!dart.test(this[_debugCanPerformMutations])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1291, 12, "_debugCanPerformMutations");
      if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1292, 12, "child != null");
      if (!(child.parentData != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1293, 12, "child.parentData != null");
      child[_cleanRelayoutBoundary]();
      child.parentData.detach();
      child.parentData = null;
      super.dropChild(child);
      this.markNeedsLayout();
      this.markNeedsCompositingBitsUpdate();
      this.markNeedsSemanticsUpdate();
    }
    visitChildren(visitor) {
    }
    [_debugReportException](method, exception, stack) {
      assertions.FlutterError.reportError(new object$.FlutterErrorDetailsForRendering.new({exception: exception, stack: stack, library: "rendering library", context: new assertions.ErrorDescription.new("during " + dart.str(method) + "()"), renderObject: this, informationCollector: dart.fn(() => new (SyncIterableOfDiagnosticsNode()).new((function*() {
          if (this.debugCreator != null) yield new object$.DiagnosticsDebugCreator.new(this.debugCreator);
          yield this.describeForError("The following RenderObject was being processed when the exception was fired");
          yield this.describeForError("RenderObject", {style: diagnostics.DiagnosticsTreeStyle.truncateChildren});
        }).bind(this)), VoidToIterableOfDiagnosticsNode())}));
    }
    get debugDoingThisResize() {
      return this[_debugDoingThisResize];
    }
    get debugDoingThisLayout() {
      return this[_debugDoingThisLayout];
    }
    static get debugActiveLayout() {
      return object$.RenderObject._debugActiveLayout;
    }
    get debugCanParentUseSize() {
      return this[_debugCanParentUseSize];
    }
    get [_debugCanPerformMutations]() {
      let result = null;
      if (!dart.test(dart.fn(() => {
        let node = this;
        while (true) {
          if (dart.test(node[_doingThisLayoutWithCallback])) {
            result = true;
            break;
          }
          if (this.owner != null && dart.test(this.owner[_debugAllowMutationsToDirtySubtrees]) && dart.test(node[_needsLayout])) {
            result = true;
            break;
          }
          if (dart.test(node[_debugMutationsLocked])) {
            result = false;
            break;
          }
          if (!object$.RenderObject.is(node.parent)) {
            result = true;
            break;
          }
          node = object$.RenderObject.as(node.parent);
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1372, 12, "() {\r\n      RenderObject node = this;\r\n      while (true) {\r\n        if (node._doingThisLayoutWithCallback) {\r\n          result = true;\r\n          break;\r\n        }\r\n        if (owner != null && owner._debugAllowMutationsToDirtySubtrees && node._needsLayout) {\r\n          result = true;\r\n          break;\r\n        }\r\n        if (node._debugMutationsLocked) {\r\n          result = false;\r\n          break;\r\n        }\r\n        if (node.parent is! RenderObject) {\r\n          result = true;\r\n          break;\r\n        }\r\n        node = node.parent as RenderObject;\r\n      }\r\n      return true;\r\n    }()");
      return result;
    }
    get owner() {
      return object$.PipelineOwner.as(super.owner);
    }
    attach(owner) {
      object$.PipelineOwner._check(owner);
      super.attach(owner);
      if (dart.test(this[_needsLayout]) && this[_relayoutBoundary] != null) {
        this[_needsLayout] = false;
        this.markNeedsLayout();
      }
      if (dart.test(this[_needsCompositingBitsUpdate])) {
        this[_needsCompositingBitsUpdate] = false;
        this.markNeedsCompositingBitsUpdate();
      }
      if (dart.test(this[_needsPaint]) && this[_layer] != null) {
        this[_needsPaint] = false;
        this.markNeedsPaint();
      }
      if (dart.test(this[_needsSemanticsUpdate]) && dart.test(this[_semanticsConfiguration].isSemanticBoundary)) {
        this[_needsSemanticsUpdate] = false;
        this.markNeedsSemanticsUpdate();
      }
    }
    get debugNeedsLayout() {
      let result = null;
      if (!dart.test(dart.fn(() => {
        result = this[_needsLayout];
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1440, 12, "() {\r\n      result = _needsLayout;\r\n      return true;\r\n    }()");
      return result;
    }
    get constraints() {
      return this[_constraints];
    }
    [_debugSubtreeRelayoutRootAlreadyMarkedNeedsLayout]() {
      if (this[_relayoutBoundary] == null) return true;
      let node = this;
      while (!dart.equals(node, this[_relayoutBoundary])) {
        if (!dart.equals(node[_relayoutBoundary], this[_relayoutBoundary])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1479, 14, "node._relayoutBoundary == _relayoutBoundary");
        if (!(node.parent != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1480, 14, "node.parent != null");
        node = object$.RenderObject.as(node.parent);
        if (!dart.test(node[_needsLayout]) && !dart.test(node[_debugDoingThisLayout])) return false;
      }
      if (!dart.equals(node[_relayoutBoundary], node)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1485, 12, "node._relayoutBoundary == node");
      return true;
    }
    markNeedsLayout() {
      if (!dart.test(this[_debugCanPerformMutations])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1528, 12, "_debugCanPerformMutations");
      if (dart.test(this[_needsLayout])) {
        if (!dart.test(this[_debugSubtreeRelayoutRootAlreadyMarkedNeedsLayout]())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1530, 14, "_debugSubtreeRelayoutRootAlreadyMarkedNeedsLayout()");
        return;
      }
      if (!(this[_relayoutBoundary] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1533, 12, "_relayoutBoundary != null");
      if (!dart.equals(this[_relayoutBoundary], this)) {
        this.markParentNeedsLayout();
      } else {
        this[_needsLayout] = true;
        if (this.owner != null) {
          if (!dart.test(dart.fn(() => {
            if (dart.test(debug$0.debugPrintMarkNeedsLayoutStacks)) assertions.debugPrintStack({label: "markNeedsLayout() called for " + dart.str(this)});
            return true;
          }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1539, 16, "() {\r\n          if (debugPrintMarkNeedsLayoutStacks)\r\n            debugPrintStack(label: 'markNeedsLayout() called for $this');\r\n          return true;\r\n        }()");
          this.owner[_nodesNeedingLayout][$add](this);
          this.owner.requestVisualUpdate();
        }
      }
    }
    markParentNeedsLayout() {
      this[_needsLayout] = true;
      let parent = object$.RenderObject.as(this.parent);
      if (!dart.test(this[_doingThisLayoutWithCallback])) {
        parent.markNeedsLayout();
      } else {
        if (!dart.test(parent[_debugDoingThisLayout])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1566, 14, "parent._debugDoingThisLayout");
      }
      if (!dart.equals(parent, this.parent)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1568, 12, "parent == this.parent");
    }
    markNeedsLayoutForSizedByParentChange() {
      this.markNeedsLayout();
      this.markParentNeedsLayout();
    }
    [_cleanRelayoutBoundary]() {
      if (!dart.equals(this[_relayoutBoundary], this)) {
        this[_relayoutBoundary] = null;
        this[_needsLayout] = true;
        this.visitChildren(dart.fn(child => {
          child[_cleanRelayoutBoundary]();
        }, RenderObjectToNull()));
      }
    }
    scheduleInitialLayout() {
      if (!dart.test(this.attached)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1600, 12, "attached");
      if (!!object$.RenderObject.is(this.parent)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1601, 12, "parent is! RenderObject");
      if (!!dart.test(this.owner[_debugDoingLayout])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1602, 12, "!owner._debugDoingLayout");
      if (!(this[_relayoutBoundary] == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1603, 12, "_relayoutBoundary == null");
      this[_relayoutBoundary] = this;
      if (!dart.test(dart.fn(() => {
        this[_debugCanParentUseSize] = false;
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1605, 12, "() {\r\n      _debugCanParentUseSize = false;\r\n      return true;\r\n    }()");
      this.owner[_nodesNeedingLayout][$add](this);
    }
    [_layoutWithoutResize]() {
      if (!dart.equals(this[_relayoutBoundary], this)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1613, 12, "_relayoutBoundary == this");
      let debugPreviousActiveLayout = null;
      if (!!dart.test(this[_debugMutationsLocked])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1615, 12, "!_debugMutationsLocked");
      if (!!dart.test(this[_doingThisLayoutWithCallback])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1616, 12, "!_doingThisLayoutWithCallback");
      if (!(this[_debugCanParentUseSize] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1617, 12, "_debugCanParentUseSize != null");
      if (!dart.test(dart.fn(() => {
        this[_debugMutationsLocked] = true;
        this[_debugDoingThisLayout] = true;
        debugPreviousActiveLayout = object$.RenderObject._debugActiveLayout;
        object$.RenderObject._debugActiveLayout = this;
        if (dart.test(debug$0.debugPrintLayouts)) print.debugPrint("Laying out (without resize) " + dart.str(this));
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1618, 12, "() {\r\n      _debugMutationsLocked = true;\r\n      _debugDoingThisLayout = true;\r\n      debugPreviousActiveLayout = _debugActiveLayout;\r\n      _debugActiveLayout = this;\r\n      if (debugPrintLayouts)\r\n        debugPrint('Laying out (without resize) $this');\r\n      return true;\r\n    }()");
      try {
        this.performLayout();
        this.markNeedsSemanticsUpdate();
      } catch (e$) {
        let e = dart.getThrown(e$);
        let stack = dart.stackTrace(e$);
        this[_debugReportException]("performLayout", e, stack);
      }
      if (!dart.test(dart.fn(() => {
        object$.RenderObject._debugActiveLayout = debugPreviousActiveLayout;
        this[_debugDoingThisLayout] = false;
        this[_debugMutationsLocked] = false;
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1633, 12, "() {\r\n      _debugActiveLayout = debugPreviousActiveLayout;\r\n      _debugDoingThisLayout = false;\r\n      _debugMutationsLocked = false;\r\n      return true;\r\n    }()");
      this[_needsLayout] = false;
      this.markNeedsPaint();
    }
    layout(constraints, opts) {
      let parentUsesSize = opts && 'parentUsesSize' in opts ? opts.parentUsesSize : false;
      if (!(constraints != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1667, 12, "constraints != null");
      if (!dart.test(constraints.debugAssertIsValid({isAppliedConstraint: true, informationCollector: dart.fn(() => new (SyncIterableOfErrorDescription()).new((function*() {
          let stack = dart.toString(core.StackTrace.current)[$split]("\n");
          let targetFrame = null;
          let layoutFramePattern = core.RegExp.new("^#[0-9]+ +RenderObject.layout \\(");
          for (let i = 0; i < dart.notNull(stack[$length]); i = i + 1) {
            if (layoutFramePattern[$matchAsPrefix](stack[$_get](i)) != null) {
              targetFrame = i + 1;
              break;
            }
          }
          if (targetFrame != null && dart.notNull(targetFrame) < dart.notNull(stack[$length])) {
            let targetFramePattern = core.RegExp.new("^#[0-9]+ +(.+)$");
            let targetFrameMatch = targetFramePattern[$matchAsPrefix](stack[$_get](targetFrame));
            let problemFunction = targetFrameMatch != null && dart.notNull(targetFrameMatch.groupCount) > 0 ? targetFrameMatch.group(1) : stack[$_get](targetFrame)[$trim]();
            yield new assertions.ErrorDescription.new("These invalid constraints were provided to " + dart.str(this[$runtimeType]) + "'s layout() " + "function by the following function, which probably computed the " + "invalid constraints in question:\n" + "  " + dart.str(problemFunction));
          }
        }).bind(this)), VoidToIterableOfErrorDescription())}))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1668, 12, "constraints.debugAssertIsValid(\r\n      isAppliedConstraint: true,\r\n      informationCollector: () sync* {\r\n        final List<String> stack = StackTrace.current.toString().split('\\n');\r\n        int targetFrame;\r\n        final Pattern layoutFramePattern = RegExp(r'^#[0-9]+ +RenderObject.layout \\(');\r\n        for (int i = 0; i < stack.length; i += 1) {\r\n          if (layoutFramePattern.matchAsPrefix(stack[i]) != null) {\r\n            targetFrame = i + 1;\r\n            break;\r\n          }\r\n        }\r\n        if (targetFrame != null && targetFrame < stack.length) {\r\n          final Pattern targetFramePattern = RegExp(r'^#[0-9]+ +(.+)$');\r\n          final Match targetFrameMatch = targetFramePattern.matchAsPrefix(stack[targetFrame]);\r\n          final String problemFunction = (targetFrameMatch != null && targetFrameMatch.groupCount > 0) ? targetFrameMatch.group(1) : stack[targetFrame].trim();\r\n          // TODO(jacobr): this case is similar to displaying a single stack frame.\r\n          yield ErrorDescription(\r\n            'These invalid constraints were provided to $runtimeType\\'s layout() '\r\n            'function by the following function, which probably computed the '\r\n            'invalid constraints in question:\\n'\r\n            '  $problemFunction'\r\n          );\r\n        }\r\n      },\r\n    )");
      if (!!dart.test(this[_debugDoingThisResize])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1694, 12, "!_debugDoingThisResize");
      if (!!dart.test(this[_debugDoingThisLayout])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1695, 12, "!_debugDoingThisLayout");
      let relayoutBoundary = null;
      if (!dart.test(parentUsesSize) || dart.test(this.sizedByParent) || dart.test(constraints.isTight) || !object$.RenderObject.is(this.parent)) {
        relayoutBoundary = this;
      } else {
        relayoutBoundary = object$.RenderObject.as(this.parent)[_relayoutBoundary];
      }
      if (!dart.test(dart.fn(() => {
        this[_debugCanParentUseSize] = parentUsesSize;
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1702, 12, "() {\r\n      _debugCanParentUseSize = parentUsesSize;\r\n      return true;\r\n    }()");
      if (!dart.test(this[_needsLayout]) && dart.equals(constraints, this[_constraints]) && dart.equals(relayoutBoundary, this[_relayoutBoundary])) {
        if (!dart.test(dart.fn(() => {
          this[_debugDoingThisResize] = this.sizedByParent;
          this[_debugDoingThisLayout] = !dart.test(this.sizedByParent);
          let debugPreviousActiveLayout = object$.RenderObject._debugActiveLayout;
          object$.RenderObject._debugActiveLayout = this;
          this.debugResetSize();
          object$.RenderObject._debugActiveLayout = debugPreviousActiveLayout;
          this[_debugDoingThisLayout] = false;
          this[_debugDoingThisResize] = false;
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1707, 14, "() {\r\n        // in case parentUsesSize changed since the last invocation, set size\r\n        // to itself, so it has the right internal debug values.\r\n        _debugDoingThisResize = sizedByParent;\r\n        _debugDoingThisLayout = !sizedByParent;\r\n        final RenderObject debugPreviousActiveLayout = _debugActiveLayout;\r\n        _debugActiveLayout = this;\r\n        debugResetSize();\r\n        _debugActiveLayout = debugPreviousActiveLayout;\r\n        _debugDoingThisLayout = false;\r\n        _debugDoingThisResize = false;\r\n        return true;\r\n      }()");
        return;
      }
      this[_constraints] = constraints;
      if (this[_relayoutBoundary] != null && !dart.equals(relayoutBoundary, this[_relayoutBoundary])) {
        this.visitChildren(dart.fn(child => {
          child[_cleanRelayoutBoundary]();
        }, RenderObjectToNull()));
      }
      this[_relayoutBoundary] = relayoutBoundary;
      if (!!dart.test(this[_debugMutationsLocked])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1732, 12, "!_debugMutationsLocked");
      if (!!dart.test(this[_doingThisLayoutWithCallback])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1733, 12, "!_doingThisLayoutWithCallback");
      if (!dart.test(dart.fn(() => {
        this[_debugMutationsLocked] = true;
        if (dart.test(debug$0.debugPrintLayouts)) print.debugPrint("Laying out (" + (dart.test(this.sizedByParent) ? "with separate resize" : "with resize allowed") + ") " + dart.str(this));
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1734, 12, "() {\r\n      _debugMutationsLocked = true;\r\n      if (debugPrintLayouts)\r\n        debugPrint('Laying out (${sizedByParent ? \"with separate resize\" : \"with resize allowed\"}) $this');\r\n      return true;\r\n    }()");
      if (dart.test(this.sizedByParent)) {
        if (!dart.test(dart.fn(() => {
          this[_debugDoingThisResize] = true;
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1741, 14, "() {\r\n        _debugDoingThisResize = true;\r\n        return true;\r\n      }()");
        try {
          this.performResize();
          if (!dart.test(dart.fn(() => {
            this.debugAssertDoesMeetConstraints();
            return true;
          }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1747, 16, "() {\r\n          debugAssertDoesMeetConstraints();\r\n          return true;\r\n        }()");
        } catch (e$) {
          let e = dart.getThrown(e$);
          let stack = dart.stackTrace(e$);
          this[_debugReportException]("performResize", e, stack);
        }
        if (!dart.test(dart.fn(() => {
          this[_debugDoingThisResize] = false;
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1754, 14, "() {\r\n        _debugDoingThisResize = false;\r\n        return true;\r\n      }()");
      }
      let debugPreviousActiveLayout = null;
      if (!dart.test(dart.fn(() => {
        this[_debugDoingThisLayout] = true;
        debugPreviousActiveLayout = object$.RenderObject._debugActiveLayout;
        object$.RenderObject._debugActiveLayout = this;
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1760, 12, "() {\r\n      _debugDoingThisLayout = true;\r\n      debugPreviousActiveLayout = _debugActiveLayout;\r\n      _debugActiveLayout = this;\r\n      return true;\r\n    }()");
      try {
        this.performLayout();
        this.markNeedsSemanticsUpdate();
        if (!dart.test(dart.fn(() => {
          this.debugAssertDoesMeetConstraints();
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1769, 14, "() {\r\n        debugAssertDoesMeetConstraints();\r\n        return true;\r\n      }()");
      } catch (e$0) {
        let e = dart.getThrown(e$0);
        let stack = dart.stackTrace(e$0);
        this[_debugReportException]("performLayout", e, stack);
      }
      if (!dart.test(dart.fn(() => {
        object$.RenderObject._debugActiveLayout = debugPreviousActiveLayout;
        this[_debugDoingThisLayout] = false;
        this[_debugMutationsLocked] = false;
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1776, 12, "() {\r\n      _debugActiveLayout = debugPreviousActiveLayout;\r\n      _debugDoingThisLayout = false;\r\n      _debugMutationsLocked = false;\r\n      return true;\r\n    }()");
      this[_needsLayout] = false;
      this.markNeedsPaint();
    }
    debugResetSize() {
    }
    get sizedByParent() {
      return false;
    }
    invokeLayoutCallback(T, callback) {
      if (!dart.test(this[_debugMutationsLocked])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1861, 12, "_debugMutationsLocked");
      if (!dart.test(this[_debugDoingThisLayout])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1862, 12, "_debugDoingThisLayout");
      if (!!dart.test(this[_doingThisLayoutWithCallback])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1863, 12, "!_doingThisLayoutWithCallback");
      this[_doingThisLayoutWithCallback] = true;
      try {
        this.owner[_enableMutationsToDirtySubtrees](dart.fn(() => {
          callback(T.as(this.constraints));
        }, VoidToNull()));
      } finally {
        this[_doingThisLayoutWithCallback] = false;
      }
    }
    rotate(opts) {
      let oldAngle = opts && 'oldAngle' in opts ? opts.oldAngle : null;
      let newAngle = opts && 'newAngle' in opts ? opts.newAngle : null;
      let time = opts && 'time' in opts ? opts.time : null;
    }
    get debugDoingThisPaint() {
      return this[_debugDoingThisPaint];
    }
    static get debugActivePaint() {
      return object$.RenderObject._debugActivePaint;
    }
    get isRepaintBoundary() {
      return false;
    }
    debugRegisterRepaintBoundaryPaint(opts) {
      let includedParent = opts && 'includedParent' in opts ? opts.includedParent : true;
      let includedChild = opts && 'includedChild' in opts ? opts.includedChild : false;
    }
    get alwaysNeedsCompositing() {
      return false;
    }
    get layer() {
      if (!(!dart.test(this.isRepaintBoundary) || this[_layer] == null || layer$.OffsetLayer.is(this[_layer]))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1959, 12, "!isRepaintBoundary || (_layer == null || _layer is OffsetLayer)");
      return this[_layer];
    }
    set layer(newLayer) {
      if (!!dart.test(this.isRepaintBoundary)) dart.assertFailed("Attempted to set a layer to a repaint boundary render object.\n" + "The framework creates and assigns an OffsetLayer to a repaint " + "boundary automatically.", "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1966, 7, "!isRepaintBoundary");
      this[_layer] = newLayer;
    }
    get debugLayer() {
      let result = null;
      if (!dart.test(dart.fn(() => {
        result = this[_layer];
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 1984, 12, "() {\r\n      result = _layer;\r\n      return true;\r\n    }()");
      return result;
    }
    markNeedsCompositingBitsUpdate() {
      if (dart.test(this[_needsCompositingBitsUpdate])) return;
      this[_needsCompositingBitsUpdate] = true;
      if (object$.RenderObject.is(this.parent)) {
        let parent = object$.RenderObject.as(this.parent);
        if (dart.test(parent[_needsCompositingBitsUpdate])) return;
        if (!dart.test(this.isRepaintBoundary) && !dart.test(parent.isRepaintBoundary)) {
          parent.markNeedsCompositingBitsUpdate();
          return;
        }
      }
      if (!dart.test(dart.fn(() => {
        let parent = this.parent;
        if (object$.RenderObject.is(parent)) return parent[_needsCompositing];
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2021, 12, "() {\r\n      final AbstractNode parent = this.parent;\r\n      if (parent is RenderObject)\r\n        return parent._needsCompositing;\r\n      return true;\r\n    }()");
      if (this.owner != null) this.owner[_nodesNeedingCompositingBitsUpdate][$add](this);
    }
    get needsCompositing() {
      if (!!dart.test(this[_needsCompositingBitsUpdate])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2041, 12, "!_needsCompositingBitsUpdate");
      return this[_needsCompositing];
    }
    [_updateCompositingBits]() {
      if (!dart.test(this[_needsCompositingBitsUpdate])) return;
      let oldNeedsCompositing = this[_needsCompositing];
      this[_needsCompositing] = false;
      this.visitChildren(dart.fn(child => {
        child[_updateCompositingBits]();
        if (dart.test(child.needsCompositing)) this[_needsCompositing] = true;
      }, RenderObjectToNull()));
      if (dart.test(this.isRepaintBoundary) || dart.test(this.alwaysNeedsCompositing)) this[_needsCompositing] = true;
      if (!dart.equals(oldNeedsCompositing, this[_needsCompositing])) this.markNeedsPaint();
      this[_needsCompositingBitsUpdate] = false;
    }
    get debugNeedsPaint() {
      let result = null;
      if (!dart.test(dart.fn(() => {
        result = this[_needsPaint];
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2078, 12, "() {\r\n      result = _needsPaint;\r\n      return true;\r\n    }()");
      return result;
    }
    markNeedsPaint() {
      if (!(this.owner == null || !dart.test(this.owner.debugDoingPaint))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2107, 12, "owner == null || !owner.debugDoingPaint");
      if (dart.test(this[_needsPaint])) return;
      this[_needsPaint] = true;
      if (dart.test(this.isRepaintBoundary)) {
        if (!dart.test(dart.fn(() => {
          if (dart.test(debug$0.debugPrintMarkNeedsPaintStacks)) assertions.debugPrintStack({label: "markNeedsPaint() called for " + dart.str(this)});
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2112, 14, "() {\r\n        if (debugPrintMarkNeedsPaintStacks)\r\n          debugPrintStack(label: 'markNeedsPaint() called for $this');\r\n        return true;\r\n      }()");
        if (!layer$.OffsetLayer.is(this[_layer])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2119, 14, "_layer is OffsetLayer");
        if (this.owner != null) {
          this.owner[_nodesNeedingPaint][$add](this);
          this.owner.requestVisualUpdate();
        }
      } else if (object$.RenderObject.is(this.parent)) {
        let parent = object$.RenderObject.as(this.parent);
        parent.markNeedsPaint();
        if (!dart.equals(parent, this.parent)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2127, 14, "parent == this.parent");
      } else {
        if (!dart.test(dart.fn(() => {
          if (dart.test(debug$0.debugPrintMarkNeedsPaintStacks)) assertions.debugPrintStack({label: "markNeedsPaint() called for " + dart.str(this) + " (root of render tree)"});
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2129, 14, "() {\r\n        if (debugPrintMarkNeedsPaintStacks)\r\n          debugPrintStack(label: 'markNeedsPaint() called for $this (root of render tree)');\r\n        return true;\r\n      }()");
        if (this.owner != null) this.owner.requestVisualUpdate();
      }
    }
    [_skippedPaintingOnLayer]() {
      if (!dart.test(this.attached)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2149, 12, "attached");
      if (!dart.test(this.isRepaintBoundary)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2150, 12, "isRepaintBoundary");
      if (!dart.test(this[_needsPaint])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2151, 12, "_needsPaint");
      if (!(this[_layer] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2152, 12, "_layer != null");
      if (!!dart.test(this[_layer].attached)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2153, 12, "!_layer.attached");
      let ancestor = this.parent;
      while (object$.RenderObject.is(ancestor)) {
        let node = object$.RenderObject.as(ancestor);
        if (dart.test(node.isRepaintBoundary)) {
          if (node[_layer] == null) break;
          if (dart.test(node[_layer].attached)) break;
          node[_needsPaint] = true;
        }
        ancestor = node.parent;
      }
    }
    scheduleInitialPaint(rootLayer) {
      if (!dart.test(rootLayer.attached)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2175, 12, "rootLayer.attached");
      if (!dart.test(this.attached)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2176, 12, "attached");
      if (!!object$.RenderObject.is(this.parent)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2177, 12, "parent is! RenderObject");
      if (!!dart.test(this.owner[_debugDoingPaint])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2178, 12, "!owner._debugDoingPaint");
      if (!dart.test(this.isRepaintBoundary)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2179, 12, "isRepaintBoundary");
      if (!(this[_layer] == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2180, 12, "_layer == null");
      this[_layer] = rootLayer;
      if (!dart.test(this[_needsPaint])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2182, 12, "_needsPaint");
      this.owner[_nodesNeedingPaint][$add](this);
    }
    replaceRootLayer(rootLayer) {
      if (!dart.test(rootLayer.attached)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2192, 12, "rootLayer.attached");
      if (!dart.test(this.attached)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2193, 12, "attached");
      if (!!object$.RenderObject.is(this.parent)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2194, 12, "parent is! RenderObject");
      if (!!dart.test(this.owner[_debugDoingPaint])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2195, 12, "!owner._debugDoingPaint");
      if (!dart.test(this.isRepaintBoundary)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2196, 12, "isRepaintBoundary");
      if (!(this[_layer] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2197, 12, "_layer != null");
      this[_layer].detach();
      this[_layer] = rootLayer;
      this.markNeedsPaint();
    }
    [_paintWithContext](context, offset) {
      if (!dart.test(dart.fn(() => {
        if (dart.test(this[_debugDoingThisPaint])) {
          dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("Tried to paint a RenderObject reentrantly."), this.describeForError("The following RenderObject was already being painted when it was " + "painted again"), new assertions.ErrorDescription.new("Since this typically indicates an infinite recursion, it is " + "disallowed.")])));
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2204, 12, "() {\r\n      if (_debugDoingThisPaint) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('Tried to paint a RenderObject reentrantly.'),\r\n          describeForError(\r\n            'The following RenderObject was already being painted when it was '\r\n            'painted again'\r\n          ),\r\n          ErrorDescription(\r\n            'Since this typically indicates an infinite recursion, it is '\r\n            'disallowed.'\r\n          ),\r\n        ]);\r\n      }\r\n      return true;\r\n    }()");
      if (dart.test(this[_needsLayout])) return;
      if (!dart.test(dart.fn(() => {
        if (dart.test(this[_needsCompositingBitsUpdate])) {
          dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("Tried to paint a RenderObject before its compositing bits were " + "updated."), this.describeForError("The following RenderObject was marked as having dirty compositing " + "bits at the time that it was painted"), new assertions.ErrorDescription.new("A RenderObject that still has dirty compositing bits cannot be " + "painted because this indicates that the tree has not yet been " + "properly configured for creating the layer tree."), new assertions.ErrorHint.new("This usually indicates an error in the Flutter framework itself.")])));
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2229, 12, "() {\r\n      if (_needsCompositingBitsUpdate) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary(\r\n            'Tried to paint a RenderObject before its compositing bits were '\r\n            'updated.'\r\n          ),\r\n          describeForError(\r\n            'The following RenderObject was marked as having dirty compositing '\r\n            'bits at the time that it was painted',\r\n          ),\r\n          ErrorDescription(\r\n            'A RenderObject that still has dirty compositing bits cannot be '\r\n            'painted because this indicates that the tree has not yet been '\r\n            'properly configured for creating the layer tree.'\r\n          ),\r\n          ErrorHint(\r\n            'This usually indicates an error in the Flutter framework itself.'\r\n          ),\r\n        ]);\r\n      }\r\n      return true;\r\n    }()");
      let debugLastActivePaint = null;
      if (!dart.test(dart.fn(() => {
        this[_debugDoingThisPaint] = true;
        debugLastActivePaint = object$.RenderObject._debugActivePaint;
        object$.RenderObject._debugActivePaint = this;
        if (!(!dart.test(this.isRepaintBoundary) || this[_layer] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2257, 14, "!isRepaintBoundary || _layer != null");
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2253, 12, "() {\r\n      _debugDoingThisPaint = true;\r\n      debugLastActivePaint = _debugActivePaint;\r\n      _debugActivePaint = this;\r\n      assert(!isRepaintBoundary || _layer != null);\r\n      return true;\r\n    }()");
      this[_needsPaint] = false;
      try {
        this.paint(context, offset);
        if (!!dart.test(this[_needsLayout])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2263, 14, "!_needsLayout");
        if (!!dart.test(this[_needsPaint])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2264, 14, "!_needsPaint");
      } catch (e$) {
        let e = dart.getThrown(e$);
        let stack = dart.stackTrace(e$);
        this[_debugReportException]("paint", e, stack);
      }
      if (!dart.test(dart.fn(() => {
        this.debugPaint(context, offset);
        object$.RenderObject._debugActivePaint = debugLastActivePaint;
        this[_debugDoingThisPaint] = false;
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2268, 12, "() {\r\n      debugPaint(context, offset);\r\n      _debugActivePaint = debugLastActivePaint;\r\n      _debugDoingThisPaint = false;\r\n      return true;\r\n    }()");
    }
    debugPaint(context, offset) {
    }
    paint(context, offset) {
    }
    applyPaintTransform(child, transform) {
      object$.RenderObject._check(child);
      if (!dart.equals(child.parent, this)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2311, 12, "child.parent == this");
    }
    getTransformTo(ancestor) {
      let ancestorSpecified = ancestor != null;
      if (!dart.test(this.attached)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2328, 12, "attached");
      if (ancestor == null) {
        let rootNode = this.owner.rootNode;
        if (object$.RenderObject.is(rootNode)) ancestor = rootNode;
      }
      let renderers = JSArrayOfRenderObject().of([]);
      for (let renderer = this; !dart.equals(renderer, ancestor); renderer = object$.RenderObject.as(renderer.parent)) {
        if (!(renderer != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2336, 14, "renderer != null");
        renderers[$add](renderer);
      }
      if (ancestorSpecified) renderers[$add](ancestor);
      let transform = vector_math_64.Matrix4.identity();
      for (let index = dart.notNull(renderers[$length]) - 1; index > 0; index = index - 1) {
        renderers[$_get](index).applyPaintTransform(renderers[$_get](index - 1), transform);
      }
      return transform;
    }
    describeApproximatePaintClip(child) {
      object$.RenderObject._check(child);
      return null;
    }
    describeSemanticsClip(child) {
      object$.RenderObject._check(child);
      return null;
    }
    scheduleInitialSemantics() {
      if (!dart.test(this.attached)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2391, 12, "attached");
      if (!!object$.RenderObject.is(this.parent)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2392, 12, "parent is! RenderObject");
      if (!!dart.test(this.owner[_debugDoingSemantics])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2393, 12, "!owner._debugDoingSemantics");
      if (!(this[_semantics] == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2394, 12, "_semantics == null");
      if (!dart.test(this[_needsSemanticsUpdate])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2395, 12, "_needsSemanticsUpdate");
      if (!(this.owner[_semanticsOwner] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2396, 12, "owner._semanticsOwner != null");
      this.owner[_nodesNeedingSemantics].add(this);
      this.owner.requestVisualUpdate();
    }
    describeSemanticsConfiguration(config) {
    }
    sendSemanticsEvent(semanticsEvent) {
      if (this.owner.semanticsOwner == null) return;
      if (this[_semantics] != null && !dart.test(this[_semantics].isMergedIntoParent)) {
        this[_semantics].sendEvent(semanticsEvent);
      } else if (this.parent != null) {
        let renderParent = object$.RenderObject.as(this.parent);
        renderParent.sendSemanticsEvent(semanticsEvent);
      }
    }
    get [_semanticsConfiguration]() {
      if (this[_cachedSemanticsConfiguration] == null) {
        this[_cachedSemanticsConfiguration] = new semantics.SemanticsConfiguration.new();
        this.describeSemanticsConfiguration(this[_cachedSemanticsConfiguration]);
      }
      return this[_cachedSemanticsConfiguration];
    }
    get debugSemantics() {
      let result = null;
      if (!dart.test(dart.fn(() => {
        result = this[_semantics];
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2487, 12, "() {\r\n      result = _semantics;\r\n      return true;\r\n    }()");
      return result;
    }
    clearSemantics() {
      this[_needsSemanticsUpdate] = true;
      this[_semantics] = null;
      this.visitChildren(dart.fn(child => {
        child.clearSemantics();
      }, RenderObjectToNull()));
    }
    markNeedsSemanticsUpdate() {
      let t4;
      if (!(!dart.test(this.attached) || !dart.test(this.owner[_debugDoingSemantics]))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2515, 12, "!attached || !owner._debugDoingSemantics");
      if (!dart.test(this.attached) || this.owner[_semanticsOwner] == null) {
        this[_cachedSemanticsConfiguration] = null;
        return;
      }
      let wasSemanticsBoundary = this[_semantics] != null && dart.equals((t4 = this[_cachedSemanticsConfiguration], t4 == null ? null : t4.isSemanticBoundary), true);
      this[_cachedSemanticsConfiguration] = null;
      let isEffectiveSemanticsBoundary = dart.test(this[_semanticsConfiguration].isSemanticBoundary) && wasSemanticsBoundary;
      let node = this;
      while (!dart.test(isEffectiveSemanticsBoundary) && object$.RenderObject.is(node.parent)) {
        if (!dart.equals(node, this) && dart.test(node[_needsSemanticsUpdate])) break;
        node[_needsSemanticsUpdate] = true;
        node = object$.RenderObject.as(node.parent);
        isEffectiveSemanticsBoundary = node[_semanticsConfiguration].isSemanticBoundary;
        if (dart.test(isEffectiveSemanticsBoundary) && node[_semantics] == null) {
          return;
        }
      }
      if (!dart.equals(node, this) && this[_semantics] != null && dart.test(this[_needsSemanticsUpdate])) {
        this.owner[_nodesNeedingSemantics].remove(this);
      }
      if (!dart.test(node[_needsSemanticsUpdate])) {
        node[_needsSemanticsUpdate] = true;
        if (this.owner != null) {
          if (!(dart.test(node[_semanticsConfiguration].isSemanticBoundary) || !object$.RenderObject.is(node.parent))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2558, 16, "node._semanticsConfiguration.isSemanticBoundary || node.parent is! RenderObject");
          this.owner[_nodesNeedingSemantics].add(node);
          this.owner.requestVisualUpdate();
        }
      }
    }
    [_updateSemantics]() {
      let t4, t4$, t4$0, t4$1, t4$2, t4$3, t4$4;
      if (!(dart.test(this[_semanticsConfiguration].isSemanticBoundary) || !object$.RenderObject.is(this.parent))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2567, 12, "_semanticsConfiguration.isSemanticBoundary || parent is! RenderObject");
      if (dart.test(this[_needsLayout])) {
        return;
      }
      let fragment = this[_getSemanticsForParent]({mergeIntoParent: (t4$0 = (t4$ = (t4 = this[_semantics], t4 == null ? null : t4.parent), t4$ == null ? null : t4$.isPartOfNodeMerging), t4$0 == null ? false : t4$0)});
      if (!object$._InterestingSemanticsFragment.is(fragment)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2576, 12, "fragment is _InterestingSemanticsFragment");
      let interestingFragment = object$._InterestingSemanticsFragment.as(fragment);
      let node = interestingFragment.compileChildren({parentSemanticsClipRect: (t4$1 = this[_semantics], t4$1 == null ? null : t4$1.parentSemanticsClipRect), parentPaintClipRect: (t4$2 = this[_semantics], t4$2 == null ? null : t4$2.parentPaintClipRect), elevationAdjustment: (t4$4 = (t4$3 = this[_semantics], t4$3 == null ? null : t4$3.elevationAdjustment), t4$4 == null ? 0.0 : t4$4)})[$single];
      if (!(interestingFragment.config == null && dart.equals(node, this[_semantics]))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2584, 12, "interestingFragment.config == null && node == _semantics");
    }
    [_getSemanticsForParent](opts) {
      let mergeIntoParent = opts && 'mergeIntoParent' in opts ? opts.mergeIntoParent : null;
      if (!(mergeIntoParent != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2591, 12, "mergeIntoParent != null");
      if (!!dart.test(this[_needsLayout])) dart.assertFailed("Updated layout information required for " + dart.str(this) + " to calculate semantics.", "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2592, 12, "!_needsLayout");
      let config = this[_semanticsConfiguration];
      let dropSemanticsOfPreviousSiblings = config.isBlockingSemanticsOfPreviouslyPaintedNodes;
      let producesForkingFragment = !dart.test(config.hasBeenAnnotated) && !dart.test(config.isSemanticBoundary);
      let fragments = JSArrayOf_InterestingSemanticsFragment().of([]);
      let toBeMarkedExplicit = LinkedHashSetOf_InterestingSemanticsFragment().new();
      let childrenMergeIntoParent = dart.test(mergeIntoParent) || dart.test(config.isMergingSemanticsOfDescendants);
      let abortWalk = false;
      this.visitChildrenForSemantics(dart.fn(renderChild => {
        if (abortWalk || dart.test(this[_needsLayout])) {
          abortWalk = true;
          return;
        }
        let parentFragment = renderChild[_getSemanticsForParent]({mergeIntoParent: childrenMergeIntoParent});
        if (dart.test(parentFragment.abortsWalk)) {
          abortWalk = true;
          return;
        }
        if (dart.test(parentFragment.dropsSemanticsOfPreviousSiblings)) {
          fragments[$clear]();
          toBeMarkedExplicit.clear();
          if (!dart.test(config.isSemanticBoundary)) dropSemanticsOfPreviousSiblings = true;
        }
        for (let fragment of parentFragment.interestingFragments) {
          fragments[$add](fragment);
          fragment.addAncestor(this);
          fragment.addTags(config.tagsForChildren);
          if (dart.test(config.explicitChildNodes) || !object$.RenderObject.is(this.parent)) {
            fragment.markAsExplicit();
            continue;
          }
          if (!dart.test(fragment.hasConfigForParent) || producesForkingFragment) continue;
          if (!dart.test(config.isCompatibleWith(fragment.config))) toBeMarkedExplicit.add(fragment);
          for (let siblingFragment of fragments[$sublist](0, dart.notNull(fragments[$length]) - 1)) {
            if (!dart.test(fragment.config.isCompatibleWith(siblingFragment.config))) {
              toBeMarkedExplicit.add(fragment);
              toBeMarkedExplicit.add(siblingFragment);
            }
          }
        }
      }, RenderObjectToNull()));
      if (abortWalk) {
        return new object$._AbortingSemanticsFragment.new({owner: this});
      }
      for (let fragment of toBeMarkedExplicit)
        fragment.markAsExplicit();
      this[_needsSemanticsUpdate] = false;
      let result = null;
      if (!object$.RenderObject.is(this.parent)) {
        if (!!dart.test(config.hasBeenAnnotated)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2660, 14, "!config.hasBeenAnnotated");
        if (!!dart.test(mergeIntoParent)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2661, 14, "!mergeIntoParent");
        result = new object$._RootSemanticsFragment.new({owner: this, dropsSemanticsOfPreviousSiblings: dropSemanticsOfPreviousSiblings});
      } else if (producesForkingFragment) {
        result = new object$._ContainerSemanticsFragment.new({dropsSemanticsOfPreviousSiblings: dropSemanticsOfPreviousSiblings});
      } else {
        result = new object$._SwitchableSemanticsFragment.new({config: config, mergeIntoParent: mergeIntoParent, owner: this, dropsSemanticsOfPreviousSiblings: dropSemanticsOfPreviousSiblings});
        if (dart.test(config.isSemanticBoundary)) {
          let fragment = object$._SwitchableSemanticsFragment.as(result);
          fragment.markAsExplicit();
        }
      }
      result.addAll(fragments);
      return result;
    }
    visitChildrenForSemantics(visitor) {
      this.visitChildren(visitor);
    }
    assembleSemanticsNode(node, config, children) {
      if (!dart.equals(node, this[_semantics])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2718, 12, "node == _semantics");
      node.updateWith({config: config, childrenInInversePaintOrder: ListOfSemanticsNode().as(children)});
    }
    handleEvent(event, entry) {
      hit_test.HitTestEntry._check(entry);
    }
    toStringShort() {
      let header = diagnostics.describeIdentity(this);
      if (this[_relayoutBoundary] != null && !dart.equals(this[_relayoutBoundary], this)) {
        let count = 1;
        let target = object$.RenderObject.as(this.parent);
        while (target != null && !dart.equals(target, this[_relayoutBoundary])) {
          target = object$.RenderObject.as(target.parent);
          count = count + 1;
        }
        header = dart.notNull(header) + (" relayoutBoundary=up" + dart.str(count));
      }
      if (dart.test(this[_needsLayout])) header = dart.notNull(header) + " NEEDS-LAYOUT";
      if (dart.test(this[_needsPaint])) header = dart.notNull(header) + " NEEDS-PAINT";
      if (dart.test(this[_needsCompositingBitsUpdate])) header = dart.notNull(header) + " NEEDS-COMPOSITING-BITS-UPDATE";
      if (!dart.test(this.attached)) header = dart.notNull(header) + " DETACHED";
      return header;
    }
    toString(opts) {
      let minLevel = opts && 'minLevel' in opts ? opts.minLevel : C3 || CT.C3;
      return this.toStringShort();
    }
    toStringDeep(opts) {
      let prefixLineOne = opts && 'prefixLineOne' in opts ? opts.prefixLineOne : "";
      let prefixOtherLines = opts && 'prefixOtherLines' in opts ? opts.prefixOtherLines : "";
      let minLevel = opts && 'minLevel' in opts ? opts.minLevel : C3 || CT.C3;
      let debugPreviousActiveLayout = null;
      if (!dart.test(dart.fn(() => {
        debugPreviousActiveLayout = object$.RenderObject._debugActiveLayout;
        object$.RenderObject._debugActiveLayout = null;
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2787, 12, "() {\r\n      debugPreviousActiveLayout = _debugActiveLayout;\r\n      _debugActiveLayout = null;\r\n      return true;\r\n    }()");
      let result = super.toStringDeep({prefixLineOne: prefixLineOne, prefixOtherLines: prefixOtherLines, minLevel: minLevel});
      if (!dart.test(dart.fn(() => {
        object$.RenderObject._debugActiveLayout = debugPreviousActiveLayout;
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2797, 12, "() {\r\n      _debugActiveLayout = debugPreviousActiveLayout;\r\n      return true;\r\n    }()");
      return result;
    }
    toStringShallow(opts) {
      let joiner = opts && 'joiner' in opts ? opts.joiner : ", ";
      let minLevel = opts && 'minLevel' in opts ? opts.minLevel : C3 || CT.C3;
      let debugPreviousActiveLayout = null;
      if (!dart.test(dart.fn(() => {
        debugPreviousActiveLayout = object$.RenderObject._debugActiveLayout;
        object$.RenderObject._debugActiveLayout = null;
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2815, 12, "() {\r\n      debugPreviousActiveLayout = _debugActiveLayout;\r\n      _debugActiveLayout = null;\r\n      return true;\r\n    }()");
      let result = super.toStringShallow({joiner: joiner, minLevel: minLevel});
      if (!dart.test(dart.fn(() => {
        object$.RenderObject._debugActiveLayout = debugPreviousActiveLayout;
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2821, 12, "() {\r\n      _debugActiveLayout = debugPreviousActiveLayout;\r\n      return true;\r\n    }()");
      return result;
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new diagnostics.FlagProperty.new("needsCompositing", {value: this[_needsCompositing], ifTrue: "needs compositing"}));
      properties.add(new diagnostics.DiagnosticsProperty.new("creator", this.debugCreator, {defaultValue: null, level: diagnostics.DiagnosticLevel.debug}));
      properties.add(new (DiagnosticsPropertyOfParentData()).new("parentData", this.parentData, {tooltip: dart.equals(this[_debugCanParentUseSize], true) ? "can use size" : null, missingIfNull: true}));
      properties.add(new (DiagnosticsPropertyOfConstraints()).new("constraints", this.constraints, {missingIfNull: true}));
      properties.add(new (DiagnosticsPropertyOfContainerLayer()).new("layer", this[_layer], {defaultValue: null}));
      properties.add(new (DiagnosticsPropertyOfSemanticsNode()).new("semantics node", this[_semantics], {defaultValue: null}));
      properties.add(new diagnostics.FlagProperty.new("isBlockingSemanticsOfPreviouslyPaintedNodes", {value: this[_semanticsConfiguration].isBlockingSemanticsOfPreviouslyPaintedNodes, ifTrue: "blocks semantics of earlier render objects below the common boundary"}));
      properties.add(new diagnostics.FlagProperty.new("isSemanticBoundary", {value: this[_semanticsConfiguration].isSemanticBoundary, ifTrue: "semantic boundary"}));
    }
    debugDescribeChildren() {
      return JSArrayOfDiagnosticsNode().of([]);
    }
    showOnScreen(opts) {
      let t4;
      let descendant = opts && 'descendant' in opts ? opts.descendant : null;
      let rect = opts && 'rect' in opts ? opts.rect : null;
      let duration = opts && 'duration' in opts ? opts.duration : C4 || CT.C4;
      let curve = opts && 'curve' in opts ? opts.curve : C5 || CT.C5;
      if (object$.RenderObject.is(this.parent)) {
        let renderParent = object$.RenderObject.as(this.parent);
        renderParent.showOnScreen({descendant: (t4 = descendant, t4 == null ? this : t4), rect: rect, duration: duration, curve: curve});
      }
    }
    describeForError(name, opts) {
      let style = opts && 'style' in opts ? opts.style : C6 || CT.C6;
      return this.toDiagnosticsNode({name: name, style: style});
    }
  };
  (object$.RenderObject.new = function() {
    this[parentData] = null;
    this[debugCreator] = null;
    this[_debugDoingThisResize] = false;
    this[_debugDoingThisLayout] = false;
    this[_debugCanParentUseSize] = null;
    this[_debugMutationsLocked] = false;
    this[_needsLayout] = true;
    this[_relayoutBoundary] = null;
    this[_doingThisLayoutWithCallback] = false;
    this[_constraints] = null;
    this[_debugDoingThisPaint] = false;
    this[_layer] = null;
    this[_needsCompositingBitsUpdate] = false;
    this[_needsCompositing] = null;
    this[_needsPaint] = true;
    this[_cachedSemanticsConfiguration] = null;
    this[_needsSemanticsUpdate] = true;
    this[_semantics] = null;
    object$.RenderObject.__proto__.new.call(this);
    this[_needsCompositing] = dart.test(this.isRepaintBoundary) || dart.test(this.alwaysNeedsCompositing);
  }).prototype = object$.RenderObject.prototype;
  dart.addTypeTests(object$.RenderObject);
  object$.RenderObject[dart.implements] = () => [hit_test.HitTestTarget];
  dart.setMethodSignature(object$.RenderObject, () => ({
    __proto__: dart.getMethods(object$.RenderObject.__proto__),
    reassemble: dart.fnType(dart.void, []),
    setupParentData: dart.fnType(dart.void, [core.Object]),
    visitChildren: dart.fnType(dart.void, [dart.fnType(dart.void, [object$.RenderObject])]),
    [_debugReportException]: dart.fnType(dart.void, [core.String, dart.dynamic, core.StackTrace]),
    [_debugSubtreeRelayoutRootAlreadyMarkedNeedsLayout]: dart.fnType(core.bool, []),
    markNeedsLayout: dart.fnType(dart.void, []),
    markParentNeedsLayout: dart.fnType(dart.void, []),
    markNeedsLayoutForSizedByParentChange: dart.fnType(dart.void, []),
    [_cleanRelayoutBoundary]: dart.fnType(dart.void, []),
    scheduleInitialLayout: dart.fnType(dart.void, []),
    [_layoutWithoutResize]: dart.fnType(dart.void, []),
    layout: dart.fnType(dart.void, [object$.Constraints], {parentUsesSize: core.bool}, {}),
    debugResetSize: dart.fnType(dart.void, []),
    invokeLayoutCallback: dart.gFnType(T => [dart.void, [dart.fnType(dart.void, [T])]], T => [object$.Constraints]),
    rotate: dart.fnType(dart.void, [], {newAngle: core.int, oldAngle: core.int, time: core.Duration}, {}),
    debugRegisterRepaintBoundaryPaint: dart.fnType(dart.void, [], {includedChild: core.bool, includedParent: core.bool}, {}),
    markNeedsCompositingBitsUpdate: dart.fnType(dart.void, []),
    [_updateCompositingBits]: dart.fnType(dart.void, []),
    markNeedsPaint: dart.fnType(dart.void, []),
    [_skippedPaintingOnLayer]: dart.fnType(dart.void, []),
    scheduleInitialPaint: dart.fnType(dart.void, [layer$.ContainerLayer]),
    replaceRootLayer: dart.fnType(dart.void, [layer$.OffsetLayer]),
    [_paintWithContext]: dart.fnType(dart.void, [object$.PaintingContext, ui.Offset]),
    debugPaint: dart.fnType(dart.void, [object$.PaintingContext, ui.Offset]),
    paint: dart.fnType(dart.void, [object$.PaintingContext, ui.Offset]),
    applyPaintTransform: dart.fnType(dart.void, [core.Object, vector_math_64.Matrix4]),
    getTransformTo: dart.fnType(vector_math_64.Matrix4, [object$.RenderObject]),
    describeApproximatePaintClip: dart.fnType(ui.Rect, [core.Object]),
    describeSemanticsClip: dart.fnType(ui.Rect, [core.Object]),
    scheduleInitialSemantics: dart.fnType(dart.void, []),
    describeSemanticsConfiguration: dart.fnType(dart.void, [semantics.SemanticsConfiguration]),
    sendSemanticsEvent: dart.fnType(dart.void, [semantics_event.SemanticsEvent]),
    clearSemantics: dart.fnType(dart.void, []),
    markNeedsSemanticsUpdate: dart.fnType(dart.void, []),
    [_updateSemantics]: dart.fnType(dart.void, []),
    [_getSemanticsForParent]: dart.fnType(object$._SemanticsFragment, [], {mergeIntoParent: core.bool}, {}),
    visitChildrenForSemantics: dart.fnType(dart.void, [dart.fnType(dart.void, [object$.RenderObject])]),
    assembleSemanticsNode: dart.fnType(dart.void, [semantics.SemanticsNode, semantics.SemanticsConfiguration, core.Iterable$(semantics.SemanticsNode)]),
    handleEvent: dart.fnType(dart.void, [events.PointerEvent, core.Object]),
    showOnScreen: dart.fnType(dart.void, [], {curve: curves.Curve, descendant: object$.RenderObject, duration: core.Duration, rect: ui.Rect}, {}),
    describeForError: dart.fnType(diagnostics.DiagnosticsNode, [core.String], {style: diagnostics.DiagnosticsTreeStyle}, {})
  }));
  dart.setGetterSignature(object$.RenderObject, () => ({
    __proto__: dart.getGetters(object$.RenderObject.__proto__),
    debugDoingThisResize: core.bool,
    debugDoingThisLayout: core.bool,
    debugCanParentUseSize: core.bool,
    [_debugCanPerformMutations]: core.bool,
    owner: object$.PipelineOwner,
    debugNeedsLayout: core.bool,
    constraints: object$.Constraints,
    sizedByParent: core.bool,
    debugDoingThisPaint: core.bool,
    isRepaintBoundary: core.bool,
    alwaysNeedsCompositing: core.bool,
    layer: layer$.ContainerLayer,
    debugLayer: layer$.ContainerLayer,
    needsCompositing: core.bool,
    debugNeedsPaint: core.bool,
    [_semanticsConfiguration]: semantics.SemanticsConfiguration,
    debugSemantics: semantics.SemanticsNode
  }));
  dart.setSetterSignature(object$.RenderObject, () => ({
    __proto__: dart.getSetters(object$.RenderObject.__proto__),
    layer: layer$.ContainerLayer
  }));
  dart.setLibraryUri(object$.RenderObject, "package:flutter/src/rendering/object.dart");
  dart.setFieldSignature(object$.RenderObject, () => ({
    __proto__: dart.getFields(object$.RenderObject.__proto__),
    parentData: dart.fieldType(object$.ParentData),
    debugCreator: dart.fieldType(dart.dynamic),
    [_debugDoingThisResize]: dart.fieldType(core.bool),
    [_debugDoingThisLayout]: dart.fieldType(core.bool),
    [_debugCanParentUseSize]: dart.fieldType(core.bool),
    [_debugMutationsLocked]: dart.fieldType(core.bool),
    [_needsLayout]: dart.fieldType(core.bool),
    [_relayoutBoundary]: dart.fieldType(object$.RenderObject),
    [_doingThisLayoutWithCallback]: dart.fieldType(core.bool),
    [_constraints]: dart.fieldType(object$.Constraints),
    [_debugDoingThisPaint]: dart.fieldType(core.bool),
    [_layer]: dart.fieldType(layer$.ContainerLayer),
    [_needsCompositingBitsUpdate]: dart.fieldType(core.bool),
    [_needsCompositing]: dart.fieldType(core.bool),
    [_needsPaint]: dart.fieldType(core.bool),
    [_cachedSemanticsConfiguration]: dart.fieldType(semantics.SemanticsConfiguration),
    [_needsSemanticsUpdate]: dart.fieldType(core.bool),
    [_semantics]: dart.fieldType(semantics.SemanticsNode)
  }));
  dart.defineExtensionMethods(object$.RenderObject, ['toString']);
  dart.defineLazy(object$.RenderObject, {
    /*object$.RenderObject._debugActiveLayout*/get _debugActiveLayout() {
      return null;
    },
    set _debugActiveLayout(_) {},
    /*object$.RenderObject.debugCheckingIntrinsics*/get debugCheckingIntrinsics() {
      return false;
    },
    set debugCheckingIntrinsics(_) {},
    /*object$.RenderObject._debugActivePaint*/get _debugActivePaint() {
      return null;
    },
    set _debugActivePaint(_) {}
  });
  const _child = dart.privateName(object$, "_child");
  const _is_RenderObjectWithChildMixin_default = Symbol('_is_RenderObjectWithChildMixin_default');
  object$.RenderObjectWithChildMixin$ = dart.generic(ChildType => {
    class RenderObjectWithChildMixin extends object$.RenderObject {}
    RenderObjectWithChildMixin[dart.mixinOn] = RenderObject => class RenderObjectWithChildMixin extends RenderObject {
      debugValidateChild(child) {
        if (!dart.test(dart.fn(() => {
          if (!ChildType.is(child)) {
            dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("A " + dart.str(this[$runtimeType]) + " expected a child of type " + dart.str(dart.wrapType(ChildType)) + " but received a " + "child of type " + dart.str(dart.runtimeType(child)) + "."), new assertions.ErrorDescription.new("RenderObjects expect specific types of children because they " + "coordinate with their children during layout and paint. For " + "example, a RenderSliver cannot be the child of a RenderBox because " + "a RenderSliver does not understand the RenderBox layout protocol."), new assertions.ErrorSpacer.new(), new diagnostics.DiagnosticsProperty.new("The " + dart.str(this[$runtimeType]) + " that expected a " + dart.str(dart.wrapType(ChildType)) + " child was created by", this.debugCreator, {style: diagnostics.DiagnosticsTreeStyle.errorProperty}), new assertions.ErrorSpacer.new(), new diagnostics.DiagnosticsProperty.new("The " + dart.str(dart.runtimeType(child)) + " that did not match the expected child type " + "was created by", child.debugCreator, {style: diagnostics.DiagnosticsTreeStyle.errorProperty})])));
          }
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2908, 12, "() {\r\n      if (child is! ChildType) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary(\r\n            'A $runtimeType expected a child of type $ChildType but received a '\r\n            'child of type ${child.runtimeType}.'\r\n          ),\r\n          ErrorDescription(\r\n            'RenderObjects expect specific types of children because they '\r\n            'coordinate with their children during layout and paint. For '\r\n            'example, a RenderSliver cannot be the child of a RenderBox because '\r\n            'a RenderSliver does not understand the RenderBox layout protocol.',\r\n          ),\r\n          ErrorSpacer(),\r\n          DiagnosticsProperty<dynamic>(\r\n            'The $runtimeType that expected a $ChildType child was created by',\r\n            debugCreator,\r\n            style: DiagnosticsTreeStyle.errorProperty,\r\n          ),\r\n          ErrorSpacer(),\r\n          DiagnosticsProperty<dynamic>(\r\n            'The ${child.runtimeType} that did not match the expected child type '\r\n            'was created by',\r\n            child.debugCreator,\r\n            style: DiagnosticsTreeStyle.errorProperty,\r\n          ),\r\n        ]);\r\n      }\r\n      return true;\r\n    }()");
        return true;
      }
      get child() {
        return this[_child];
      }
      set child(value) {
        ChildType._check(value);
        if (this[_child] != null) this.dropChild(this[_child]);
        this[_child] = value;
        if (this[_child] != null) this.adoptChild(this[_child]);
      }
      attach(owner) {
        object$.PipelineOwner._check(owner);
        super.attach(owner);
        if (this[_child] != null) this[_child].attach(owner);
      }
      detach() {
        super.detach();
        if (this[_child] != null) this[_child].detach();
      }
      redepthChildren() {
        if (this[_child] != null) this.redepthChild(this[_child]);
      }
      visitChildren(visitor) {
        if (this[_child] != null) visitor(this[_child]);
      }
      debugDescribeChildren() {
        return this.child != null ? JSArrayOfDiagnosticsNode().of([this.child.toDiagnosticsNode({name: "child"})]) : JSArrayOfDiagnosticsNode().of([]);
      }
    };
    (RenderObjectWithChildMixin[dart.mixinNew] = function() {
      this[_child] = null;
    }).prototype = RenderObjectWithChildMixin.prototype;
    dart.addTypeTests(RenderObjectWithChildMixin);
    RenderObjectWithChildMixin.prototype[_is_RenderObjectWithChildMixin_default] = true;
    RenderObjectWithChildMixin[dart.implements] = () => [object$.RenderObject];
    dart.setMethodSignature(RenderObjectWithChildMixin, () => ({
      __proto__: dart.getMethods(RenderObjectWithChildMixin.__proto__),
      debugValidateChild: dart.fnType(core.bool, [object$.RenderObject])
    }));
    dart.setGetterSignature(RenderObjectWithChildMixin, () => ({
      __proto__: dart.getGetters(RenderObjectWithChildMixin.__proto__),
      child: ChildType
    }));
    dart.setSetterSignature(RenderObjectWithChildMixin, () => ({
      __proto__: dart.getSetters(RenderObjectWithChildMixin.__proto__),
      child: core.Object
    }));
    dart.setLibraryUri(RenderObjectWithChildMixin, "package:flutter/src/rendering/object.dart");
    dart.setFieldSignature(RenderObjectWithChildMixin, () => ({
      __proto__: dart.getFields(RenderObjectWithChildMixin.__proto__),
      [_child]: dart.fieldType(ChildType)
    }));
    return RenderObjectWithChildMixin;
  });
  object$.RenderObjectWithChildMixin = object$.RenderObjectWithChildMixin$();
  dart.addTypeTests(object$.RenderObjectWithChildMixin, _is_RenderObjectWithChildMixin_default);
  const _is_ContainerParentDataMixin_default = Symbol('_is_ContainerParentDataMixin_default');
  const previousSibling = dart.privateName(object$, "ContainerParentDataMixin.previousSibling");
  const nextSibling = dart.privateName(object$, "ContainerParentDataMixin.nextSibling");
  object$.ContainerParentDataMixin$ = dart.generic(ChildType => {
    class ContainerParentDataMixin extends object$.ParentData {}
    ContainerParentDataMixin[dart.mixinOn] = ParentData => class ContainerParentDataMixin extends ParentData {
      get previousSibling() {
        return this[previousSibling];
      }
      set previousSibling(value) {
        this[previousSibling] = ChildType._check(value);
      }
      get nextSibling() {
        return this[nextSibling];
      }
      set nextSibling(value) {
        this[nextSibling] = ChildType._check(value);
      }
      detach() {
        if (!(this.previousSibling == null)) dart.assertFailed("Pointers to siblings must be nulled before detaching ParentData.", "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2994, 12, "previousSibling == null");
        if (!(this.nextSibling == null)) dart.assertFailed("Pointers to siblings must be nulled before detaching ParentData.", "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 2995, 12, "nextSibling == null");
        super.detach();
      }
    };
    (ContainerParentDataMixin[dart.mixinNew] = function() {
      this[previousSibling] = null;
      this[nextSibling] = null;
    }).prototype = ContainerParentDataMixin.prototype;
    dart.addTypeTests(ContainerParentDataMixin);
    ContainerParentDataMixin.prototype[_is_ContainerParentDataMixin_default] = true;
    ContainerParentDataMixin[dart.implements] = () => [object$.ParentData];
    dart.setLibraryUri(ContainerParentDataMixin, "package:flutter/src/rendering/object.dart");
    dart.setFieldSignature(ContainerParentDataMixin, () => ({
      __proto__: dart.getFields(ContainerParentDataMixin.__proto__),
      previousSibling: dart.fieldType(ChildType),
      nextSibling: dart.fieldType(ChildType)
    }));
    return ContainerParentDataMixin;
  });
  object$.ContainerParentDataMixin = object$.ContainerParentDataMixin$();
  dart.addTypeTests(object$.ContainerParentDataMixin, _is_ContainerParentDataMixin_default);
  const _childCount = dart.privateName(object$, "_childCount");
  const _firstChild = dart.privateName(object$, "_firstChild");
  const _lastChild = dart.privateName(object$, "_lastChild");
  const _debugUltimatePreviousSiblingOf = dart.privateName(object$, "_debugUltimatePreviousSiblingOf");
  const _debugUltimateNextSiblingOf = dart.privateName(object$, "_debugUltimateNextSiblingOf");
  const _insertIntoChildList = dart.privateName(object$, "_insertIntoChildList");
  const _removeFromChildList = dart.privateName(object$, "_removeFromChildList");
  const _is_ContainerRenderObjectMixin_default = Symbol('_is_ContainerRenderObjectMixin_default');
  object$.ContainerRenderObjectMixin$ = dart.generic((ChildType, ParentDataType) => {
    let ListOfChildType = () => (ListOfChildType = dart.constFn(core.List$(ChildType)))();
    class ContainerRenderObjectMixin extends object$.RenderObject {}
    ContainerRenderObjectMixin[dart.mixinOn] = RenderObject => class ContainerRenderObjectMixin extends RenderObject {
      [_debugUltimatePreviousSiblingOf](child, opts) {
        let equals = opts && 'equals' in opts ? opts.equals : null;
        let childParentData = ParentDataType.as(child.parentData);
        while (childParentData.previousSibling != null) {
          if (!!dart.equals(childParentData.previousSibling, child)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3008, 14, "childParentData.previousSibling != child");
          child = childParentData.previousSibling;
          childParentData = ParentDataType.as(child.parentData);
        }
        return dart.equals(child, equals);
      }
      [_debugUltimateNextSiblingOf](child, opts) {
        let equals = opts && 'equals' in opts ? opts.equals : null;
        let childParentData = ParentDataType.as(child.parentData);
        while (childParentData.nextSibling != null) {
          if (!!dart.equals(childParentData.nextSibling, child)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3017, 14, "childParentData.nextSibling != child");
          child = childParentData.nextSibling;
          childParentData = ParentDataType.as(child.parentData);
        }
        return dart.equals(child, equals);
      }
      get childCount() {
        return this[_childCount];
      }
      debugValidateChild(child) {
        if (!dart.test(dart.fn(() => {
          if (!ChildType.is(child)) {
            dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("A " + dart.str(this[$runtimeType]) + " expected a child of type " + dart.str(dart.wrapType(ChildType)) + " but received a " + "child of type " + dart.str(dart.runtimeType(child)) + "."), new assertions.ErrorDescription.new("RenderObjects expect specific types of children because they " + "coordinate with their children during layout and paint. For " + "example, a RenderSliver cannot be the child of a RenderBox because " + "a RenderSliver does not understand the RenderBox layout protocol."), new assertions.ErrorSpacer.new(), new diagnostics.DiagnosticsProperty.new("The " + dart.str(this[$runtimeType]) + " that expected a " + dart.str(dart.wrapType(ChildType)) + " child was created by", this.debugCreator, {style: diagnostics.DiagnosticsTreeStyle.errorProperty}), new assertions.ErrorSpacer.new(), new diagnostics.DiagnosticsProperty.new("The " + dart.str(dart.runtimeType(child)) + " that did not match the expected child type " + "was created by", child.debugCreator, {style: diagnostics.DiagnosticsTreeStyle.errorProperty})])));
          }
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3035, 12, "() {\r\n      if (child is! ChildType) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary(\r\n            'A $runtimeType expected a child of type $ChildType but received a '\r\n            'child of type ${child.runtimeType}.'\r\n          ),\r\n          ErrorDescription(\r\n            'RenderObjects expect specific types of children because they '\r\n            'coordinate with their children during layout and paint. For '\r\n            'example, a RenderSliver cannot be the child of a RenderBox because '\r\n            'a RenderSliver does not understand the RenderBox layout protocol.'\r\n          ),\r\n          ErrorSpacer(),\r\n          DiagnosticsProperty<dynamic>(\r\n            'The $runtimeType that expected a $ChildType child was created by',\r\n            debugCreator,\r\n            style: DiagnosticsTreeStyle.errorProperty,\r\n          ),\r\n          ErrorSpacer(),\r\n          DiagnosticsProperty<dynamic>(\r\n            'The ${child.runtimeType} that did not match the expected child type '\r\n            'was created by',\r\n            child.debugCreator,\r\n            style: DiagnosticsTreeStyle.errorProperty,\r\n          ),\r\n        ]);\r\n      }\r\n      return true;\r\n    }()");
        return true;
      }
      [_insertIntoChildList](child, opts) {
        let after = opts && 'after' in opts ? opts.after : null;
        let childParentData = ParentDataType.as(child.parentData);
        if (!(childParentData.nextSibling == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3072, 12, "childParentData.nextSibling == null");
        if (!(childParentData.previousSibling == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3073, 12, "childParentData.previousSibling == null");
        this[_childCount] = dart.notNull(this[_childCount]) + 1;
        if (!(dart.notNull(this[_childCount]) > 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3075, 12, "_childCount > 0");
        if (after == null) {
          childParentData.nextSibling = this[_firstChild];
          if (this[_firstChild] != null) {
            let _firstChildParentData = ParentDataType.as(this[_firstChild].parentData);
            _firstChildParentData.previousSibling = child;
          }
          this[_firstChild] = child;
          this[_lastChild] == null ? this[_lastChild] = child : null;
        } else {
          if (!(this[_firstChild] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3086, 14, "_firstChild != null");
          if (!(this[_lastChild] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3087, 14, "_lastChild != null");
          if (!dart.test(this[_debugUltimatePreviousSiblingOf](after, {equals: this[_firstChild]}))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3088, 14, "_debugUltimatePreviousSiblingOf(after, equals: _firstChild)");
          if (!dart.test(this[_debugUltimateNextSiblingOf](after, {equals: this[_lastChild]}))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3089, 14, "_debugUltimateNextSiblingOf(after, equals: _lastChild)");
          let afterParentData = ParentDataType.as(after.parentData);
          if (afterParentData.nextSibling == null) {
            if (!dart.equals(after, this[_lastChild])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3093, 16, "after == _lastChild");
            childParentData.previousSibling = after;
            afterParentData.nextSibling = child;
            this[_lastChild] = child;
          } else {
            childParentData.nextSibling = afterParentData.nextSibling;
            childParentData.previousSibling = after;
            let childPreviousSiblingParentData = ParentDataType.as(childParentData.previousSibling.parentData);
            let childNextSiblingParentData = ParentDataType.as(childParentData.nextSibling.parentData);
            childPreviousSiblingParentData.nextSibling = child;
            childNextSiblingParentData.previousSibling = child;
            if (!dart.equals(afterParentData.nextSibling, child)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3107, 16, "afterParentData.nextSibling == child");
          }
        }
      }
      insert(child, opts) {
        ChildType._check(child);
        let after = opts && 'after' in opts ? opts.after : null;
        ChildType._check(after);
        if (!!dart.equals(child, this)) dart.assertFailed("A RenderObject cannot be inserted into itself.", "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3116, 12, "child != this");
        if (!!dart.equals(after, this)) dart.assertFailed("A RenderObject cannot simultaneously be both the parent and the sibling of another RenderObject.", "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3117, 12, "after != this");
        if (!!dart.equals(child, after)) dart.assertFailed("A RenderObject cannot be inserted after itself.", "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3118, 12, "child != after");
        if (!!dart.equals(child, this[_firstChild])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3119, 12, "child != _firstChild");
        if (!!dart.equals(child, this[_lastChild])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3120, 12, "child != _lastChild");
        this.adoptChild(child);
        this[_insertIntoChildList](child, {after: after});
      }
      add(child) {
        ChildType._check(child);
        this.insert(child, {after: this[_lastChild]});
      }
      addAll(children) {
        let t4;
        ListOfChildType()._check(children);
        t4 = children;
        t4 == null ? null : t4[$forEach](dart.bind(this, 'add'));
      }
      [_removeFromChildList](child) {
        let childParentData = ParentDataType.as(child.parentData);
        if (!dart.test(this[_debugUltimatePreviousSiblingOf](child, {equals: this[_firstChild]}))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3137, 12, "_debugUltimatePreviousSiblingOf(child, equals: _firstChild)");
        if (!dart.test(this[_debugUltimateNextSiblingOf](child, {equals: this[_lastChild]}))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3138, 12, "_debugUltimateNextSiblingOf(child, equals: _lastChild)");
        if (!(dart.notNull(this[_childCount]) >= 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3139, 12, "_childCount >= 0");
        if (childParentData.previousSibling == null) {
          if (!dart.equals(this[_firstChild], child)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3141, 14, "_firstChild == child");
          this[_firstChild] = childParentData.nextSibling;
        } else {
          let childPreviousSiblingParentData = ParentDataType.as(childParentData.previousSibling.parentData);
          childPreviousSiblingParentData.nextSibling = childParentData.nextSibling;
        }
        if (childParentData.nextSibling == null) {
          if (!dart.equals(this[_lastChild], child)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3148, 14, "_lastChild == child");
          this[_lastChild] = childParentData.previousSibling;
        } else {
          let childNextSiblingParentData = ParentDataType.as(childParentData.nextSibling.parentData);
          childNextSiblingParentData.previousSibling = childParentData.previousSibling;
        }
        childParentData.previousSibling = null;
        childParentData.nextSibling = null;
        this[_childCount] = dart.notNull(this[_childCount]) - 1;
      }
      remove(child) {
        ChildType._check(child);
        this[_removeFromChildList](child);
        this.dropChild(child);
      }
      removeAll() {
        let child = this[_firstChild];
        while (child != null) {
          let childParentData = ParentDataType.as(child.parentData);
          let next = childParentData.nextSibling;
          childParentData.previousSibling = null;
          childParentData.nextSibling = null;
          this.dropChild(child);
          child = next;
        }
        this[_firstChild] = null;
        this[_lastChild] = null;
        this[_childCount] = 0;
      }
      move(child, opts) {
        ChildType._check(child);
        let after = opts && 'after' in opts ? opts.after : null;
        ChildType._check(after);
        if (!!dart.equals(child, this)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3191, 12, "child != this");
        if (!!dart.equals(after, this)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3192, 12, "after != this");
        if (!!dart.equals(child, after)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3193, 12, "child != after");
        if (!dart.equals(child.parent, this)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3194, 12, "child.parent == this");
        let childParentData = ParentDataType.as(child.parentData);
        if (dart.equals(childParentData.previousSibling, after)) return;
        this[_removeFromChildList](child);
        this[_insertIntoChildList](child, {after: after});
        this.markNeedsLayout();
      }
      attach(owner) {
        object$.PipelineOwner._check(owner);
        super.attach(owner);
        let child = this[_firstChild];
        while (child != null) {
          child.attach(owner);
          let childParentData = ParentDataType.as(child.parentData);
          child = childParentData.nextSibling;
        }
      }
      detach() {
        super.detach();
        let child = this[_firstChild];
        while (child != null) {
          child.detach();
          let childParentData = ParentDataType.as(child.parentData);
          child = childParentData.nextSibling;
        }
      }
      redepthChildren() {
        let child = this[_firstChild];
        while (child != null) {
          this.redepthChild(child);
          let childParentData = ParentDataType.as(child.parentData);
          child = childParentData.nextSibling;
        }
      }
      visitChildren(visitor) {
        let child = this[_firstChild];
        while (child != null) {
          visitor(child);
          let childParentData = ParentDataType.as(child.parentData);
          child = childParentData.nextSibling;
        }
      }
      get firstChild() {
        return this[_firstChild];
      }
      get lastChild() {
        return this[_lastChild];
      }
      childBefore(child) {
        ChildType._check(child);
        if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3253, 12, "child != null");
        if (!dart.equals(child.parent, this)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3254, 12, "child.parent == this");
        let childParentData = ParentDataType.as(child.parentData);
        return childParentData.previousSibling;
      }
      childAfter(child) {
        ChildType._check(child);
        if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3261, 12, "child != null");
        if (!dart.equals(child.parent, this)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3262, 12, "child.parent == this");
        let childParentData = ParentDataType.as(child.parentData);
        return childParentData.nextSibling;
      }
      debugDescribeChildren() {
        let children = JSArrayOfDiagnosticsNode().of([]);
        if (this.firstChild != null) {
          let child = this.firstChild;
          let count = 1;
          while (true) {
            children[$add](child.toDiagnosticsNode({name: "child " + dart.str(count)}));
            if (dart.equals(child, this.lastChild)) break;
            count = count + 1;
            let childParentData = ParentDataType.as(child.parentData);
            child = childParentData.nextSibling;
          }
        }
        return children;
      }
    };
    (ContainerRenderObjectMixin[dart.mixinNew] = function() {
      this[_childCount] = 0;
      this[_firstChild] = null;
      this[_lastChild] = null;
    }).prototype = ContainerRenderObjectMixin.prototype;
    dart.addTypeTests(ContainerRenderObjectMixin);
    ContainerRenderObjectMixin.prototype[_is_ContainerRenderObjectMixin_default] = true;
    ContainerRenderObjectMixin[dart.implements] = () => [object$.RenderObject];
    dart.setMethodSignature(ContainerRenderObjectMixin, () => ({
      __proto__: dart.getMethods(ContainerRenderObjectMixin.__proto__),
      [_debugUltimatePreviousSiblingOf]: dart.fnType(core.bool, [ChildType], {equals: ChildType}, {}),
      [_debugUltimateNextSiblingOf]: dart.fnType(core.bool, [ChildType], {equals: ChildType}, {}),
      debugValidateChild: dart.fnType(core.bool, [object$.RenderObject]),
      [_insertIntoChildList]: dart.fnType(dart.void, [ChildType], {after: ChildType}, {}),
      insert: dart.fnType(dart.void, [core.Object], {after: core.Object}, {}),
      add: dart.fnType(dart.void, [core.Object]),
      addAll: dart.fnType(dart.void, [core.Object]),
      [_removeFromChildList]: dart.fnType(dart.void, [ChildType]),
      remove: dart.fnType(dart.void, [core.Object]),
      removeAll: dart.fnType(dart.void, []),
      move: dart.fnType(dart.void, [core.Object], {after: core.Object}, {}),
      childBefore: dart.fnType(ChildType, [core.Object]),
      childAfter: dart.fnType(ChildType, [core.Object])
    }));
    dart.setGetterSignature(ContainerRenderObjectMixin, () => ({
      __proto__: dart.getGetters(ContainerRenderObjectMixin.__proto__),
      childCount: core.int,
      firstChild: ChildType,
      lastChild: ChildType
    }));
    dart.setLibraryUri(ContainerRenderObjectMixin, "package:flutter/src/rendering/object.dart");
    dart.setFieldSignature(ContainerRenderObjectMixin, () => ({
      __proto__: dart.getFields(ContainerRenderObjectMixin.__proto__),
      [_childCount]: dart.fieldType(core.int),
      [_firstChild]: dart.fieldType(ChildType),
      [_lastChild]: dart.fieldType(ChildType)
    }));
    return ContainerRenderObjectMixin;
  });
  object$.ContainerRenderObjectMixin = object$.ContainerRenderObjectMixin$();
  dart.addTypeTests(object$.ContainerRenderObjectMixin, _is_ContainerRenderObjectMixin_default);
  object$.RelayoutWhenSystemFontsChangeMixin = class RelayoutWhenSystemFontsChangeMixin extends object$.RenderObject {};
  object$.RelayoutWhenSystemFontsChangeMixin[dart.mixinOn] = RenderObject => class RelayoutWhenSystemFontsChangeMixin extends RenderObject {
    systemFontsDidChange() {
      this.markNeedsLayout();
    }
    attach(owner) {
      object$.PipelineOwner._check(owner);
      super.attach(owner);
      binding$.PaintingBinding.instance.systemFonts.addListener(dart.bind(this, 'systemFontsDidChange'));
    }
    detach() {
      binding$.PaintingBinding.instance.systemFonts.removeListener(dart.bind(this, 'systemFontsDidChange'));
      super.detach();
    }
  };
  dart.addTypeTests(object$.RelayoutWhenSystemFontsChangeMixin);
  object$.RelayoutWhenSystemFontsChangeMixin[dart.implements] = () => [object$.RenderObject];
  dart.setMethodSignature(object$.RelayoutWhenSystemFontsChangeMixin, () => ({
    __proto__: dart.getMethods(object$.RelayoutWhenSystemFontsChangeMixin.__proto__),
    systemFontsDidChange: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(object$.RelayoutWhenSystemFontsChangeMixin, "package:flutter/src/rendering/object.dart");
  const renderObject$ = dart.privateName(object$, "FlutterErrorDetailsForRendering.renderObject");
  object$.FlutterErrorDetailsForRendering = class FlutterErrorDetailsForRendering extends assertions.FlutterErrorDetails {
    get renderObject() {
      return this[renderObject$];
    }
    set renderObject(value) {
      super.renderObject = value;
    }
  };
  (object$.FlutterErrorDetailsForRendering.new = function(opts) {
    let exception = opts && 'exception' in opts ? opts.exception : null;
    let stack = opts && 'stack' in opts ? opts.stack : null;
    let library = opts && 'library' in opts ? opts.library : null;
    let context = opts && 'context' in opts ? opts.context : null;
    let renderObject = opts && 'renderObject' in opts ? opts.renderObject : null;
    let informationCollector = opts && 'informationCollector' in opts ? opts.informationCollector : null;
    let silent = opts && 'silent' in opts ? opts.silent : false;
    this[renderObject$] = renderObject;
    object$.FlutterErrorDetailsForRendering.__proto__.new.call(this, {exception: exception, stack: stack, library: library, context: context, informationCollector: informationCollector, silent: silent});
    ;
  }).prototype = object$.FlutterErrorDetailsForRendering.prototype;
  dart.addTypeTests(object$.FlutterErrorDetailsForRendering);
  dart.setLibraryUri(object$.FlutterErrorDetailsForRendering, "package:flutter/src/rendering/object.dart");
  dart.setFieldSignature(object$.FlutterErrorDetailsForRendering, () => ({
    __proto__: dart.getFields(object$.FlutterErrorDetailsForRendering.__proto__),
    renderObject: dart.finalFieldType(object$.RenderObject)
  }));
  object$._SemanticsFragment = class _SemanticsFragment extends core.Object {
    get abortsWalk() {
      return false;
    }
  };
  (object$._SemanticsFragment.new = function(opts) {
    let dropsSemanticsOfPreviousSiblings = opts && 'dropsSemanticsOfPreviousSiblings' in opts ? opts.dropsSemanticsOfPreviousSiblings : null;
    this.dropsSemanticsOfPreviousSiblings = dropsSemanticsOfPreviousSiblings;
    if (!(dropsSemanticsOfPreviousSiblings != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3359, 15, "dropsSemanticsOfPreviousSiblings != null");
    ;
  }).prototype = object$._SemanticsFragment.prototype;
  dart.addTypeTests(object$._SemanticsFragment);
  dart.setGetterSignature(object$._SemanticsFragment, () => ({
    __proto__: dart.getGetters(object$._SemanticsFragment.__proto__),
    abortsWalk: core.bool
  }));
  dart.setLibraryUri(object$._SemanticsFragment, "package:flutter/src/rendering/object.dart");
  dart.setFieldSignature(object$._SemanticsFragment, () => ({
    __proto__: dart.getFields(object$._SemanticsFragment.__proto__),
    dropsSemanticsOfPreviousSiblings: dart.finalFieldType(core.bool)
  }));
  const interestingFragments = dart.privateName(object$, "_ContainerSemanticsFragment.interestingFragments");
  object$._ContainerSemanticsFragment = class _ContainerSemanticsFragment extends object$._SemanticsFragment {
    get interestingFragments() {
      return this[interestingFragments];
    }
    set interestingFragments(value) {
      super.interestingFragments = value;
    }
    addAll(fragments) {
      this.interestingFragments[$addAll](fragments);
    }
  };
  (object$._ContainerSemanticsFragment.new = function(opts) {
    let dropsSemanticsOfPreviousSiblings = opts && 'dropsSemanticsOfPreviousSiblings' in opts ? opts.dropsSemanticsOfPreviousSiblings : null;
    this[interestingFragments] = JSArrayOf_InterestingSemanticsFragment().of([]);
    object$._ContainerSemanticsFragment.__proto__.new.call(this, {dropsSemanticsOfPreviousSiblings: dropsSemanticsOfPreviousSiblings});
    ;
  }).prototype = object$._ContainerSemanticsFragment.prototype;
  dart.addTypeTests(object$._ContainerSemanticsFragment);
  dart.setMethodSignature(object$._ContainerSemanticsFragment, () => ({
    __proto__: dart.getMethods(object$._ContainerSemanticsFragment.__proto__),
    addAll: dart.fnType(dart.void, [core.Iterable$(object$._InterestingSemanticsFragment)])
  }));
  dart.setLibraryUri(object$._ContainerSemanticsFragment, "package:flutter/src/rendering/object.dart");
  dart.setFieldSignature(object$._ContainerSemanticsFragment, () => ({
    __proto__: dart.getFields(object$._ContainerSemanticsFragment.__proto__),
    interestingFragments: dart.finalFieldType(core.List$(object$._InterestingSemanticsFragment))
  }));
  const _tagsForChildren = dart.privateName(object$, "_tagsForChildren");
  const _ancestorChain = dart.privateName(object$, "_ancestorChain");
  object$._InterestingSemanticsFragment = class _InterestingSemanticsFragment extends object$._SemanticsFragment {
    get owner() {
      return this[_ancestorChain][$first];
    }
    get hasConfigForParent() {
      return this.config != null;
    }
    get interestingFragments() {
      return new (SyncIterableOf_InterestingSemanticsFragment()).new((function* interestingFragments() {
        yield this;
      }).bind(this));
    }
    addTags(tags) {
      if (tags == null || dart.test(tags[$isEmpty])) return;
      this[_tagsForChildren] == null ? this[_tagsForChildren] = LinkedHashSetOfSemanticsTag().new() : null;
      this[_tagsForChildren].addAll(tags);
    }
    addAncestor(ancestor) {
      this[_ancestorChain][$add](ancestor);
    }
  };
  (object$._InterestingSemanticsFragment.new = function(opts) {
    let owner = opts && 'owner' in opts ? opts.owner : null;
    let dropsSemanticsOfPreviousSiblings = opts && 'dropsSemanticsOfPreviousSiblings' in opts ? opts.dropsSemanticsOfPreviousSiblings : null;
    this[_tagsForChildren] = null;
    if (!(owner != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3418, 15, "owner != null");
    this[_ancestorChain] = JSArrayOfRenderObject().of([owner]);
    object$._InterestingSemanticsFragment.__proto__.new.call(this, {dropsSemanticsOfPreviousSiblings: dropsSemanticsOfPreviousSiblings});
    ;
  }).prototype = object$._InterestingSemanticsFragment.prototype;
  dart.addTypeTests(object$._InterestingSemanticsFragment);
  dart.setMethodSignature(object$._InterestingSemanticsFragment, () => ({
    __proto__: dart.getMethods(object$._InterestingSemanticsFragment.__proto__),
    addTags: dart.fnType(dart.void, [core.Iterable$(semantics.SemanticsTag)]),
    addAncestor: dart.fnType(dart.void, [object$.RenderObject])
  }));
  dart.setGetterSignature(object$._InterestingSemanticsFragment, () => ({
    __proto__: dart.getGetters(object$._InterestingSemanticsFragment.__proto__),
    owner: object$.RenderObject,
    hasConfigForParent: core.bool,
    interestingFragments: core.Iterable$(object$._InterestingSemanticsFragment)
  }));
  dart.setLibraryUri(object$._InterestingSemanticsFragment, "package:flutter/src/rendering/object.dart");
  dart.setFieldSignature(object$._InterestingSemanticsFragment, () => ({
    __proto__: dart.getFields(object$._InterestingSemanticsFragment.__proto__),
    [_ancestorChain]: dart.finalFieldType(core.List$(object$.RenderObject)),
    [_tagsForChildren]: dart.fieldType(core.Set$(semantics.SemanticsTag))
  }));
  const _children = dart.privateName(object$, "_children");
  object$._RootSemanticsFragment = class _RootSemanticsFragment extends object$._InterestingSemanticsFragment {
    compileChildren(opts) {
      let parentSemanticsClipRect = opts && 'parentSemanticsClipRect' in opts ? opts.parentSemanticsClipRect : null;
      let parentPaintClipRect = opts && 'parentPaintClipRect' in opts ? opts.parentPaintClipRect : null;
      let elevationAdjustment = opts && 'elevationAdjustment' in opts ? opts.elevationAdjustment : null;
      return new (SyncIterableOfSemanticsNode()).new((function* compileChildren() {
        let t4;
        if (!(this[_tagsForChildren] == null || dart.test(this[_tagsForChildren][$isEmpty]))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3511, 12, "_tagsForChildren == null || _tagsForChildren.isEmpty");
        if (!(parentSemanticsClipRect == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3512, 12, "parentSemanticsClipRect == null");
        if (!(parentPaintClipRect == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3513, 12, "parentPaintClipRect == null");
        if (!(this[_ancestorChain][$length] === 1)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3514, 12, "_ancestorChain.length == 1");
        if (!(elevationAdjustment === 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3515, 12, "elevationAdjustment == 0.0");
        t4 = this.owner;
        t4[_semantics] == null ? t4[_semantics] = new semantics.SemanticsNode.root({showOnScreen: dart.bind(this.owner, 'showOnScreen'), owner: this.owner.owner.semanticsOwner}) : null;
        let node = this.owner[_semantics];
        if (!dart.test(matrix_utils.MatrixUtils.matrixEquals(node.transform, vector_math_64.Matrix4.identity()))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3522, 12, "MatrixUtils.matrixEquals(node.transform, Matrix4.identity())");
        if (!(node.parentSemanticsClipRect == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3523, 12, "node.parentSemanticsClipRect == null");
        if (!(node.parentPaintClipRect == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3524, 12, "node.parentPaintClipRect == null");
        node.rect = this.owner.semanticBounds;
        let children = this[_children][$expand](semantics.SemanticsNode, dart.fn(fragment => {
          if (!(fragment.config == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3530, 16, "fragment.config == null");
          return fragment.compileChildren({parentSemanticsClipRect: parentSemanticsClipRect, parentPaintClipRect: parentPaintClipRect, elevationAdjustment: 0.0});
        }, _InterestingSemanticsFragmentToIterableOfSemanticsNode()))[$toList]();
        node.updateWith({config: null, childrenInInversePaintOrder: children});
        if (!(!dart.test(node.isInvisible) || dart.test(children[$isEmpty]))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3545, 12, "!node.isInvisible || children.isEmpty");
        yield node;
      }).bind(this));
    }
    get config() {
      return null;
    }
    markAsExplicit() {
    }
    addAll(fragments) {
      this[_children][$addAll](fragments);
    }
  };
  (object$._RootSemanticsFragment.new = function(opts) {
    let owner = opts && 'owner' in opts ? opts.owner : null;
    let dropsSemanticsOfPreviousSiblings = opts && 'dropsSemanticsOfPreviousSiblings' in opts ? opts.dropsSemanticsOfPreviousSiblings : null;
    this[_children] = JSArrayOf_InterestingSemanticsFragment().of([]);
    object$._RootSemanticsFragment.__proto__.new.call(this, {owner: owner, dropsSemanticsOfPreviousSiblings: dropsSemanticsOfPreviousSiblings});
    ;
  }).prototype = object$._RootSemanticsFragment.prototype;
  dart.addTypeTests(object$._RootSemanticsFragment);
  dart.setMethodSignature(object$._RootSemanticsFragment, () => ({
    __proto__: dart.getMethods(object$._RootSemanticsFragment.__proto__),
    compileChildren: dart.fnType(core.Iterable$(semantics.SemanticsNode), [], {elevationAdjustment: core.double, parentPaintClipRect: ui.Rect, parentSemanticsClipRect: ui.Rect}, {}),
    markAsExplicit: dart.fnType(dart.void, []),
    addAll: dart.fnType(dart.void, [core.Iterable$(object$._InterestingSemanticsFragment)])
  }));
  dart.setGetterSignature(object$._RootSemanticsFragment, () => ({
    __proto__: dart.getGetters(object$._RootSemanticsFragment.__proto__),
    config: semantics.SemanticsConfiguration
  }));
  dart.setLibraryUri(object$._RootSemanticsFragment, "package:flutter/src/rendering/object.dart");
  dart.setFieldSignature(object$._RootSemanticsFragment, () => ({
    __proto__: dart.getFields(object$._RootSemanticsFragment.__proto__),
    [_children]: dart.finalFieldType(core.List$(object$._InterestingSemanticsFragment))
  }));
  const _isConfigWritable = dart.privateName(object$, "_isConfigWritable");
  const _isExplicit = dart.privateName(object$, "_isExplicit");
  const _mergeIntoParent = dart.privateName(object$, "_mergeIntoParent");
  const _config = dart.privateName(object$, "_config");
  const _needsGeometryUpdate = dart.privateName(object$, "_needsGeometryUpdate");
  const _ensureConfigIsWritable = dart.privateName(object$, "_ensureConfigIsWritable");
  object$._SwitchableSemanticsFragment = class _SwitchableSemanticsFragment extends object$._InterestingSemanticsFragment {
    compileChildren(opts) {
      let parentSemanticsClipRect = opts && 'parentSemanticsClipRect' in opts ? opts.parentSemanticsClipRect : null;
      let parentPaintClipRect = opts && 'parentPaintClipRect' in opts ? opts.parentPaintClipRect : null;
      let elevationAdjustment = opts && 'elevationAdjustment' in opts ? opts.elevationAdjustment : null;
      return new (SyncIterableOfSemanticsNode()).new((function* compileChildren() {
        let t4, t4$, t4$0, t4$1, t4$2;
        if (!dart.test(this[_isExplicit])) {
          this.owner[_semantics] = null;
          for (let fragment of this[_children]) {
            if (!dart.equals(this[_ancestorChain][$first], fragment[_ancestorChain][$last])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3605, 16, "_ancestorChain.first == fragment._ancestorChain.last");
            fragment[_ancestorChain][$addAll](this[_ancestorChain][$sublist](1));
            yield* fragment.compileChildren({parentSemanticsClipRect: parentSemanticsClipRect, parentPaintClipRect: parentPaintClipRect, elevationAdjustment: dart.notNull(elevationAdjustment) + dart.notNull(this[_config].elevation)});
          }
          return;
        }
        let geometry = dart.test(this[_needsGeometryUpdate]) ? new object$._SemanticsGeometry.new({parentSemanticsClipRect: parentSemanticsClipRect, parentPaintClipRect: parentPaintClipRect, ancestors: this[_ancestorChain]}) : null;
        if (!dart.test(this[_mergeIntoParent]) && dart.equals((t4 = geometry, t4 == null ? null : t4.dropFromTree), true)) return;
        t4$ = this.owner;
        t4$[_semantics] == null ? t4$[_semantics] = new semantics.SemanticsNode.new({showOnScreen: dart.bind(this.owner, 'showOnScreen')}) : null;
        let node = (t4$0 = this.owner[_semantics], t4$0.isMergedIntoParent = this[_mergeIntoParent], t4$0.tags = this[_tagsForChildren], t4$0);
        node.elevationAdjustment = elevationAdjustment;
        if (elevationAdjustment !== 0.0) {
          this[_ensureConfigIsWritable]();
          t4$1 = this[_config];
          t4$1.elevation = dart.notNull(t4$1.elevation) + dart.notNull(elevationAdjustment);
        }
        if (geometry != null) {
          if (!dart.test(this[_needsGeometryUpdate])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3638, 14, "_needsGeometryUpdate");
          t4$2 = node;
          t4$2.rect = geometry.rect;
          t4$2.transform = geometry.transform;
          t4$2.parentSemanticsClipRect = geometry.semanticsClipRect;
          t4$2.parentPaintClipRect = geometry.paintClipRect;
          t4$2;
          if (!dart.test(this[_mergeIntoParent]) && dart.test(geometry.markAsHidden)) {
            this[_ensureConfigIsWritable]();
            this[_config].isHidden = true;
          }
        }
        let children = this[_children][$expand](semantics.SemanticsNode, dart.fn(fragment => fragment.compileChildren({parentSemanticsClipRect: node.parentSemanticsClipRect, parentPaintClipRect: node.parentPaintClipRect, elevationAdjustment: 0.0}), _InterestingSemanticsFragmentToIterableOfSemanticsNode()))[$toList]();
        if (dart.test(this[_config].isSemanticBoundary)) {
          this.owner.assembleSemanticsNode(node, this[_config], children);
        } else {
          node.updateWith({config: this[_config], childrenInInversePaintOrder: children});
        }
        yield node;
      }).bind(this));
    }
    get config() {
      return dart.test(this[_isExplicit]) ? null : this[_config];
    }
    addAll(fragments) {
      for (let fragment of fragments) {
        this[_children][$add](fragment);
        if (fragment.config == null) continue;
        this[_ensureConfigIsWritable]();
        this[_config].absorb(fragment.config);
      }
    }
    [_ensureConfigIsWritable]() {
      if (!dart.test(this[_isConfigWritable])) {
        this[_config] = this[_config].copy();
        this[_isConfigWritable] = true;
      }
    }
    markAsExplicit() {
      this[_isExplicit] = true;
    }
    get [_needsGeometryUpdate]() {
      return dart.notNull(this[_ancestorChain][$length]) > 1;
    }
  };
  (object$._SwitchableSemanticsFragment.new = function(opts) {
    let mergeIntoParent = opts && 'mergeIntoParent' in opts ? opts.mergeIntoParent : null;
    let config = opts && 'config' in opts ? opts.config : null;
    let owner = opts && 'owner' in opts ? opts.owner : null;
    let dropsSemanticsOfPreviousSiblings = opts && 'dropsSemanticsOfPreviousSiblings' in opts ? opts.dropsSemanticsOfPreviousSiblings : null;
    this[_isConfigWritable] = false;
    this[_children] = JSArrayOf_InterestingSemanticsFragment().of([]);
    this[_isExplicit] = false;
    this[_mergeIntoParent] = mergeIntoParent;
    this[_config] = config;
    if (!(mergeIntoParent != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3591, 15, "mergeIntoParent != null");
    if (!(config != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3592, 15, "config != null");
    object$._SwitchableSemanticsFragment.__proto__.new.call(this, {owner: owner, dropsSemanticsOfPreviousSiblings: dropsSemanticsOfPreviousSiblings});
    ;
  }).prototype = object$._SwitchableSemanticsFragment.prototype;
  dart.addTypeTests(object$._SwitchableSemanticsFragment);
  dart.setMethodSignature(object$._SwitchableSemanticsFragment, () => ({
    __proto__: dart.getMethods(object$._SwitchableSemanticsFragment.__proto__),
    compileChildren: dart.fnType(core.Iterable$(semantics.SemanticsNode), [], {elevationAdjustment: core.double, parentPaintClipRect: ui.Rect, parentSemanticsClipRect: ui.Rect}, {}),
    addAll: dart.fnType(dart.void, [core.Iterable$(object$._InterestingSemanticsFragment)]),
    [_ensureConfigIsWritable]: dart.fnType(dart.void, []),
    markAsExplicit: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(object$._SwitchableSemanticsFragment, () => ({
    __proto__: dart.getGetters(object$._SwitchableSemanticsFragment.__proto__),
    config: semantics.SemanticsConfiguration,
    [_needsGeometryUpdate]: core.bool
  }));
  dart.setLibraryUri(object$._SwitchableSemanticsFragment, "package:flutter/src/rendering/object.dart");
  dart.setFieldSignature(object$._SwitchableSemanticsFragment, () => ({
    __proto__: dart.getFields(object$._SwitchableSemanticsFragment.__proto__),
    [_mergeIntoParent]: dart.finalFieldType(core.bool),
    [_config]: dart.fieldType(semantics.SemanticsConfiguration),
    [_isConfigWritable]: dart.fieldType(core.bool),
    [_children]: dart.finalFieldType(core.List$(object$._InterestingSemanticsFragment)),
    [_isExplicit]: dart.fieldType(core.bool)
  }));
  object$._AbortingSemanticsFragment = class _AbortingSemanticsFragment extends object$._InterestingSemanticsFragment {
    get abortsWalk() {
      return true;
    }
    get config() {
      return null;
    }
    addAll(fragments) {
      if (!false) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3719, 12, "false");
    }
    compileChildren(opts) {
      let parentSemanticsClipRect = opts && 'parentSemanticsClipRect' in opts ? opts.parentSemanticsClipRect : null;
      let parentPaintClipRect = opts && 'parentPaintClipRect' in opts ? opts.parentPaintClipRect : null;
      let elevationAdjustment = opts && 'elevationAdjustment' in opts ? opts.elevationAdjustment : null;
      return new (SyncIterableOfSemanticsNode()).new((function* compileChildren() {
        yield this.owner[_semantics];
      }).bind(this));
    }
    markAsExplicit() {
    }
  };
  (object$._AbortingSemanticsFragment.new = function(opts) {
    let owner = opts && 'owner' in opts ? opts.owner : null;
    object$._AbortingSemanticsFragment.__proto__.new.call(this, {owner: owner, dropsSemanticsOfPreviousSiblings: false});
    ;
  }).prototype = object$._AbortingSemanticsFragment.prototype;
  dart.addTypeTests(object$._AbortingSemanticsFragment);
  dart.setMethodSignature(object$._AbortingSemanticsFragment, () => ({
    __proto__: dart.getMethods(object$._AbortingSemanticsFragment.__proto__),
    addAll: dart.fnType(dart.void, [core.Iterable$(object$._InterestingSemanticsFragment)]),
    compileChildren: dart.fnType(core.Iterable$(semantics.SemanticsNode), [], {elevationAdjustment: core.double, parentPaintClipRect: ui.Rect, parentSemanticsClipRect: ui.Rect}, {}),
    markAsExplicit: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(object$._AbortingSemanticsFragment, () => ({
    __proto__: dart.getGetters(object$._AbortingSemanticsFragment.__proto__),
    config: semantics.SemanticsConfiguration
  }));
  dart.setLibraryUri(object$._AbortingSemanticsFragment, "package:flutter/src/rendering/object.dart");
  const _paintClipRect = dart.privateName(object$, "_paintClipRect");
  const _semanticsClipRect = dart.privateName(object$, "_semanticsClipRect");
  const _transform = dart.privateName(object$, "_transform");
  const _rect = dart.privateName(object$, "_rect");
  const _markAsHidden = dart.privateName(object$, "_markAsHidden");
  const _computeValues = dart.privateName(object$, "_computeValues");
  object$._SemanticsGeometry = class _SemanticsGeometry extends core.Object {
    get transform() {
      return this[_transform];
    }
    get semanticsClipRect() {
      return this[_semanticsClipRect];
    }
    get paintClipRect() {
      return this[_paintClipRect];
    }
    get rect() {
      return this[_rect];
    }
    [_computeValues](parentSemanticsClipRect, parentPaintClipRect, ancestors) {
      if (!(dart.notNull(ancestors[$length]) > 1)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3771, 12, "ancestors.length > 1");
      this[_transform] = vector_math_64.Matrix4.identity();
      this[_semanticsClipRect] = parentSemanticsClipRect;
      this[_paintClipRect] = parentPaintClipRect;
      for (let index = dart.notNull(ancestors[$length]) - 1; index > 0; index = index - 1) {
        let parent = ancestors[$_get](index);
        let child = ancestors[$_get](index - 1);
        let parentSemanticsClipRect = parent.describeSemanticsClip(child);
        if (parentSemanticsClipRect != null) {
          this[_semanticsClipRect] = parentSemanticsClipRect;
          this[_paintClipRect] = object$._SemanticsGeometry._intersectRects(this[_paintClipRect], parent.describeApproximatePaintClip(child));
        } else {
          this[_semanticsClipRect] = object$._SemanticsGeometry._intersectRects(this[_semanticsClipRect], parent.describeApproximatePaintClip(child));
        }
        object$._SemanticsGeometry._temporaryTransformHolder.setIdentity();
        object$._SemanticsGeometry._applyIntermediatePaintTransforms(parent, child, this[_transform], object$._SemanticsGeometry._temporaryTransformHolder);
        this[_semanticsClipRect] = object$._SemanticsGeometry._transformRect(this[_semanticsClipRect], object$._SemanticsGeometry._temporaryTransformHolder);
        this[_paintClipRect] = object$._SemanticsGeometry._transformRect(this[_paintClipRect], object$._SemanticsGeometry._temporaryTransformHolder);
      }
      let owner = ancestors[$first];
      this[_rect] = this[_semanticsClipRect] == null ? owner.semanticBounds : this[_semanticsClipRect].intersect(owner.semanticBounds);
      if (this[_paintClipRect] != null) {
        let paintRect = this[_paintClipRect].intersect(this[_rect]);
        this[_markAsHidden] = dart.test(paintRect.isEmpty) && !dart.test(this[_rect].isEmpty);
        if (!dart.test(this[_markAsHidden])) this[_rect] = paintRect;
      }
    }
    static _transformRect(rect, transform) {
      if (!(transform != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3813, 12, "transform != null");
      if (rect == null) return null;
      if (dart.test(rect.isEmpty) || dart.test(transform.isZero())) return ui.Rect.zero;
      return matrix_utils.MatrixUtils.inverseTransformRect(transform, rect);
    }
    static _applyIntermediatePaintTransforms(ancestor, child, transform, clipRectTransform) {
      if (!(ancestor != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3832, 12, "ancestor != null");
      if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3833, 12, "child != null");
      if (!(transform != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3834, 12, "transform != null");
      if (!(clipRectTransform != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3835, 12, "clipRectTransform != null");
      if (!dart.test(clipRectTransform.isIdentity())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3836, 12, "clipRectTransform.isIdentity()");
      let intermediateParent = object$.RenderObject.as(child.parent);
      if (!(intermediateParent != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3838, 12, "intermediateParent != null");
      while (!dart.equals(intermediateParent, ancestor)) {
        intermediateParent.applyPaintTransform(child, transform);
        intermediateParent = object$.RenderObject.as(intermediateParent.parent);
        child = object$.RenderObject.as(child.parent);
        if (!(intermediateParent != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3843, 14, "intermediateParent != null");
      }
      ancestor.applyPaintTransform(child, transform);
      ancestor.applyPaintTransform(child, clipRectTransform);
    }
    static _intersectRects(a, b) {
      if (a == null) return b;
      if (b == null) return a;
      return a.intersect(b);
    }
    get dropFromTree() {
      return this[_rect].isEmpty;
    }
    get markAsHidden() {
      return this[_markAsHidden];
    }
  };
  (object$._SemanticsGeometry.new = function(opts) {
    let parentSemanticsClipRect = opts && 'parentSemanticsClipRect' in opts ? opts.parentSemanticsClipRect : null;
    let parentPaintClipRect = opts && 'parentPaintClipRect' in opts ? opts.parentPaintClipRect : null;
    let ancestors = opts && 'ancestors' in opts ? opts.ancestors : null;
    this[_paintClipRect] = null;
    this[_semanticsClipRect] = null;
    this[_transform] = null;
    this[_rect] = null;
    this[_markAsHidden] = false;
    this[_computeValues](parentSemanticsClipRect, parentPaintClipRect, ancestors);
  }).prototype = object$._SemanticsGeometry.prototype;
  dart.addTypeTests(object$._SemanticsGeometry);
  dart.setMethodSignature(object$._SemanticsGeometry, () => ({
    __proto__: dart.getMethods(object$._SemanticsGeometry.__proto__),
    [_computeValues]: dart.fnType(dart.void, [ui.Rect, ui.Rect, core.List$(object$.RenderObject)])
  }));
  dart.setGetterSignature(object$._SemanticsGeometry, () => ({
    __proto__: dart.getGetters(object$._SemanticsGeometry.__proto__),
    transform: vector_math_64.Matrix4,
    semanticsClipRect: ui.Rect,
    paintClipRect: ui.Rect,
    rect: ui.Rect,
    dropFromTree: core.bool,
    markAsHidden: core.bool
  }));
  dart.setLibraryUri(object$._SemanticsGeometry, "package:flutter/src/rendering/object.dart");
  dart.setFieldSignature(object$._SemanticsGeometry, () => ({
    __proto__: dart.getFields(object$._SemanticsGeometry.__proto__),
    [_paintClipRect]: dart.fieldType(ui.Rect),
    [_semanticsClipRect]: dart.fieldType(ui.Rect),
    [_transform]: dart.fieldType(vector_math_64.Matrix4),
    [_rect]: dart.fieldType(ui.Rect),
    [_markAsHidden]: dart.fieldType(core.bool)
  }));
  dart.defineLazy(object$._SemanticsGeometry, {
    /*object$._SemanticsGeometry._temporaryTransformHolder*/get _temporaryTransformHolder() {
      return new vector_math_64.Matrix4.zero();
    }
  });
  object$.DiagnosticsDebugCreator = class DiagnosticsDebugCreator extends diagnostics.DiagnosticsProperty$(core.Object) {};
  (object$.DiagnosticsDebugCreator.new = function(value) {
    if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/object.dart", 3887, 14, "value != null");
    object$.DiagnosticsDebugCreator.__proto__.new.call(this, "debugCreator", value, {level: diagnostics.DiagnosticLevel.hidden});
    ;
  }).prototype = object$.DiagnosticsDebugCreator.prototype;
  dart.addTypeTests(object$.DiagnosticsDebugCreator);
  dart.setLibraryUri(object$.DiagnosticsDebugCreator, "package:flutter/src/rendering/object.dart");
  const _is_AnnotationEntry_default = Symbol('_is_AnnotationEntry_default');
  const annotation$ = dart.privateName(layer$, "AnnotationEntry.annotation");
  const localPosition$ = dart.privateName(layer$, "AnnotationEntry.localPosition");
  layer$.AnnotationEntry$ = dart.generic(T => {
    class AnnotationEntry extends core.Object {
      get annotation() {
        return this[annotation$];
      }
      set annotation(value) {
        super.annotation = value;
      }
      get localPosition() {
        return this[localPosition$];
      }
      set localPosition(value) {
        super.localPosition = value;
      }
      toString() {
        return dart.str(object.objectRuntimeType(this, "AnnotationEntry")) + "(annotation: " + dart.str(this.annotation) + ", localPostion: " + dart.str(this.localPosition) + ")";
      }
    }
    (AnnotationEntry.new = function(opts) {
      let annotation = opts && 'annotation' in opts ? opts.annotation : null;
      let localPosition = opts && 'localPosition' in opts ? opts.localPosition : null;
      this[annotation$] = annotation;
      this[localPosition$] = localPosition;
      if (!(localPosition != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 28, 15, "localPosition != null");
      ;
    }).prototype = AnnotationEntry.prototype;
    dart.addTypeTests(AnnotationEntry);
    AnnotationEntry.prototype[_is_AnnotationEntry_default] = true;
    dart.setLibraryUri(AnnotationEntry, "package:flutter/src/rendering/layer.dart");
    dart.setFieldSignature(AnnotationEntry, () => ({
      __proto__: dart.getFields(AnnotationEntry.__proto__),
      annotation: dart.finalFieldType(T),
      localPosition: dart.finalFieldType(ui.Offset)
    }));
    dart.defineExtensionMethods(AnnotationEntry, ['toString']);
    return AnnotationEntry;
  });
  layer$.AnnotationEntry = layer$.AnnotationEntry$();
  dart.addTypeTests(layer$.AnnotationEntry, _is_AnnotationEntry_default);
  const _entries = dart.privateName(layer$, "_entries");
  const _is_AnnotationResult_default = Symbol('_is_AnnotationResult_default');
  layer$.AnnotationResult$ = dart.generic(T => {
    let AnnotationEntryOfT = () => (AnnotationEntryOfT = dart.constFn(layer$.AnnotationEntry$(T)))();
    let JSArrayOfAnnotationEntryOfT = () => (JSArrayOfAnnotationEntryOfT = dart.constFn(_interceptors.JSArray$(AnnotationEntryOfT())))();
    let SyncIterableOfT = () => (SyncIterableOfT = dart.constFn(_js_helper.SyncIterable$(T)))();
    class AnnotationResult extends core.Object {
      add(entry) {
        AnnotationEntryOfT()._check(entry);
        return this[_entries][$add](entry);
      }
      get entries() {
        return this[_entries];
      }
      get annotations() {
        return new (SyncIterableOfT()).new((function* annotations() {
          for (let entry of this[_entries])
            yield entry.annotation;
        }).bind(this));
      }
    }
    (AnnotationResult.new = function() {
      this[_entries] = JSArrayOfAnnotationEntryOfT().of([]);
      ;
    }).prototype = AnnotationResult.prototype;
    dart.addTypeTests(AnnotationResult);
    AnnotationResult.prototype[_is_AnnotationResult_default] = true;
    dart.setMethodSignature(AnnotationResult, () => ({
      __proto__: dart.getMethods(AnnotationResult.__proto__),
      add: dart.fnType(dart.void, [core.Object])
    }));
    dart.setGetterSignature(AnnotationResult, () => ({
      __proto__: dart.getGetters(AnnotationResult.__proto__),
      entries: core.Iterable$(layer$.AnnotationEntry$(T)),
      annotations: core.Iterable$(T)
    }));
    dart.setLibraryUri(AnnotationResult, "package:flutter/src/rendering/layer.dart");
    dart.setFieldSignature(AnnotationResult, () => ({
      __proto__: dart.getFields(AnnotationResult.__proto__),
      [_entries]: dart.finalFieldType(core.List$(layer$.AnnotationEntry$(T)))
    }));
    return AnnotationResult;
  });
  layer$.AnnotationResult = layer$.AnnotationResult$();
  dart.addTypeTests(layer$.AnnotationResult, _is_AnnotationResult_default);
  const _needsAddToScene = dart.privateName(layer$, "_needsAddToScene");
  const _engineLayer = dart.privateName(layer$, "_engineLayer");
  const _nextSibling = dart.privateName(layer$, "_nextSibling");
  const _previousSibling = dart.privateName(layer$, "_previousSibling");
  const _removeChild = dart.privateName(layer$, "_removeChild");
  const _addToSceneWithRetainedRendering = dart.privateName(layer$, "_addToSceneWithRetainedRendering");
  const debugCreator$ = dart.privateName(layer$, "Layer.debugCreator");
  const AbstractNode_DiagnosticableTreeMixin$36$ = class AbstractNode_DiagnosticableTreeMixin extends node.AbstractNode {};
  (AbstractNode_DiagnosticableTreeMixin$36$.new = function() {
    AbstractNode_DiagnosticableTreeMixin$36$.__proto__.new.call(this);
  }).prototype = AbstractNode_DiagnosticableTreeMixin$36$.prototype;
  dart.applyMixin(AbstractNode_DiagnosticableTreeMixin$36$, diagnostics.DiagnosticableTreeMixin);
  layer$.Layer = class Layer extends AbstractNode_DiagnosticableTreeMixin$36$ {
    get debugCreator() {
      return this[debugCreator$];
    }
    set debugCreator(value) {
      this[debugCreator$] = value;
    }
    get parent() {
      return layer$.ContainerLayer.as(super.parent);
    }
    markNeedsAddToScene() {
      if (!!dart.test(this.alwaysNeedsAddToScene)) dart.assertFailed(dart.str(this[$runtimeType]) + " with alwaysNeedsAddToScene set called markNeedsAddToScene.\n" + "The layer's alwaysNeedsAddToScene is set to true, and therefore it should not call markNeedsAddToScene.", "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 135, 7, "!alwaysNeedsAddToScene");
      if (dart.test(this[_needsAddToScene])) {
        return;
      }
      this[_needsAddToScene] = true;
    }
    debugMarkClean() {
      if (!dart.test(dart.fn(() => {
        this[_needsAddToScene] = false;
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 154, 12, "() {\r\n      _needsAddToScene = false;\r\n      return true;\r\n    }()");
    }
    get alwaysNeedsAddToScene() {
      return false;
    }
    get debugSubtreeNeedsAddToScene() {
      let result = null;
      if (!dart.test(dart.fn(() => {
        result = this[_needsAddToScene];
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 171, 12, "() {\r\n      result = _needsAddToScene;\r\n      return true;\r\n    }()");
      return result;
    }
    get engineLayer() {
      return this[_engineLayer];
    }
    set engineLayer(value) {
      this[_engineLayer] = value;
      if (!dart.test(this.alwaysNeedsAddToScene)) {
        if (this.parent != null && !dart.test(this.parent.alwaysNeedsAddToScene)) {
          this.parent.markNeedsAddToScene();
        }
      }
    }
    updateSubtreeNeedsAddToScene() {
      this[_needsAddToScene] = dart.test(this[_needsAddToScene]) || dart.test(this.alwaysNeedsAddToScene);
    }
    get nextSibling() {
      return this[_nextSibling];
    }
    get previousSibling() {
      return this[_previousSibling];
    }
    dropChild(child) {
      node.AbstractNode._check(child);
      if (!dart.test(this.alwaysNeedsAddToScene)) {
        this.markNeedsAddToScene();
      }
      super.dropChild(child);
    }
    adoptChild(child) {
      node.AbstractNode._check(child);
      if (!dart.test(this.alwaysNeedsAddToScene)) {
        this.markNeedsAddToScene();
      }
      super.adoptChild(child);
    }
    remove() {
      let t4;
      t4 = this.parent;
      t4 == null ? null : t4[_removeChild](this);
    }
    findAnnotations(S, result, localPosition, opts) {
      let onlyFirst = opts && 'onlyFirst' in opts ? opts.onlyFirst : null;
      return false;
    }
    find(S, localPosition) {
      let result = new (layer$.AnnotationResult$(S)).new();
      this.findAnnotations(S, result, localPosition, {onlyFirst: true});
      return dart.test(result.entries[$isEmpty]) ? null : result.entries[$first].annotation;
    }
    findAll(S, localPosition) {
      let result = this.findAllAnnotations(S, localPosition);
      return result.entries[$map](S, dart.fn(entry => entry.annotation, dart.fnType(S, [layer$.AnnotationEntry$(S)])));
    }
    findAllAnnotations(S, localPosition) {
      let result = new (layer$.AnnotationResult$(S)).new();
      this.findAnnotations(S, result, localPosition, {onlyFirst: false});
      return result;
    }
    [_addToSceneWithRetainedRendering](builder) {
      if (!dart.test(this[_needsAddToScene]) && this[_engineLayer] != null) {
        builder.addRetained(this[_engineLayer]);
        return;
      }
      this.addToScene(builder);
      this[_needsAddToScene] = false;
    }
    toStringShort() {
      return dart.str(super.toStringShort()) + (this.owner == null ? " DETACHED" : "");
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfObject()).new("owner", this.owner, {level: this.parent != null ? diagnostics.DiagnosticLevel.hidden : diagnostics.DiagnosticLevel.info, defaultValue: null}));
      properties.add(new diagnostics.DiagnosticsProperty.new("creator", this.debugCreator, {defaultValue: null, level: diagnostics.DiagnosticLevel.debug}));
    }
  };
  (layer$.Layer.new = function() {
    this[_needsAddToScene] = true;
    this[_engineLayer] = null;
    this[_nextSibling] = null;
    this[_previousSibling] = null;
    this[debugCreator$] = null;
    layer$.Layer.__proto__.new.call(this);
    ;
  }).prototype = layer$.Layer.prototype;
  dart.addTypeTests(layer$.Layer);
  dart.setMethodSignature(layer$.Layer, () => ({
    __proto__: dart.getMethods(layer$.Layer.__proto__),
    markNeedsAddToScene: dart.fnType(dart.void, []),
    debugMarkClean: dart.fnType(dart.void, []),
    updateSubtreeNeedsAddToScene: dart.fnType(dart.void, []),
    remove: dart.fnType(dart.void, []),
    findAnnotations: dart.gFnType(S => [core.bool, [layer$.AnnotationResult$(S), ui.Offset], {onlyFirst: core.bool}, {}]),
    find: dart.gFnType(S => [S, [ui.Offset]]),
    findAll: dart.gFnType(S => [core.Iterable$(S), [ui.Offset]]),
    findAllAnnotations: dart.gFnType(S => [layer$.AnnotationResult$(S), [ui.Offset]]),
    [_addToSceneWithRetainedRendering]: dart.fnType(dart.void, [ui.SceneBuilder])
  }));
  dart.setGetterSignature(layer$.Layer, () => ({
    __proto__: dart.getGetters(layer$.Layer.__proto__),
    parent: layer$.ContainerLayer,
    alwaysNeedsAddToScene: core.bool,
    debugSubtreeNeedsAddToScene: core.bool,
    engineLayer: ui.EngineLayer,
    nextSibling: layer$.Layer,
    previousSibling: layer$.Layer
  }));
  dart.setSetterSignature(layer$.Layer, () => ({
    __proto__: dart.getSetters(layer$.Layer.__proto__),
    engineLayer: ui.EngineLayer
  }));
  dart.setLibraryUri(layer$.Layer, "package:flutter/src/rendering/layer.dart");
  dart.setFieldSignature(layer$.Layer, () => ({
    __proto__: dart.getFields(layer$.Layer.__proto__),
    [_needsAddToScene]: dart.fieldType(core.bool),
    [_engineLayer]: dart.fieldType(ui.EngineLayer),
    [_nextSibling]: dart.fieldType(layer$.Layer),
    [_previousSibling]: dart.fieldType(layer$.Layer),
    debugCreator: dart.fieldType(dart.dynamic)
  }));
  const _picture = dart.privateName(layer$, "_picture");
  const _isComplexHint = dart.privateName(layer$, "_isComplexHint");
  const _willChangeHint = dart.privateName(layer$, "_willChangeHint");
  const OffsetBase__dy = dart.privateName(ui, "OffsetBase._dy");
  const OffsetBase__dx = dart.privateName(ui, "OffsetBase._dx");
  let C7;
  const canvasBounds$ = dart.privateName(layer$, "PictureLayer.canvasBounds");
  layer$.PictureLayer = class PictureLayer extends layer$.Layer {
    get canvasBounds() {
      return this[canvasBounds$];
    }
    set canvasBounds(value) {
      super.canvasBounds = value;
    }
    get picture() {
      return this[_picture];
    }
    set picture(picture) {
      this.markNeedsAddToScene();
      this[_picture] = picture;
    }
    get isComplexHint() {
      return this[_isComplexHint];
    }
    set isComplexHint(value) {
      if (!dart.equals(value, this[_isComplexHint])) {
        this[_isComplexHint] = value;
        this.markNeedsAddToScene();
      }
    }
    get willChangeHint() {
      return this[_willChangeHint];
    }
    set willChangeHint(value) {
      if (!dart.equals(value, this[_willChangeHint])) {
        this[_willChangeHint] = value;
        this.markNeedsAddToScene();
      }
    }
    addToScene(builder, layerOffset = C7 || CT.C7) {
      builder.addPicture(layerOffset, this.picture, {isComplexHint: this.isComplexHint, willChangeHint: this.willChangeHint});
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfRect()).new("paint bounds", this.canvasBounds));
    }
    findAnnotations(S, result, localPosition, opts) {
      let onlyFirst = opts && 'onlyFirst' in opts ? opts.onlyFirst : null;
      return false;
    }
  };
  (layer$.PictureLayer.new = function(canvasBounds) {
    this[_picture] = null;
    this[_isComplexHint] = false;
    this[_willChangeHint] = false;
    this[canvasBounds$] = canvasBounds;
    layer$.PictureLayer.__proto__.new.call(this);
    ;
  }).prototype = layer$.PictureLayer.prototype;
  dart.addTypeTests(layer$.PictureLayer);
  dart.setMethodSignature(layer$.PictureLayer, () => ({
    __proto__: dart.getMethods(layer$.PictureLayer.__proto__),
    addToScene: dart.fnType(dart.void, [ui.SceneBuilder], [ui.Offset]),
    findAnnotations: dart.gFnType(S => [core.bool, [layer$.AnnotationResult$(S), ui.Offset], {onlyFirst: core.bool}, {}])
  }));
  dart.setGetterSignature(layer$.PictureLayer, () => ({
    __proto__: dart.getGetters(layer$.PictureLayer.__proto__),
    picture: ui.Picture,
    isComplexHint: core.bool,
    willChangeHint: core.bool
  }));
  dart.setSetterSignature(layer$.PictureLayer, () => ({
    __proto__: dart.getSetters(layer$.PictureLayer.__proto__),
    picture: ui.Picture,
    isComplexHint: core.bool,
    willChangeHint: core.bool
  }));
  dart.setLibraryUri(layer$.PictureLayer, "package:flutter/src/rendering/layer.dart");
  dart.setFieldSignature(layer$.PictureLayer, () => ({
    __proto__: dart.getFields(layer$.PictureLayer.__proto__),
    canvasBounds: dart.finalFieldType(ui.Rect),
    [_picture]: dart.fieldType(ui.Picture),
    [_isComplexHint]: dart.fieldType(core.bool),
    [_willChangeHint]: dart.fieldType(core.bool)
  }));
  const rect$ = dart.privateName(layer$, "TextureLayer.rect");
  const textureId$ = dart.privateName(layer$, "TextureLayer.textureId");
  const freeze$ = dart.privateName(layer$, "TextureLayer.freeze");
  layer$.TextureLayer = class TextureLayer extends layer$.Layer {
    get rect() {
      return this[rect$];
    }
    set rect(value) {
      super.rect = value;
    }
    get textureId() {
      return this[textureId$];
    }
    set textureId(value) {
      super.textureId = value;
    }
    get freeze() {
      return this[freeze$];
    }
    set freeze(value) {
      super.freeze = value;
    }
    addToScene(builder, layerOffset = C7 || CT.C7) {
      let shiftedRect = dart.equals(layerOffset, ui.Offset.zero) ? this.rect : this.rect.shift(layerOffset);
      builder.addTexture(this.textureId, {offset: shiftedRect.topLeft, width: shiftedRect.width, height: shiftedRect.height, freeze: this.freeze});
    }
    findAnnotations(S, result, localPosition, opts) {
      let onlyFirst = opts && 'onlyFirst' in opts ? opts.onlyFirst : null;
      return false;
    }
  };
  (layer$.TextureLayer.new = function(opts) {
    let rect = opts && 'rect' in opts ? opts.rect : null;
    let textureId = opts && 'textureId' in opts ? opts.textureId : null;
    let freeze = opts && 'freeze' in opts ? opts.freeze : false;
    this[rect$] = rect;
    this[textureId$] = textureId;
    this[freeze$] = freeze;
    if (!(rect != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 581, 15, "rect != null");
    if (!(textureId != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 582, 15, "textureId != null");
    layer$.TextureLayer.__proto__.new.call(this);
    ;
  }).prototype = layer$.TextureLayer.prototype;
  dart.addTypeTests(layer$.TextureLayer);
  dart.setMethodSignature(layer$.TextureLayer, () => ({
    __proto__: dart.getMethods(layer$.TextureLayer.__proto__),
    addToScene: dart.fnType(dart.void, [ui.SceneBuilder], [ui.Offset]),
    findAnnotations: dart.gFnType(S => [core.bool, [layer$.AnnotationResult$(S), ui.Offset], {onlyFirst: core.bool}, {}])
  }));
  dart.setLibraryUri(layer$.TextureLayer, "package:flutter/src/rendering/layer.dart");
  dart.setFieldSignature(layer$.TextureLayer, () => ({
    __proto__: dart.getFields(layer$.TextureLayer.__proto__),
    rect: dart.finalFieldType(ui.Rect),
    textureId: dart.finalFieldType(core.int),
    freeze: dart.finalFieldType(core.bool)
  }));
  const rect$0 = dart.privateName(layer$, "PlatformViewLayer.rect");
  const viewId$ = dart.privateName(layer$, "PlatformViewLayer.viewId");
  const hoverAnnotation$ = dart.privateName(layer$, "PlatformViewLayer.hoverAnnotation");
  layer$.PlatformViewLayer = class PlatformViewLayer extends layer$.Layer {
    get rect() {
      return this[rect$0];
    }
    set rect(value) {
      super.rect = value;
    }
    get viewId() {
      return this[viewId$];
    }
    set viewId(value) {
      super.viewId = value;
    }
    get hoverAnnotation() {
      return this[hoverAnnotation$];
    }
    set hoverAnnotation(value) {
      super.hoverAnnotation = value;
    }
    addToScene(builder, layerOffset = C7 || CT.C7) {
      let shiftedRect = dart.equals(layerOffset, ui.Offset.zero) ? this.rect : this.rect.shift(layerOffset);
      builder.addPlatformView(this.viewId, {offset: shiftedRect.topLeft, width: shiftedRect.width, height: shiftedRect.height});
    }
    findAnnotations(S, result, localPosition, opts) {
      let onlyFirst = opts && 'onlyFirst' in opts ? opts.onlyFirst : null;
      if (this.hoverAnnotation == null || !dart.test(this.rect.contains(localPosition))) {
        return false;
      }
      if (dart.wrapType(S)[$_equals](dart.wrapType(mouse_tracking.MouseTrackerAnnotation))) {
        let untypedValue = this.hoverAnnotation;
        let typedValue = S.as(untypedValue);
        result.add(new (layer$.AnnotationEntry$(S)).new({annotation: typedValue, localPosition: localPosition}));
        return true;
      }
      return false;
    }
  };
  (layer$.PlatformViewLayer.new = function(opts) {
    let rect = opts && 'rect' in opts ? opts.rect : null;
    let viewId = opts && 'viewId' in opts ? opts.viewId : null;
    let hoverAnnotation = opts && 'hoverAnnotation' in opts ? opts.hoverAnnotation : null;
    this[rect$0] = rect;
    this[viewId$] = viewId;
    this[hoverAnnotation$] = hoverAnnotation;
    if (!(rect != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 628, 15, "rect != null");
    if (!(viewId != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 629, 15, "viewId != null");
    layer$.PlatformViewLayer.__proto__.new.call(this);
    ;
  }).prototype = layer$.PlatformViewLayer.prototype;
  dart.addTypeTests(layer$.PlatformViewLayer);
  dart.setMethodSignature(layer$.PlatformViewLayer, () => ({
    __proto__: dart.getMethods(layer$.PlatformViewLayer.__proto__),
    addToScene: dart.fnType(dart.void, [ui.SceneBuilder], [ui.Offset]),
    findAnnotations: dart.gFnType(S => [core.bool, [layer$.AnnotationResult$(S), ui.Offset], {onlyFirst: core.bool}, {}])
  }));
  dart.setLibraryUri(layer$.PlatformViewLayer, "package:flutter/src/rendering/layer.dart");
  dart.setFieldSignature(layer$.PlatformViewLayer, () => ({
    __proto__: dart.getFields(layer$.PlatformViewLayer.__proto__),
    rect: dart.finalFieldType(ui.Rect),
    viewId: dart.finalFieldType(core.int),
    hoverAnnotation: dart.finalFieldType(mouse_tracking.MouseTrackerAnnotation)
  }));
  const _overlayRect = dart.privateName(layer$, "_overlayRect");
  const optionsMask$ = dart.privateName(layer$, "PerformanceOverlayLayer.optionsMask");
  const rasterizerThreshold$ = dart.privateName(layer$, "PerformanceOverlayLayer.rasterizerThreshold");
  const checkerboardRasterCacheImages$ = dart.privateName(layer$, "PerformanceOverlayLayer.checkerboardRasterCacheImages");
  const checkerboardOffscreenLayers$ = dart.privateName(layer$, "PerformanceOverlayLayer.checkerboardOffscreenLayers");
  layer$.PerformanceOverlayLayer = class PerformanceOverlayLayer extends layer$.Layer {
    get optionsMask() {
      return this[optionsMask$];
    }
    set optionsMask(value) {
      super.optionsMask = value;
    }
    get rasterizerThreshold() {
      return this[rasterizerThreshold$];
    }
    set rasterizerThreshold(value) {
      super.rasterizerThreshold = value;
    }
    get checkerboardRasterCacheImages() {
      return this[checkerboardRasterCacheImages$];
    }
    set checkerboardRasterCacheImages(value) {
      super.checkerboardRasterCacheImages = value;
    }
    get checkerboardOffscreenLayers() {
      return this[checkerboardOffscreenLayers$];
    }
    set checkerboardOffscreenLayers(value) {
      super.checkerboardOffscreenLayers = value;
    }
    get overlayRect() {
      return this[_overlayRect];
    }
    set overlayRect(value) {
      if (!dart.equals(value, this[_overlayRect])) {
        this[_overlayRect] = value;
        this.markNeedsAddToScene();
      }
    }
    addToScene(builder, layerOffset = C7 || CT.C7) {
      if (!(this.optionsMask != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 749, 12, "optionsMask != null");
      let shiftedOverlayRect = dart.equals(layerOffset, ui.Offset.zero) ? this.overlayRect : this.overlayRect.shift(layerOffset);
      builder.addPerformanceOverlay(this.optionsMask, shiftedOverlayRect);
      builder.setRasterizerTracingThreshold(this.rasterizerThreshold);
      builder.setCheckerboardRasterCacheImages(this.checkerboardRasterCacheImages);
      builder.setCheckerboardOffscreenLayers(this.checkerboardOffscreenLayers);
    }
    findAnnotations(S, result, localPosition, opts) {
      let onlyFirst = opts && 'onlyFirst' in opts ? opts.onlyFirst : null;
      return false;
    }
  };
  (layer$.PerformanceOverlayLayer.new = function(opts) {
    let overlayRect = opts && 'overlayRect' in opts ? opts.overlayRect : null;
    let optionsMask = opts && 'optionsMask' in opts ? opts.optionsMask : null;
    let rasterizerThreshold = opts && 'rasterizerThreshold' in opts ? opts.rasterizerThreshold : null;
    let checkerboardRasterCacheImages = opts && 'checkerboardRasterCacheImages' in opts ? opts.checkerboardRasterCacheImages : null;
    let checkerboardOffscreenLayers = opts && 'checkerboardOffscreenLayers' in opts ? opts.checkerboardOffscreenLayers : null;
    this[optionsMask$] = optionsMask;
    this[rasterizerThreshold$] = rasterizerThreshold;
    this[checkerboardRasterCacheImages$] = checkerboardRasterCacheImages;
    this[checkerboardOffscreenLayers$] = checkerboardOffscreenLayers;
    this[_overlayRect] = overlayRect;
    layer$.PerformanceOverlayLayer.__proto__.new.call(this);
    ;
  }).prototype = layer$.PerformanceOverlayLayer.prototype;
  dart.addTypeTests(layer$.PerformanceOverlayLayer);
  dart.setMethodSignature(layer$.PerformanceOverlayLayer, () => ({
    __proto__: dart.getMethods(layer$.PerformanceOverlayLayer.__proto__),
    addToScene: dart.fnType(dart.void, [ui.SceneBuilder], [ui.Offset]),
    findAnnotations: dart.gFnType(S => [core.bool, [layer$.AnnotationResult$(S), ui.Offset], {onlyFirst: core.bool}, {}])
  }));
  dart.setGetterSignature(layer$.PerformanceOverlayLayer, () => ({
    __proto__: dart.getGetters(layer$.PerformanceOverlayLayer.__proto__),
    overlayRect: ui.Rect
  }));
  dart.setSetterSignature(layer$.PerformanceOverlayLayer, () => ({
    __proto__: dart.getSetters(layer$.PerformanceOverlayLayer.__proto__),
    overlayRect: ui.Rect
  }));
  dart.setLibraryUri(layer$.PerformanceOverlayLayer, "package:flutter/src/rendering/layer.dart");
  dart.setFieldSignature(layer$.PerformanceOverlayLayer, () => ({
    __proto__: dart.getFields(layer$.PerformanceOverlayLayer.__proto__),
    [_overlayRect]: dart.fieldType(ui.Rect),
    optionsMask: dart.finalFieldType(core.int),
    rasterizerThreshold: dart.finalFieldType(core.int),
    checkerboardRasterCacheImages: dart.finalFieldType(core.bool),
    checkerboardOffscreenLayers: dart.finalFieldType(core.bool)
  }));
  const _firstChild$ = dart.privateName(layer$, "_firstChild");
  const _lastChild$ = dart.privateName(layer$, "_lastChild");
  const _debugCheckElevations = dart.privateName(layer$, "_debugCheckElevations");
  const _debugUltimatePreviousSiblingOf$ = dart.privateName(layer$, "_debugUltimatePreviousSiblingOf");
  const _debugUltimateNextSiblingOf$ = dart.privateName(layer$, "_debugUltimateNextSiblingOf");
  let C8;
  const _highlightConflictingLayer = dart.privateName(layer$, "_highlightConflictingLayer");
  const _processConflictingPhysicalLayers = dart.privateName(layer$, "_processConflictingPhysicalLayers");
  const _debugTransformedClipPath = dart.privateName(layer$, "_debugTransformedClipPath");
  layer$.ContainerLayer = class ContainerLayer extends layer$.Layer {
    get firstChild() {
      return this[_firstChild$];
    }
    get lastChild() {
      return this[_lastChild$];
    }
    get hasChildren() {
      return this[_firstChild$] != null;
    }
    buildScene(builder) {
      let temporaryLayers = null;
      if (!dart.test(dart.fn(() => {
        if (dart.test(debug$0.debugCheckElevationsEnabled)) {
          temporaryLayers = this[_debugCheckElevations]();
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 789, 12, "() {\r\n      if (debugCheckElevationsEnabled) {\r\n        temporaryLayers = _debugCheckElevations();\r\n      }\r\n      return true;\r\n    }()");
      this.updateSubtreeNeedsAddToScene();
      this.addToScene(builder);
      this[_needsAddToScene] = false;
      let scene = builder.build();
      if (!dart.test(dart.fn(() => {
        if (temporaryLayers != null) {
          for (let temporaryLayer of temporaryLayers) {
            temporaryLayer.remove();
          }
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 802, 12, "() {\r\n      // We should remove any layers that got added to highlight the incorrect\r\n      // PhysicalModelLayers. If we don't, we'll end up adding duplicate layers\r\n      // or continuing to render stale outlines.\r\n      if (temporaryLayers != null) {\r\n        for (final PictureLayer temporaryLayer in temporaryLayers) {\r\n          temporaryLayer.remove();\r\n        }\r\n      }\r\n      return true;\r\n    }()");
      return scene;
    }
    [_debugUltimatePreviousSiblingOf$](child, opts) {
      let equals = opts && 'equals' in opts ? opts.equals : null;
      if (!dart.equals(child.attached, this.attached)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 817, 12, "child.attached == attached");
      while (child.previousSibling != null) {
        if (!!dart.equals(child.previousSibling, child)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 819, 14, "child.previousSibling != child");
        child = child.previousSibling;
        if (!dart.equals(child.attached, this.attached)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 821, 14, "child.attached == attached");
      }
      return dart.equals(child, equals);
    }
    [_debugUltimateNextSiblingOf$](child, opts) {
      let equals = opts && 'equals' in opts ? opts.equals : null;
      if (!dart.equals(child.attached, this.attached)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 827, 12, "child.attached == attached");
      while (child[_nextSibling] != null) {
        if (!!dart.equals(child[_nextSibling], child)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 829, 14, "child._nextSibling != child");
        child = child[_nextSibling];
        if (!dart.equals(child.attached, this.attached)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 831, 14, "child.attached == attached");
      }
      return dart.equals(child, equals);
    }
    [_highlightConflictingLayer](child) {
      let t4, t4$;
      let recorder = ui.PictureRecorder.new();
      let canvas = ui.Canvas.new(recorder);
      canvas.drawPath(child.clipPath, (t4 = ui.Paint.new(), t4.color = C8 || CT.C8, t4.style = ui.PaintingStyle.stroke, t4.strokeWidth = dart.notNull(child.elevation) + 10.0, t4));
      let pictureLayer = (t4$ = new layer$.PictureLayer.new(child.clipPath.getBounds()), t4$.picture = recorder.endRecording(), t4$.debugCreator = child, t4$);
      child.append(pictureLayer);
      return pictureLayer;
    }
    [_processConflictingPhysicalLayers](predecessor, child) {
      assertions.FlutterError.reportError(new assertions.FlutterErrorDetails.new({exception: assertions.FlutterError.new("Painting order is out of order with respect to elevation.\n" + "See https://api.flutter.dev/flutter/rendering/debugCheckElevationsEnabled.html " + "for more details."), library: "rendering library", context: new assertions.ErrorDescription.new("during compositing"), informationCollector: dart.fn(() => JSArrayOfDiagnosticsNode().of([child.toDiagnosticsNode({name: "Attempted to composite layer", style: diagnostics.DiagnosticsTreeStyle.errorProperty}), predecessor.toDiagnosticsNode({name: "after layer", style: diagnostics.DiagnosticsTreeStyle.errorProperty}), new assertions.ErrorDescription.new("which occupies the same area at a higher elevation.")]), VoidToListOfDiagnosticsNode())}));
      return JSArrayOfPictureLayer().of([this[_highlightConflictingLayer](predecessor), this[_highlightConflictingLayer](child)]);
    }
    [_debugCheckElevations]() {
      let t4;
      let physicalModelLayers = this.depthFirstIterateChildren()[$whereType](layer$.PhysicalModelLayer)[$toList]();
      let addedLayers = JSArrayOfPictureLayer().of([]);
      for (let i = 0; i < dart.notNull(physicalModelLayers[$length]); i = i + 1) {
        let physicalModelLayer = physicalModelLayers[$_get](i);
        if (!!dart.equals((t4 = physicalModelLayer.lastChild, t4 == null ? null : t4.debugCreator), physicalModelLayer)) dart.assertFailed("debugCheckElevations has either already visited this layer or failed " + "to remove the added picture from it.", "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 889, 9, "physicalModelLayer.lastChild?.debugCreator != physicalModelLayer");
        let accumulatedElevation = physicalModelLayer.elevation;
        let ancestor = physicalModelLayer.parent;
        while (ancestor != null) {
          if (layer$.PhysicalModelLayer.is(ancestor)) {
            accumulatedElevation = dart.notNull(accumulatedElevation) + dart.notNull(ancestor.elevation);
          }
          ancestor = ancestor.parent;
        }
        for (let j = 0; j <= i; j = j + 1) {
          let predecessor = physicalModelLayers[$_get](j);
          let predecessorAccumulatedElevation = predecessor.elevation;
          ancestor = predecessor.parent;
          while (ancestor != null) {
            if (dart.equals(ancestor, predecessor)) {
              continue;
            }
            if (layer$.PhysicalModelLayer.is(ancestor)) {
              predecessorAccumulatedElevation = dart.notNull(predecessorAccumulatedElevation) + dart.notNull(ancestor.elevation);
            }
            ancestor = ancestor.parent;
          }
          if (dart.notNull(predecessorAccumulatedElevation) <= dart.notNull(accumulatedElevation)) {
            continue;
          }
          let intersection = ui.Path.combine(ui.PathOperation.intersect, predecessor[_debugTransformedClipPath], physicalModelLayer[_debugTransformedClipPath]);
          if (intersection != null && dart.test(intersection.computeMetrics()[$any](dart.fn(metric => dart.notNull(metric.length) > 0, PathMetricTobool())))) {
            addedLayers[$addAll](this[_processConflictingPhysicalLayers](predecessor, physicalModelLayer));
          }
        }
      }
      return addedLayers;
    }
    updateSubtreeNeedsAddToScene() {
      super.updateSubtreeNeedsAddToScene();
      let child = this.firstChild;
      while (child != null) {
        child.updateSubtreeNeedsAddToScene();
        this[_needsAddToScene] = dart.test(this[_needsAddToScene]) || dart.test(child[_needsAddToScene]);
        child = child.nextSibling;
      }
    }
    findAnnotations(S, result, localPosition, opts) {
      let onlyFirst = opts && 'onlyFirst' in opts ? opts.onlyFirst : null;
      for (let child = this.lastChild; child != null; child = child.previousSibling) {
        let isAbsorbed = child.findAnnotations(S, result, localPosition, {onlyFirst: onlyFirst});
        if (dart.test(isAbsorbed)) return true;
        if (dart.test(onlyFirst) && dart.test(result.entries[$isNotEmpty])) return isAbsorbed;
      }
      return false;
    }
    attach(owner) {
      super.attach(owner);
      let child = this.firstChild;
      while (child != null) {
        child.attach(owner);
        child = child.nextSibling;
      }
    }
    detach() {
      super.detach();
      let child = this.firstChild;
      while (child != null) {
        child.detach();
        child = child.nextSibling;
      }
    }
    append(child) {
      if (!!dart.equals(child, this)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 976, 12, "child != this");
      if (!!dart.equals(child, this.firstChild)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 977, 12, "child != firstChild");
      if (!!dart.equals(child, this.lastChild)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 978, 12, "child != lastChild");
      if (!(child.parent == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 979, 12, "child.parent == null");
      if (!!dart.test(child.attached)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 980, 12, "!child.attached");
      if (!(child.nextSibling == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 981, 12, "child.nextSibling == null");
      if (!(child.previousSibling == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 982, 12, "child.previousSibling == null");
      if (!dart.test(dart.fn(() => {
        let node = this;
        while (node.parent != null)
          node = node.parent;
        if (!!dart.equals(node, child)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 987, 14, "node != child");
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 983, 12, "() {\r\n      Layer node = this;\r\n      while (node.parent != null)\r\n        node = node.parent;\r\n      assert(node != child); // indicates we are about to create a cycle\r\n      return true;\r\n    }()");
      this.adoptChild(child);
      child[_previousSibling] = this.lastChild;
      if (this.lastChild != null) this.lastChild[_nextSibling] = child;
      this[_lastChild$] = child;
      this[_firstChild$] == null ? this[_firstChild$] = child : null;
      if (!dart.equals(child.attached, this.attached)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 996, 12, "child.attached == attached");
    }
    [_removeChild](child) {
      if (!dart.equals(child.parent, this)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1001, 12, "child.parent == this");
      if (!dart.equals(child.attached, this.attached)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1002, 12, "child.attached == attached");
      if (!dart.test(this[_debugUltimatePreviousSiblingOf$](child, {equals: this.firstChild}))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1003, 12, "_debugUltimatePreviousSiblingOf(child, equals: firstChild)");
      if (!dart.test(this[_debugUltimateNextSiblingOf$](child, {equals: this.lastChild}))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1004, 12, "_debugUltimateNextSiblingOf(child, equals: lastChild)");
      if (child[_previousSibling] == null) {
        if (!dart.equals(this[_firstChild$], child)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1006, 14, "_firstChild == child");
        this[_firstChild$] = child[_nextSibling];
      } else {
        child[_previousSibling][_nextSibling] = child.nextSibling;
      }
      if (child[_nextSibling] == null) {
        if (!dart.equals(this.lastChild, child)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1012, 14, "lastChild == child");
        this[_lastChild$] = child.previousSibling;
      } else {
        child.nextSibling[_previousSibling] = child.previousSibling;
      }
      if (!(this.firstChild == null)[$_equals](this.lastChild == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1017, 12, "(firstChild == null) == (lastChild == null)");
      if (!(this.firstChild == null || dart.equals(this.firstChild.attached, this.attached))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1018, 12, "firstChild == null || firstChild.attached == attached");
      if (!(this.lastChild == null || dart.equals(this.lastChild.attached, this.attached))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1019, 12, "lastChild == null || lastChild.attached == attached");
      if (!(this.firstChild == null || dart.test(this[_debugUltimateNextSiblingOf$](this.firstChild, {equals: this.lastChild})))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1020, 12, "firstChild == null || _debugUltimateNextSiblingOf(firstChild, equals: lastChild)");
      if (!(this.lastChild == null || dart.test(this[_debugUltimatePreviousSiblingOf$](this.lastChild, {equals: this.firstChild})))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1021, 12, "lastChild == null || _debugUltimatePreviousSiblingOf(lastChild, equals: firstChild)");
      child[_previousSibling] = null;
      child[_nextSibling] = null;
      this.dropChild(child);
      if (!!dart.test(child.attached)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1025, 12, "!child.attached");
    }
    removeAllChildren() {
      let child = this.firstChild;
      while (child != null) {
        let next = child.nextSibling;
        child[_previousSibling] = null;
        child[_nextSibling] = null;
        if (!dart.equals(child.attached, this.attached)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1035, 14, "child.attached == attached");
        this.dropChild(child);
        child = next;
      }
      this[_firstChild$] = null;
      this[_lastChild$] = null;
    }
    addToScene(builder, layerOffset = C7 || CT.C7) {
      this.addChildrenToScene(builder, layerOffset);
    }
    addChildrenToScene(builder, childOffset = C7 || CT.C7) {
      let child = this.firstChild;
      while (child != null) {
        if (dart.equals(childOffset, ui.Offset.zero)) {
          child[_addToSceneWithRetainedRendering](builder);
        } else {
          child.addToScene(builder, childOffset);
        }
        child = child.nextSibling;
      }
    }
    applyTransform(child, transform) {
      if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1101, 12, "child != null");
      if (!(transform != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1102, 12, "transform != null");
    }
    depthFirstIterateChildren() {
      if (this.firstChild == null) return JSArrayOfLayer().of([]);
      let children = JSArrayOfLayer().of([]);
      let child = this.firstChild;
      while (child != null) {
        children[$add](child);
        if (layer$.ContainerLayer.is(child)) {
          children[$addAll](child.depthFirstIterateChildren());
        }
        child = child.nextSibling;
      }
      return children;
    }
    debugDescribeChildren() {
      let children = JSArrayOfDiagnosticsNode().of([]);
      if (this.firstChild == null) return children;
      let child = this.firstChild;
      let count = 1;
      while (true) {
        children[$add](child.toDiagnosticsNode({name: "child " + dart.str(count)}));
        if (dart.equals(child, this.lastChild)) break;
        count = count + 1;
        child = child.nextSibling;
      }
      return children;
    }
  };
  (layer$.ContainerLayer.new = function() {
    this[_firstChild$] = null;
    this[_lastChild$] = null;
    layer$.ContainerLayer.__proto__.new.call(this);
    ;
  }).prototype = layer$.ContainerLayer.prototype;
  dart.addTypeTests(layer$.ContainerLayer);
  dart.setMethodSignature(layer$.ContainerLayer, () => ({
    __proto__: dart.getMethods(layer$.ContainerLayer.__proto__),
    buildScene: dart.fnType(ui.Scene, [ui.SceneBuilder]),
    [_debugUltimatePreviousSiblingOf$]: dart.fnType(core.bool, [layer$.Layer], {equals: layer$.Layer}, {}),
    [_debugUltimateNextSiblingOf$]: dart.fnType(core.bool, [layer$.Layer], {equals: layer$.Layer}, {}),
    [_highlightConflictingLayer]: dart.fnType(layer$.PictureLayer, [layer$.PhysicalModelLayer]),
    [_processConflictingPhysicalLayers]: dart.fnType(core.List$(layer$.PictureLayer), [layer$.PhysicalModelLayer, layer$.PhysicalModelLayer]),
    [_debugCheckElevations]: dart.fnType(core.List$(layer$.PictureLayer), []),
    findAnnotations: dart.gFnType(S => [core.bool, [layer$.AnnotationResult$(S), ui.Offset], {onlyFirst: core.bool}, {}]),
    append: dart.fnType(dart.void, [layer$.Layer]),
    [_removeChild]: dart.fnType(dart.void, [layer$.Layer]),
    removeAllChildren: dart.fnType(dart.void, []),
    addToScene: dart.fnType(dart.void, [ui.SceneBuilder], [ui.Offset]),
    addChildrenToScene: dart.fnType(dart.void, [ui.SceneBuilder], [ui.Offset]),
    applyTransform: dart.fnType(dart.void, [layer$.Layer, vector_math_64.Matrix4]),
    depthFirstIterateChildren: dart.fnType(core.List$(layer$.Layer), [])
  }));
  dart.setGetterSignature(layer$.ContainerLayer, () => ({
    __proto__: dart.getGetters(layer$.ContainerLayer.__proto__),
    firstChild: layer$.Layer,
    lastChild: layer$.Layer,
    hasChildren: core.bool
  }));
  dart.setLibraryUri(layer$.ContainerLayer, "package:flutter/src/rendering/layer.dart");
  dart.setFieldSignature(layer$.ContainerLayer, () => ({
    __proto__: dart.getFields(layer$.ContainerLayer.__proto__),
    [_firstChild$]: dart.fieldType(layer$.Layer),
    [_lastChild$]: dart.fieldType(layer$.Layer)
  }));
  const _offset = dart.privateName(layer$, "_offset");
  layer$.OffsetLayer = class OffsetLayer extends layer$.ContainerLayer {
    get offset() {
      return this[_offset];
    }
    set offset(value) {
      if (!dart.equals(value, this[_offset])) {
        this.markNeedsAddToScene();
      }
      this[_offset] = value;
    }
    findAnnotations(S, result, localPosition, opts) {
      let onlyFirst = opts && 'onlyFirst' in opts ? opts.onlyFirst : null;
      return super.findAnnotations(S, result, localPosition['-'](this.offset), {onlyFirst: onlyFirst});
    }
    applyTransform(child, transform) {
      if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1180, 12, "child != null");
      if (!(transform != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1181, 12, "transform != null");
      transform.multiply(vector_math_64.Matrix4.translationValues(this.offset.dx, this.offset.dy, 0.0));
    }
    addToScene(builder, layerOffset = C7 || CT.C7) {
      this.engineLayer = builder.pushOffset(dart.notNull(layerOffset.dx) + dart.notNull(this.offset.dx), dart.notNull(layerOffset.dy) + dart.notNull(this.offset.dy), {oldLayer: ui.OffsetEngineLayer.as(this[_engineLayer])});
      this.addChildrenToScene(builder);
      builder.pop();
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfOffset()).new("offset", this.offset));
    }
    toImage(bounds, opts) {
      let pixelRatio = opts && 'pixelRatio' in opts ? opts.pixelRatio : 1;
      return async.async(ui.Image, (function* toImage() {
        if (!(bounds != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1224, 12, "bounds != null");
        if (!(pixelRatio != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1225, 12, "pixelRatio != null");
        let builder = ui.SceneBuilder.new();
        let transform = vector_math_64.Matrix4.translationValues((-dart.notNull(bounds.left) - dart.notNull(this.offset.dx)) * dart.notNull(pixelRatio), (-dart.notNull(bounds.top) - dart.notNull(this.offset.dy)) * dart.notNull(pixelRatio), 0.0);
        transform.scale(pixelRatio, pixelRatio);
        builder.pushTransform(transform.storage);
        let scene = this.buildScene(builder);
        try {
          return yield scene.toImage((dart.notNull(pixelRatio) * dart.notNull(bounds.width))[$ceil](), (dart.notNull(pixelRatio) * dart.notNull(bounds.height))[$ceil]());
        } finally {
          scene.dispose();
        }
      }).bind(this));
    }
  };
  (layer$.OffsetLayer.new = function(opts) {
    let offset = opts && 'offset' in opts ? opts.offset : C7 || CT.C7;
    this[_offset] = offset;
    layer$.OffsetLayer.__proto__.new.call(this);
    ;
  }).prototype = layer$.OffsetLayer.prototype;
  dart.addTypeTests(layer$.OffsetLayer);
  dart.setMethodSignature(layer$.OffsetLayer, () => ({
    __proto__: dart.getMethods(layer$.OffsetLayer.__proto__),
    findAnnotations: dart.gFnType(S => [core.bool, [layer$.AnnotationResult$(S), ui.Offset], {onlyFirst: core.bool}, {}]),
    toImage: dart.fnType(async.Future$(ui.Image), [ui.Rect], {pixelRatio: core.double}, {})
  }));
  dart.setGetterSignature(layer$.OffsetLayer, () => ({
    __proto__: dart.getGetters(layer$.OffsetLayer.__proto__),
    offset: ui.Offset
  }));
  dart.setSetterSignature(layer$.OffsetLayer, () => ({
    __proto__: dart.getSetters(layer$.OffsetLayer.__proto__),
    offset: ui.Offset
  }));
  dart.setLibraryUri(layer$.OffsetLayer, "package:flutter/src/rendering/layer.dart");
  dart.setFieldSignature(layer$.OffsetLayer, () => ({
    __proto__: dart.getFields(layer$.OffsetLayer.__proto__),
    [_offset]: dart.fieldType(ui.Offset)
  }));
  const _clipRect = dart.privateName(layer$, "_clipRect");
  const _clipBehavior = dart.privateName(layer$, "_clipBehavior");
  layer$.ClipRectLayer = class ClipRectLayer extends layer$.ContainerLayer {
    get clipRect() {
      return this[_clipRect];
    }
    set clipRect(value) {
      if (!dart.equals(value, this[_clipRect])) {
        this[_clipRect] = value;
        this.markNeedsAddToScene();
      }
    }
    get clipBehavior() {
      return this[_clipBehavior];
    }
    set clipBehavior(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1292, 12, "value != null");
      if (!!dart.equals(value, ui.Clip.none)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1293, 12, "value != Clip.none");
      if (!dart.equals(value, this[_clipBehavior])) {
        this[_clipBehavior] = value;
        this.markNeedsAddToScene();
      }
    }
    findAnnotations(S, result, localPosition, opts) {
      let onlyFirst = opts && 'onlyFirst' in opts ? opts.onlyFirst : null;
      if (!dart.test(this.clipRect.contains(localPosition))) return false;
      return super.findAnnotations(S, result, localPosition, {onlyFirst: onlyFirst});
    }
    addToScene(builder, layerOffset = C7 || CT.C7) {
      if (!(this.clipRect != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1310, 12, "clipRect != null");
      if (!(this.clipBehavior != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1311, 12, "clipBehavior != null");
      let enabled = true;
      if (!dart.test(dart.fn(() => {
        enabled = !dart.test(debug$0.debugDisableClipLayers);
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1313, 12, "() {\r\n      enabled = !debugDisableClipLayers;\r\n      return true;\r\n    }()");
      if (enabled) {
        let shiftedClipRect = dart.equals(layerOffset, ui.Offset.zero) ? this.clipRect : this.clipRect.shift(layerOffset);
        this.engineLayer = builder.pushClipRect(shiftedClipRect, {clipBehavior: this.clipBehavior, oldLayer: ui.ClipRectEngineLayer.as(this[_engineLayer])});
      } else {
        this.engineLayer = null;
      }
      this.addChildrenToScene(builder, layerOffset);
      if (enabled) builder.pop();
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfRect()).new("clipRect", this.clipRect));
      properties.add(new (DiagnosticsPropertyOfClip()).new("clipBehavior", this.clipBehavior));
    }
  };
  (layer$.ClipRectLayer.new = function(opts) {
    let clipRect = opts && 'clipRect' in opts ? opts.clipRect : null;
    let clipBehavior = opts && 'clipBehavior' in opts ? opts.clipBehavior : C1 || CT.C1;
    this[_clipRect] = clipRect;
    this[_clipBehavior] = clipBehavior;
    if (!(clipBehavior != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1266, 15, "clipBehavior != null");
    if (!!dart.equals(clipBehavior, ui.Clip.none)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1267, 15, "clipBehavior != Clip.none");
    layer$.ClipRectLayer.__proto__.new.call(this);
    ;
  }).prototype = layer$.ClipRectLayer.prototype;
  dart.addTypeTests(layer$.ClipRectLayer);
  dart.setMethodSignature(layer$.ClipRectLayer, () => ({
    __proto__: dart.getMethods(layer$.ClipRectLayer.__proto__),
    findAnnotations: dart.gFnType(S => [core.bool, [layer$.AnnotationResult$(S), ui.Offset], {onlyFirst: core.bool}, {}])
  }));
  dart.setGetterSignature(layer$.ClipRectLayer, () => ({
    __proto__: dart.getGetters(layer$.ClipRectLayer.__proto__),
    clipRect: ui.Rect,
    clipBehavior: ui.Clip
  }));
  dart.setSetterSignature(layer$.ClipRectLayer, () => ({
    __proto__: dart.getSetters(layer$.ClipRectLayer.__proto__),
    clipRect: ui.Rect,
    clipBehavior: ui.Clip
  }));
  dart.setLibraryUri(layer$.ClipRectLayer, "package:flutter/src/rendering/layer.dart");
  dart.setFieldSignature(layer$.ClipRectLayer, () => ({
    __proto__: dart.getFields(layer$.ClipRectLayer.__proto__),
    [_clipRect]: dart.fieldType(ui.Rect),
    [_clipBehavior]: dart.fieldType(ui.Clip)
  }));
  const _clipRRect = dart.privateName(layer$, "_clipRRect");
  layer$.ClipRRectLayer = class ClipRRectLayer extends layer$.ContainerLayer {
    get clipRRect() {
      return this[_clipRRect];
    }
    set clipRRect(value) {
      if (!dart.equals(value, this[_clipRRect])) {
        this[_clipRRect] = value;
        this.markNeedsAddToScene();
      }
    }
    get clipBehavior() {
      return this[_clipBehavior];
    }
    set clipBehavior(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1377, 12, "value != null");
      if (!!dart.equals(value, ui.Clip.none)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1378, 12, "value != Clip.none");
      if (!dart.equals(value, this[_clipBehavior])) {
        this[_clipBehavior] = value;
        this.markNeedsAddToScene();
      }
    }
    findAnnotations(S, result, localPosition, opts) {
      let onlyFirst = opts && 'onlyFirst' in opts ? opts.onlyFirst : null;
      if (!dart.test(this.clipRRect.contains(localPosition))) return false;
      return super.findAnnotations(S, result, localPosition, {onlyFirst: onlyFirst});
    }
    addToScene(builder, layerOffset = C7 || CT.C7) {
      if (!(this.clipRRect != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1395, 12, "clipRRect != null");
      if (!(this.clipBehavior != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1396, 12, "clipBehavior != null");
      let enabled = true;
      if (!dart.test(dart.fn(() => {
        enabled = !dart.test(debug$0.debugDisableClipLayers);
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1398, 12, "() {\r\n      enabled = !debugDisableClipLayers;\r\n      return true;\r\n    }()");
      if (enabled) {
        let shiftedClipRRect = dart.equals(layerOffset, ui.Offset.zero) ? this.clipRRect : this.clipRRect.shift(layerOffset);
        this.engineLayer = builder.pushClipRRect(shiftedClipRRect, {clipBehavior: this.clipBehavior, oldLayer: ui.ClipRRectEngineLayer.as(this[_engineLayer])});
      } else {
        this.engineLayer = null;
      }
      this.addChildrenToScene(builder, layerOffset);
      if (enabled) builder.pop();
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfRRect()).new("clipRRect", this.clipRRect));
      properties.add(new (DiagnosticsPropertyOfClip()).new("clipBehavior", this.clipBehavior));
    }
  };
  (layer$.ClipRRectLayer.new = function(opts) {
    let clipRRect = opts && 'clipRRect' in opts ? opts.clipRRect : null;
    let clipBehavior = opts && 'clipBehavior' in opts ? opts.clipBehavior : C2 || CT.C2;
    this[_clipRRect] = clipRRect;
    this[_clipBehavior] = clipBehavior;
    if (!(clipBehavior != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1355, 15, "clipBehavior != null");
    if (!!dart.equals(clipBehavior, ui.Clip.none)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1356, 15, "clipBehavior != Clip.none");
    layer$.ClipRRectLayer.__proto__.new.call(this);
    ;
  }).prototype = layer$.ClipRRectLayer.prototype;
  dart.addTypeTests(layer$.ClipRRectLayer);
  dart.setMethodSignature(layer$.ClipRRectLayer, () => ({
    __proto__: dart.getMethods(layer$.ClipRRectLayer.__proto__),
    findAnnotations: dart.gFnType(S => [core.bool, [layer$.AnnotationResult$(S), ui.Offset], {onlyFirst: core.bool}, {}])
  }));
  dart.setGetterSignature(layer$.ClipRRectLayer, () => ({
    __proto__: dart.getGetters(layer$.ClipRRectLayer.__proto__),
    clipRRect: ui.RRect,
    clipBehavior: ui.Clip
  }));
  dart.setSetterSignature(layer$.ClipRRectLayer, () => ({
    __proto__: dart.getSetters(layer$.ClipRRectLayer.__proto__),
    clipRRect: ui.RRect,
    clipBehavior: ui.Clip
  }));
  dart.setLibraryUri(layer$.ClipRRectLayer, "package:flutter/src/rendering/layer.dart");
  dart.setFieldSignature(layer$.ClipRRectLayer, () => ({
    __proto__: dart.getFields(layer$.ClipRRectLayer.__proto__),
    [_clipRRect]: dart.fieldType(ui.RRect),
    [_clipBehavior]: dart.fieldType(ui.Clip)
  }));
  const _clipPath = dart.privateName(layer$, "_clipPath");
  layer$.ClipPathLayer = class ClipPathLayer extends layer$.ContainerLayer {
    get clipPath() {
      return this[_clipPath];
    }
    set clipPath(value) {
      if (!dart.equals(value, this[_clipPath])) {
        this[_clipPath] = value;
        this.markNeedsAddToScene();
      }
    }
    get clipBehavior() {
      return this[_clipBehavior];
    }
    set clipBehavior(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1462, 12, "value != null");
      if (!!dart.equals(value, ui.Clip.none)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1463, 12, "value != Clip.none");
      if (!dart.equals(value, this[_clipBehavior])) {
        this[_clipBehavior] = value;
        this.markNeedsAddToScene();
      }
    }
    findAnnotations(S, result, localPosition, opts) {
      let onlyFirst = opts && 'onlyFirst' in opts ? opts.onlyFirst : null;
      if (!dart.test(this.clipPath.contains(localPosition))) return false;
      return super.findAnnotations(S, result, localPosition, {onlyFirst: onlyFirst});
    }
    addToScene(builder, layerOffset = C7 || CT.C7) {
      if (!(this.clipPath != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1480, 12, "clipPath != null");
      if (!(this.clipBehavior != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1481, 12, "clipBehavior != null");
      let enabled = true;
      if (!dart.test(dart.fn(() => {
        enabled = !dart.test(debug$0.debugDisableClipLayers);
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1483, 12, "() {\r\n      enabled = !debugDisableClipLayers;\r\n      return true;\r\n    }()");
      if (enabled) {
        let shiftedPath = dart.equals(layerOffset, ui.Offset.zero) ? this.clipPath : this.clipPath.shift(layerOffset);
        this.engineLayer = builder.pushClipPath(shiftedPath, {clipBehavior: this.clipBehavior, oldLayer: ui.ClipPathEngineLayer.as(this[_engineLayer])});
      } else {
        this.engineLayer = null;
      }
      this.addChildrenToScene(builder, layerOffset);
      if (enabled) builder.pop();
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfClip()).new("clipBehavior", this.clipBehavior));
    }
  };
  (layer$.ClipPathLayer.new = function(opts) {
    let clipPath = opts && 'clipPath' in opts ? opts.clipPath : null;
    let clipBehavior = opts && 'clipBehavior' in opts ? opts.clipBehavior : C2 || CT.C2;
    this[_clipPath] = clipPath;
    this[_clipBehavior] = clipBehavior;
    if (!(clipBehavior != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1440, 15, "clipBehavior != null");
    if (!!dart.equals(clipBehavior, ui.Clip.none)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1441, 15, "clipBehavior != Clip.none");
    layer$.ClipPathLayer.__proto__.new.call(this);
    ;
  }).prototype = layer$.ClipPathLayer.prototype;
  dart.addTypeTests(layer$.ClipPathLayer);
  dart.setMethodSignature(layer$.ClipPathLayer, () => ({
    __proto__: dart.getMethods(layer$.ClipPathLayer.__proto__),
    findAnnotations: dart.gFnType(S => [core.bool, [layer$.AnnotationResult$(S), ui.Offset], {onlyFirst: core.bool}, {}])
  }));
  dart.setGetterSignature(layer$.ClipPathLayer, () => ({
    __proto__: dart.getGetters(layer$.ClipPathLayer.__proto__),
    clipPath: ui.Path,
    clipBehavior: ui.Clip
  }));
  dart.setSetterSignature(layer$.ClipPathLayer, () => ({
    __proto__: dart.getSetters(layer$.ClipPathLayer.__proto__),
    clipPath: ui.Path,
    clipBehavior: ui.Clip
  }));
  dart.setLibraryUri(layer$.ClipPathLayer, "package:flutter/src/rendering/layer.dart");
  dart.setFieldSignature(layer$.ClipPathLayer, () => ({
    __proto__: dart.getFields(layer$.ClipPathLayer.__proto__),
    [_clipPath]: dart.fieldType(ui.Path),
    [_clipBehavior]: dart.fieldType(ui.Clip)
  }));
  const _colorFilter = dart.privateName(layer$, "_colorFilter");
  layer$.ColorFilterLayer = class ColorFilterLayer extends layer$.ContainerLayer {
    get colorFilter() {
      return this[_colorFilter];
    }
    set colorFilter(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1526, 12, "value != null");
      if (!dart.equals(value, this[_colorFilter])) {
        this[_colorFilter] = value;
        this.markNeedsAddToScene();
      }
    }
    addToScene(builder, layerOffset = C7 || CT.C7) {
      if (!(this.colorFilter != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1535, 12, "colorFilter != null");
      this.engineLayer = builder.pushColorFilter(this.colorFilter, {oldLayer: ui.ColorFilterEngineLayer.as(this[_engineLayer])});
      this.addChildrenToScene(builder, layerOffset);
      builder.pop();
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfColorFilter()).new("colorFilter", this.colorFilter));
    }
  };
  (layer$.ColorFilterLayer.new = function(opts) {
    let colorFilter = opts && 'colorFilter' in opts ? opts.colorFilter : null;
    this[_colorFilter] = colorFilter;
    layer$.ColorFilterLayer.__proto__.new.call(this);
    ;
  }).prototype = layer$.ColorFilterLayer.prototype;
  dart.addTypeTests(layer$.ColorFilterLayer);
  dart.setGetterSignature(layer$.ColorFilterLayer, () => ({
    __proto__: dart.getGetters(layer$.ColorFilterLayer.__proto__),
    colorFilter: ui.ColorFilter
  }));
  dart.setSetterSignature(layer$.ColorFilterLayer, () => ({
    __proto__: dart.getSetters(layer$.ColorFilterLayer.__proto__),
    colorFilter: ui.ColorFilter
  }));
  dart.setLibraryUri(layer$.ColorFilterLayer, "package:flutter/src/rendering/layer.dart");
  dart.setFieldSignature(layer$.ColorFilterLayer, () => ({
    __proto__: dart.getFields(layer$.ColorFilterLayer.__proto__),
    [_colorFilter]: dart.fieldType(ui.ColorFilter)
  }));
  const _imageFilter = dart.privateName(layer$, "_imageFilter");
  layer$.ImageFilterLayer = class ImageFilterLayer extends layer$.ContainerLayer {
    get imageFilter() {
      return this[_imageFilter];
    }
    set imageFilter(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1568, 12, "value != null");
      if (!dart.equals(value, this[_imageFilter])) {
        this[_imageFilter] = value;
        this.markNeedsAddToScene();
      }
    }
    addToScene(builder, layerOffset = C7 || CT.C7) {
      if (!(this.imageFilter != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1577, 12, "imageFilter != null");
      this.engineLayer = builder.pushImageFilter(this.imageFilter, {oldLayer: ui.ImageFilterEngineLayer.as(this[_engineLayer])});
      this.addChildrenToScene(builder, layerOffset);
      builder.pop();
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfImageFilter()).new("imageFilter", this.imageFilter));
    }
  };
  (layer$.ImageFilterLayer.new = function(opts) {
    let imageFilter = opts && 'imageFilter' in opts ? opts.imageFilter : null;
    this[_imageFilter] = imageFilter;
    layer$.ImageFilterLayer.__proto__.new.call(this);
    ;
  }).prototype = layer$.ImageFilterLayer.prototype;
  dart.addTypeTests(layer$.ImageFilterLayer);
  dart.setGetterSignature(layer$.ImageFilterLayer, () => ({
    __proto__: dart.getGetters(layer$.ImageFilterLayer.__proto__),
    imageFilter: ui.ImageFilter
  }));
  dart.setSetterSignature(layer$.ImageFilterLayer, () => ({
    __proto__: dart.getSetters(layer$.ImageFilterLayer.__proto__),
    imageFilter: ui.ImageFilter
  }));
  dart.setLibraryUri(layer$.ImageFilterLayer, "package:flutter/src/rendering/layer.dart");
  dart.setFieldSignature(layer$.ImageFilterLayer, () => ({
    __proto__: dart.getFields(layer$.ImageFilterLayer.__proto__),
    [_imageFilter]: dart.fieldType(ui.ImageFilter)
  }));
  const _lastEffectiveTransform = dart.privateName(layer$, "_lastEffectiveTransform");
  const _invertedTransform = dart.privateName(layer$, "_invertedTransform");
  const _inverseDirty = dart.privateName(layer$, "_inverseDirty");
  const _transform$ = dart.privateName(layer$, "_transform");
  const _transformOffset = dart.privateName(layer$, "_transformOffset");
  layer$.TransformLayer = class TransformLayer extends layer$.OffsetLayer {
    get transform() {
      return this[_transform$];
    }
    set transform(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1619, 12, "value != null");
      if (!dart.test(value.storage[$every](dart.fn(component => component[$isFinite], doubleTobool())))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1620, 12, "value.storage.every((double component) => component.isFinite)");
      if (dart.equals(value, this[_transform$])) return;
      this[_transform$] = value;
      this[_inverseDirty] = true;
      this.markNeedsAddToScene();
    }
    addToScene(builder, layerOffset = C7 || CT.C7) {
      let t4;
      if (!(this.transform != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1634, 12, "transform != null");
      this[_lastEffectiveTransform] = this.transform;
      let totalOffset = this.offset['+'](layerOffset);
      if (!dart.equals(totalOffset, ui.Offset.zero)) {
        this[_lastEffectiveTransform] = (t4 = vector_math_64.Matrix4.translationValues(totalOffset.dx, totalOffset.dy, 0.0), t4.multiply(this[_lastEffectiveTransform]), t4);
      }
      this.engineLayer = builder.pushTransform(this[_lastEffectiveTransform].storage, {oldLayer: ui.TransformEngineLayer.as(this[_engineLayer])});
      this.addChildrenToScene(builder);
      builder.pop();
    }
    [_transformOffset](localPosition) {
      if (dart.test(this[_inverseDirty])) {
        this[_invertedTransform] = vector_math_64.Matrix4.tryInvert(events.PointerEvent.removePerspectiveTransform(this.transform));
        this[_inverseDirty] = false;
      }
      if (this[_invertedTransform] == null) return null;
      return matrix_utils.MatrixUtils.transformPoint(this[_invertedTransform], localPosition);
    }
    findAnnotations(S, result, localPosition, opts) {
      let onlyFirst = opts && 'onlyFirst' in opts ? opts.onlyFirst : null;
      let transformedOffset = this[_transformOffset](localPosition);
      if (transformedOffset == null) return false;
      return super.findAnnotations(S, result, transformedOffset, {onlyFirst: onlyFirst});
    }
    applyTransform(child, transform) {
      if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1673, 12, "child != null");
      if (!(transform != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1674, 12, "transform != null");
      if (!(this[_lastEffectiveTransform] != null || this.transform != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1675, 12, "_lastEffectiveTransform != null || this.transform != null");
      if (this[_lastEffectiveTransform] == null) {
        transform.multiply(this.transform);
      } else {
        transform.multiply(this[_lastEffectiveTransform]);
      }
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new matrix_utils.TransformProperty.new("transform", this.transform));
    }
  };
  (layer$.TransformLayer.new = function(opts) {
    let transform = opts && 'transform' in opts ? opts.transform : null;
    let offset = opts && 'offset' in opts ? opts.offset : C7 || CT.C7;
    this[_lastEffectiveTransform] = null;
    this[_invertedTransform] = null;
    this[_inverseDirty] = true;
    this[_transform$] = transform;
    layer$.TransformLayer.__proto__.new.call(this, {offset: offset});
    ;
  }).prototype = layer$.TransformLayer.prototype;
  dart.addTypeTests(layer$.TransformLayer);
  dart.setMethodSignature(layer$.TransformLayer, () => ({
    __proto__: dart.getMethods(layer$.TransformLayer.__proto__),
    [_transformOffset]: dart.fnType(ui.Offset, [ui.Offset]),
    findAnnotations: dart.gFnType(S => [core.bool, [layer$.AnnotationResult$(S), ui.Offset], {onlyFirst: core.bool}, {}])
  }));
  dart.setGetterSignature(layer$.TransformLayer, () => ({
    __proto__: dart.getGetters(layer$.TransformLayer.__proto__),
    transform: vector_math_64.Matrix4
  }));
  dart.setSetterSignature(layer$.TransformLayer, () => ({
    __proto__: dart.getSetters(layer$.TransformLayer.__proto__),
    transform: vector_math_64.Matrix4
  }));
  dart.setLibraryUri(layer$.TransformLayer, "package:flutter/src/rendering/layer.dart");
  dart.setFieldSignature(layer$.TransformLayer, () => ({
    __proto__: dart.getFields(layer$.TransformLayer.__proto__),
    [_transform$]: dart.fieldType(vector_math_64.Matrix4),
    [_lastEffectiveTransform]: dart.fieldType(vector_math_64.Matrix4),
    [_invertedTransform]: dart.fieldType(vector_math_64.Matrix4),
    [_inverseDirty]: dart.fieldType(core.bool)
  }));
  const _alpha = dart.privateName(layer$, "_alpha");
  layer$.OpacityLayer = class OpacityLayer extends layer$.ContainerLayer {
    get alpha() {
      return this[_alpha];
    }
    set alpha(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1719, 12, "value != null");
      if (value != this[_alpha]) {
        this[_alpha] = value;
        this.markNeedsAddToScene();
      }
    }
    get offset() {
      return this[_offset];
    }
    set offset(value) {
      if (!dart.equals(value, this[_offset])) {
        this[_offset] = value;
        this.markNeedsAddToScene();
      }
    }
    applyTransform(child, transform) {
      if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1738, 12, "child != null");
      if (!(transform != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1739, 12, "transform != null");
      transform.translate(this.offset.dx, this.offset.dy);
    }
    addToScene(builder, layerOffset = C7 || CT.C7) {
      if (!(this.alpha != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1745, 12, "alpha != null");
      let enabled = this.firstChild != null;
      if (!dart.test(dart.fn(() => {
        enabled = enabled && !dart.test(debug$0.debugDisableOpacityLayers);
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1747, 12, "() {\r\n      enabled = enabled && !debugDisableOpacityLayers;\r\n      return true;\r\n    }()");
      if (enabled)
        this.engineLayer = builder.pushOpacity(this.alpha, {offset: this.offset['+'](layerOffset), oldLayer: ui.OpacityEngineLayer.as(this[_engineLayer])});
      else
        this.engineLayer = null;
      this.addChildrenToScene(builder);
      if (enabled) builder.pop();
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new diagnostics.IntProperty.new("alpha", this.alpha));
      properties.add(new (DiagnosticsPropertyOfOffset()).new("offset", this.offset));
    }
  };
  (layer$.OpacityLayer.new = function(opts) {
    let alpha = opts && 'alpha' in opts ? opts.alpha : null;
    let offset = opts && 'offset' in opts ? opts.offset : C7 || CT.C7;
    this[_alpha] = alpha;
    this[_offset] = offset;
    layer$.OpacityLayer.__proto__.new.call(this);
    ;
  }).prototype = layer$.OpacityLayer.prototype;
  dart.addTypeTests(layer$.OpacityLayer);
  dart.setGetterSignature(layer$.OpacityLayer, () => ({
    __proto__: dart.getGetters(layer$.OpacityLayer.__proto__),
    alpha: core.int,
    offset: ui.Offset
  }));
  dart.setSetterSignature(layer$.OpacityLayer, () => ({
    __proto__: dart.getSetters(layer$.OpacityLayer.__proto__),
    alpha: core.int,
    offset: ui.Offset
  }));
  dart.setLibraryUri(layer$.OpacityLayer, "package:flutter/src/rendering/layer.dart");
  dart.setFieldSignature(layer$.OpacityLayer, () => ({
    __proto__: dart.getFields(layer$.OpacityLayer.__proto__),
    [_alpha]: dart.fieldType(core.int),
    [_offset]: dart.fieldType(ui.Offset)
  }));
  const _shader = dart.privateName(layer$, "_shader");
  const _maskRect = dart.privateName(layer$, "_maskRect");
  const _blendMode = dart.privateName(layer$, "_blendMode");
  layer$.ShaderMaskLayer = class ShaderMaskLayer extends layer$.ContainerLayer {
    get shader() {
      return this[_shader];
    }
    set shader(value) {
      if (!dart.equals(value, this[_shader])) {
        this[_shader] = value;
        this.markNeedsAddToScene();
      }
    }
    get maskRect() {
      return this[_maskRect];
    }
    set maskRect(value) {
      if (!dart.equals(value, this[_maskRect])) {
        this[_maskRect] = value;
        this.markNeedsAddToScene();
      }
    }
    get blendMode() {
      return this[_blendMode];
    }
    set blendMode(value) {
      if (!dart.equals(value, this[_blendMode])) {
        this[_blendMode] = value;
        this.markNeedsAddToScene();
      }
    }
    addToScene(builder, layerOffset = C7 || CT.C7) {
      if (!(this.shader != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1844, 12, "shader != null");
      if (!(this.maskRect != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1845, 12, "maskRect != null");
      if (!(this.blendMode != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1846, 12, "blendMode != null");
      if (!(layerOffset != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1847, 12, "layerOffset != null");
      let shiftedMaskRect = dart.equals(layerOffset, ui.Offset.zero) ? this.maskRect : this.maskRect.shift(layerOffset);
      this.engineLayer = builder.pushShaderMask(this.shader, shiftedMaskRect, this.blendMode, {oldLayer: ui.ShaderMaskEngineLayer.as(this[_engineLayer])});
      this.addChildrenToScene(builder, layerOffset);
      builder.pop();
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfShader()).new("shader", this.shader));
      properties.add(new (DiagnosticsPropertyOfRect()).new("maskRect", this.maskRect));
      properties.add(new (DiagnosticsPropertyOfBlendMode()).new("blendMode", this.blendMode));
    }
  };
  (layer$.ShaderMaskLayer.new = function(opts) {
    let shader = opts && 'shader' in opts ? opts.shader : null;
    let maskRect = opts && 'maskRect' in opts ? opts.maskRect : null;
    let blendMode = opts && 'blendMode' in opts ? opts.blendMode : null;
    this[_shader] = shader;
    this[_maskRect] = maskRect;
    this[_blendMode] = blendMode;
    layer$.ShaderMaskLayer.__proto__.new.call(this);
    ;
  }).prototype = layer$.ShaderMaskLayer.prototype;
  dart.addTypeTests(layer$.ShaderMaskLayer);
  dart.setGetterSignature(layer$.ShaderMaskLayer, () => ({
    __proto__: dart.getGetters(layer$.ShaderMaskLayer.__proto__),
    shader: ui.Shader,
    maskRect: ui.Rect,
    blendMode: ui.BlendMode
  }));
  dart.setSetterSignature(layer$.ShaderMaskLayer, () => ({
    __proto__: dart.getSetters(layer$.ShaderMaskLayer.__proto__),
    shader: ui.Shader,
    maskRect: ui.Rect,
    blendMode: ui.BlendMode
  }));
  dart.setLibraryUri(layer$.ShaderMaskLayer, "package:flutter/src/rendering/layer.dart");
  dart.setFieldSignature(layer$.ShaderMaskLayer, () => ({
    __proto__: dart.getFields(layer$.ShaderMaskLayer.__proto__),
    [_shader]: dart.fieldType(ui.Shader),
    [_maskRect]: dart.fieldType(ui.Rect),
    [_blendMode]: dart.fieldType(ui.BlendMode)
  }));
  const _filter = dart.privateName(layer$, "_filter");
  layer$.BackdropFilterLayer = class BackdropFilterLayer extends layer$.ContainerLayer {
    get filter() {
      return this[_filter];
    }
    set filter(value) {
      if (!dart.equals(value, this[_filter])) {
        this[_filter] = value;
        this.markNeedsAddToScene();
      }
    }
    addToScene(builder, layerOffset = C7 || CT.C7) {
      if (!(this.filter != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1891, 12, "filter != null");
      this.engineLayer = builder.pushBackdropFilter(this.filter, {oldLayer: ui.BackdropFilterEngineLayer.as(this[_engineLayer])});
      this.addChildrenToScene(builder, layerOffset);
      builder.pop();
    }
  };
  (layer$.BackdropFilterLayer.new = function(opts) {
    let filter = opts && 'filter' in opts ? opts.filter : null;
    this[_filter] = filter;
    layer$.BackdropFilterLayer.__proto__.new.call(this);
    ;
  }).prototype = layer$.BackdropFilterLayer.prototype;
  dart.addTypeTests(layer$.BackdropFilterLayer);
  dart.setGetterSignature(layer$.BackdropFilterLayer, () => ({
    __proto__: dart.getGetters(layer$.BackdropFilterLayer.__proto__),
    filter: ui.ImageFilter
  }));
  dart.setSetterSignature(layer$.BackdropFilterLayer, () => ({
    __proto__: dart.getSetters(layer$.BackdropFilterLayer.__proto__),
    filter: ui.ImageFilter
  }));
  dart.setLibraryUri(layer$.BackdropFilterLayer, "package:flutter/src/rendering/layer.dart");
  dart.setFieldSignature(layer$.BackdropFilterLayer, () => ({
    __proto__: dart.getFields(layer$.BackdropFilterLayer.__proto__),
    [_filter]: dart.fieldType(ui.ImageFilter)
  }));
  let C9;
  const _elevation = dart.privateName(layer$, "_elevation");
  const _color = dart.privateName(layer$, "_color");
  const _shadowColor = dart.privateName(layer$, "_shadowColor");
  layer$.PhysicalModelLayer = class PhysicalModelLayer extends layer$.ContainerLayer {
    get clipPath() {
      return this[_clipPath];
    }
    set clipPath(value) {
      if (!dart.equals(value, this[_clipPath])) {
        this[_clipPath] = value;
        this.markNeedsAddToScene();
      }
    }
    get [_debugTransformedClipPath]() {
      let ancestor = this.parent;
      let matrix = vector_math_64.Matrix4.identity();
      while (ancestor != null && ancestor.parent != null) {
        ancestor.applyTransform(this, matrix);
        ancestor = ancestor.parent;
      }
      return this.clipPath.transform(matrix.storage);
    }
    get clipBehavior() {
      return this[_clipBehavior];
    }
    set clipBehavior(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 1955, 12, "value != null");
      if (!dart.equals(value, this[_clipBehavior])) {
        this[_clipBehavior] = value;
        this.markNeedsAddToScene();
      }
    }
    get elevation() {
      return this[_elevation];
    }
    set elevation(value) {
      if (value != this[_elevation]) {
        this[_elevation] = value;
        this.markNeedsAddToScene();
      }
    }
    get color() {
      return this[_color];
    }
    set color(value) {
      if (!dart.equals(value, this[_color])) {
        this[_color] = value;
        this.markNeedsAddToScene();
      }
    }
    get shadowColor() {
      return this[_shadowColor];
    }
    set shadowColor(value) {
      if (!dart.equals(value, this[_shadowColor])) {
        this[_shadowColor] = value;
        this.markNeedsAddToScene();
      }
    }
    findAnnotations(S, result, localPosition, opts) {
      let onlyFirst = opts && 'onlyFirst' in opts ? opts.onlyFirst : null;
      if (!dart.test(this.clipPath.contains(localPosition))) return false;
      return super.findAnnotations(S, result, localPosition, {onlyFirst: onlyFirst});
    }
    addToScene(builder, layerOffset = C7 || CT.C7) {
      if (!(this.clipPath != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 2014, 12, "clipPath != null");
      if (!(this.clipBehavior != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 2015, 12, "clipBehavior != null");
      if (!(this.elevation != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 2016, 12, "elevation != null");
      if (!(this.color != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 2017, 12, "color != null");
      if (!(this.shadowColor != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 2018, 12, "shadowColor != null");
      let enabled = true;
      if (!dart.test(dart.fn(() => {
        enabled = !dart.test(debug$0.debugDisablePhysicalShapeLayers);
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 2021, 12, "() {\r\n      enabled = !debugDisablePhysicalShapeLayers;\r\n      return true;\r\n    }()");
      if (enabled) {
        this.engineLayer = builder.pushPhysicalShape({path: dart.equals(layerOffset, ui.Offset.zero) ? this.clipPath : this.clipPath.shift(layerOffset), elevation: this.elevation, color: this.color, shadowColor: this.shadowColor, clipBehavior: this.clipBehavior, oldLayer: ui.PhysicalShapeEngineLayer.as(this[_engineLayer])});
      } else {
        this.engineLayer = null;
      }
      this.addChildrenToScene(builder, layerOffset);
      if (enabled) builder.pop();
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new diagnostics.DoubleProperty.new("elevation", this.elevation));
      properties.add(new colors.ColorProperty.new("color", this.color));
    }
  };
  (layer$.PhysicalModelLayer.new = function(opts) {
    let clipPath = opts && 'clipPath' in opts ? opts.clipPath : null;
    let clipBehavior = opts && 'clipBehavior' in opts ? opts.clipBehavior : C9 || CT.C9;
    let elevation = opts && 'elevation' in opts ? opts.elevation : null;
    let color = opts && 'color' in opts ? opts.color : null;
    let shadowColor = opts && 'shadowColor' in opts ? opts.shadowColor : null;
    this[_clipPath] = clipPath;
    this[_clipBehavior] = clipBehavior;
    this[_elevation] = elevation;
    this[_color] = color;
    this[_shadowColor] = shadowColor;
    layer$.PhysicalModelLayer.__proto__.new.call(this);
    ;
  }).prototype = layer$.PhysicalModelLayer.prototype;
  dart.addTypeTests(layer$.PhysicalModelLayer);
  dart.setMethodSignature(layer$.PhysicalModelLayer, () => ({
    __proto__: dart.getMethods(layer$.PhysicalModelLayer.__proto__),
    findAnnotations: dart.gFnType(S => [core.bool, [layer$.AnnotationResult$(S), ui.Offset], {onlyFirst: core.bool}, {}])
  }));
  dart.setGetterSignature(layer$.PhysicalModelLayer, () => ({
    __proto__: dart.getGetters(layer$.PhysicalModelLayer.__proto__),
    clipPath: ui.Path,
    [_debugTransformedClipPath]: ui.Path,
    clipBehavior: ui.Clip,
    elevation: core.double,
    color: ui.Color,
    shadowColor: ui.Color
  }));
  dart.setSetterSignature(layer$.PhysicalModelLayer, () => ({
    __proto__: dart.getSetters(layer$.PhysicalModelLayer.__proto__),
    clipPath: ui.Path,
    clipBehavior: ui.Clip,
    elevation: core.double,
    color: ui.Color,
    shadowColor: ui.Color
  }));
  dart.setLibraryUri(layer$.PhysicalModelLayer, "package:flutter/src/rendering/layer.dart");
  dart.setFieldSignature(layer$.PhysicalModelLayer, () => ({
    __proto__: dart.getFields(layer$.PhysicalModelLayer.__proto__),
    [_clipPath]: dart.fieldType(ui.Path),
    [_clipBehavior]: dart.fieldType(ui.Clip),
    [_elevation]: dart.fieldType(core.double),
    [_color]: dart.fieldType(ui.Color),
    [_shadowColor]: dart.fieldType(ui.Color)
  }));
  const _leader = dart.privateName(layer$, "_leader");
  layer$.LayerLink = class LayerLink extends core.Object {
    get leader() {
      return this[_leader];
    }
    toString() {
      return dart.str(diagnostics.describeIdentity(this)) + "(" + (this[_leader] != null ? "<linked>" : "<dangling>") + ")";
    }
  };
  (layer$.LayerLink.new = function() {
    this[_leader] = null;
    ;
  }).prototype = layer$.LayerLink.prototype;
  dart.addTypeTests(layer$.LayerLink);
  dart.setGetterSignature(layer$.LayerLink, () => ({
    __proto__: dart.getGetters(layer$.LayerLink.__proto__),
    leader: layer$.LeaderLayer
  }));
  dart.setLibraryUri(layer$.LayerLink, "package:flutter/src/rendering/layer.dart");
  dart.setFieldSignature(layer$.LayerLink, () => ({
    __proto__: dart.getFields(layer$.LayerLink.__proto__),
    [_leader]: dart.fieldType(layer$.LeaderLayer)
  }));
  dart.defineExtensionMethods(layer$.LayerLink, ['toString']);
  const _lastOffset = dart.privateName(layer$, "_lastOffset");
  const _link = dart.privateName(layer$, "_link");
  const offset$ = dart.privateName(layer$, "LeaderLayer.offset");
  layer$.LeaderLayer = class LeaderLayer extends layer$.ContainerLayer {
    get offset() {
      return this[offset$];
    }
    set offset(value) {
      this[offset$] = value;
    }
    get link() {
      return this[_link];
    }
    set link(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 2093, 12, "value != null");
      this[_link] = value;
    }
    get alwaysNeedsAddToScene() {
      return true;
    }
    attach(owner) {
      super.attach(owner);
      if (!(this.link.leader == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 2114, 12, "link.leader == null");
      this[_lastOffset] = null;
      this.link[_leader] = this;
    }
    detach() {
      if (!dart.equals(this.link.leader, this)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 2121, 12, "link.leader == this");
      this.link[_leader] = null;
      this[_lastOffset] = null;
      super.detach();
    }
    findAnnotations(S, result, localPosition, opts) {
      let onlyFirst = opts && 'onlyFirst' in opts ? opts.onlyFirst : null;
      return super.findAnnotations(S, result, localPosition['-'](this.offset), {onlyFirst: onlyFirst});
    }
    addToScene(builder, layerOffset = C7 || CT.C7) {
      if (!(this.offset != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 2142, 12, "offset != null");
      this[_lastOffset] = this.offset['+'](layerOffset);
      if (!dart.equals(this[_lastOffset], ui.Offset.zero)) this.engineLayer = builder.pushTransform(vector_math_64.Matrix4.translationValues(this[_lastOffset].dx, this[_lastOffset].dy, 0.0).storage, {oldLayer: ui.TransformEngineLayer.as(this[_engineLayer])});
      this.addChildrenToScene(builder);
      if (!dart.equals(this[_lastOffset], ui.Offset.zero)) builder.pop();
    }
    applyTransform(child, transform) {
      if (!(this[_lastOffset] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 2163, 12, "_lastOffset != null");
      if (!dart.equals(this[_lastOffset], ui.Offset.zero)) transform.translate(this[_lastOffset].dx, this[_lastOffset].dy);
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfOffset()).new("offset", this.offset));
      properties.add(new (DiagnosticsPropertyOfLayerLink()).new("link", this.link));
    }
  };
  (layer$.LeaderLayer.new = function(opts) {
    let link = opts && 'link' in opts ? opts.link : null;
    let offset = opts && 'offset' in opts ? opts.offset : C7 || CT.C7;
    this[_lastOffset] = null;
    this[offset$] = offset;
    if (!(link != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 2085, 81, "link != null");
    this[_link] = link;
    layer$.LeaderLayer.__proto__.new.call(this);
    ;
  }).prototype = layer$.LeaderLayer.prototype;
  dart.addTypeTests(layer$.LeaderLayer);
  dart.setMethodSignature(layer$.LeaderLayer, () => ({
    __proto__: dart.getMethods(layer$.LeaderLayer.__proto__),
    findAnnotations: dart.gFnType(S => [core.bool, [layer$.AnnotationResult$(S), ui.Offset], {onlyFirst: core.bool}, {}])
  }));
  dart.setGetterSignature(layer$.LeaderLayer, () => ({
    __proto__: dart.getGetters(layer$.LeaderLayer.__proto__),
    link: layer$.LayerLink
  }));
  dart.setSetterSignature(layer$.LeaderLayer, () => ({
    __proto__: dart.getSetters(layer$.LeaderLayer.__proto__),
    link: layer$.LayerLink
  }));
  dart.setLibraryUri(layer$.LeaderLayer, "package:flutter/src/rendering/layer.dart");
  dart.setFieldSignature(layer$.LeaderLayer, () => ({
    __proto__: dart.getFields(layer$.LeaderLayer.__proto__),
    [_link]: dart.fieldType(layer$.LayerLink),
    offset: dart.fieldType(ui.Offset),
    [_lastOffset]: dart.fieldType(ui.Offset)
  }));
  const _lastTransform = dart.privateName(layer$, "_lastTransform");
  const _collectTransformForLayerChain = dart.privateName(layer$, "_collectTransformForLayerChain");
  const _establishTransform = dart.privateName(layer$, "_establishTransform");
  const showWhenUnlinked$ = dart.privateName(layer$, "FollowerLayer.showWhenUnlinked");
  const unlinkedOffset$ = dart.privateName(layer$, "FollowerLayer.unlinkedOffset");
  const linkedOffset$ = dart.privateName(layer$, "FollowerLayer.linkedOffset");
  layer$.FollowerLayer = class FollowerLayer extends layer$.ContainerLayer {
    get showWhenUnlinked() {
      return this[showWhenUnlinked$];
    }
    set showWhenUnlinked(value) {
      this[showWhenUnlinked$] = value;
    }
    get unlinkedOffset() {
      return this[unlinkedOffset$];
    }
    set unlinkedOffset(value) {
      this[unlinkedOffset$] = value;
    }
    get linkedOffset() {
      return this[linkedOffset$];
    }
    set linkedOffset(value) {
      this[linkedOffset$] = value;
    }
    get link() {
      return this[_link];
    }
    set link(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 2207, 12, "value != null");
      this[_link] = value;
    }
    [_transformOffset](S, localPosition) {
      if (dart.test(this[_inverseDirty])) {
        this[_invertedTransform] = vector_math_64.Matrix4.tryInvert(this.getLastTransform());
        this[_inverseDirty] = false;
      }
      if (this[_invertedTransform] == null) return null;
      let vector = vector_math_64.Vector4.new(localPosition.dx, localPosition.dy, 0.0, 1.0);
      let result = this[_invertedTransform].transform(vector);
      return new ui.Offset.new(dart.notNull(result._get(0)) - dart.notNull(this.linkedOffset.dx), dart.notNull(result._get(1)) - dart.notNull(this.linkedOffset.dy));
    }
    findAnnotations(S, result, localPosition, opts) {
      let onlyFirst = opts && 'onlyFirst' in opts ? opts.onlyFirst : null;
      if (this.link.leader == null) {
        if (dart.test(this.showWhenUnlinked)) {
          return super.findAnnotations(S, result, localPosition['-'](this.unlinkedOffset), {onlyFirst: onlyFirst});
        }
        return false;
      }
      let transformedOffset = this[_transformOffset](S, localPosition);
      if (transformedOffset == null) {
        return false;
      }
      return super.findAnnotations(S, result, transformedOffset, {onlyFirst: onlyFirst});
    }
    getLastTransform() {
      if (this[_lastTransform] == null) return null;
      let result = vector_math_64.Matrix4.translationValues(-dart.notNull(this[_lastOffset].dx), -dart.notNull(this[_lastOffset].dy), 0.0);
      result.multiply(this[_lastTransform]);
      return result;
    }
    [_collectTransformForLayerChain](layers) {
      let result = vector_math_64.Matrix4.identity();
      for (let index = dart.notNull(layers[$length]) - 1; index > 0; index = index - 1)
        layers[$_get](index).applyTransform(layers[$_get](index - 1), result);
      return result;
    }
    [_establishTransform]() {
      if (!(this.link != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 2319, 12, "link != null");
      this[_lastTransform] = null;
      if (this.link.leader == null) return;
      if (!dart.equals(this.link.leader.owner, this.owner)) dart.assertFailed("Linked LeaderLayer anchor is not in the same layer tree as the FollowerLayer.", "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 2325, 12, "link.leader.owner == owner");
      if (!(this.link.leader[_lastOffset] != null)) dart.assertFailed("LeaderLayer anchor must come before FollowerLayer in paint order, but the reverse was true.", "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 2326, 12, "link.leader._lastOffset != null");
      let ancestors = new (_HashSetOfLayer()).new();
      let ancestor = this.parent;
      while (ancestor != null) {
        ancestors.add(ancestor);
        ancestor = ancestor.parent;
      }
      let layer = this.link.leader;
      let forwardLayers = JSArrayOfContainerLayer().of([null, layer]);
      do {
        layer = layer.parent;
        forwardLayers[$add](layer);
      } while (!dart.test(ancestors.contains(layer)));
      ancestor = layer;
      layer = this;
      let inverseLayers = JSArrayOfContainerLayer().of([layer]);
      do {
        layer = layer.parent;
        inverseLayers[$add](layer);
      } while (!dart.equals(layer, ancestor));
      let forwardTransform = this[_collectTransformForLayerChain](forwardLayers);
      let inverseTransform = this[_collectTransformForLayerChain](inverseLayers);
      if (inverseTransform.invert() === 0.0) {
        return;
      }
      inverseTransform.multiply(forwardTransform);
      inverseTransform.translate(this.linkedOffset.dx, this.linkedOffset.dy);
      this[_lastTransform] = inverseTransform;
      this[_inverseDirty] = true;
    }
    get alwaysNeedsAddToScene() {
      return true;
    }
    addToScene(builder, layerOffset = C7 || CT.C7) {
      if (!(this.link != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 2379, 12, "link != null");
      if (!(this.showWhenUnlinked != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 2380, 12, "showWhenUnlinked != null");
      if (this.link.leader == null && !dart.test(this.showWhenUnlinked)) {
        this[_lastTransform] = null;
        this[_lastOffset] = null;
        this[_inverseDirty] = true;
        this.engineLayer = null;
        return;
      }
      this[_establishTransform]();
      if (this[_lastTransform] != null) {
        this.engineLayer = builder.pushTransform(this[_lastTransform].storage, {oldLayer: ui.TransformEngineLayer.as(this[_engineLayer])});
        this.addChildrenToScene(builder);
        builder.pop();
        this[_lastOffset] = this.unlinkedOffset['+'](layerOffset);
      } else {
        this[_lastOffset] = null;
        let matrix = vector_math_64.Matrix4.translationValues(this.unlinkedOffset.dx, this.unlinkedOffset.dy, 0.0);
        this.engineLayer = builder.pushTransform(matrix.storage, {oldLayer: ui.TransformEngineLayer.as(this[_engineLayer])});
        this.addChildrenToScene(builder);
        builder.pop();
      }
      this[_inverseDirty] = true;
    }
    applyTransform(child, transform) {
      if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 2412, 12, "child != null");
      if (!(transform != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 2413, 12, "transform != null");
      if (this[_lastTransform] != null) {
        transform.multiply(this[_lastTransform]);
      } else {
        transform.multiply(vector_math_64.Matrix4.translationValues(this.unlinkedOffset.dx, this.unlinkedOffset.dy, 0.0));
      }
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfLayerLink()).new("link", this.link));
      properties.add(new matrix_utils.TransformProperty.new("transform", this.getLastTransform(), {defaultValue: null}));
    }
  };
  (layer$.FollowerLayer.new = function(opts) {
    let link = opts && 'link' in opts ? opts.link : null;
    let showWhenUnlinked = opts && 'showWhenUnlinked' in opts ? opts.showWhenUnlinked : true;
    let unlinkedOffset = opts && 'unlinkedOffset' in opts ? opts.unlinkedOffset : C7 || CT.C7;
    let linkedOffset = opts && 'linkedOffset' in opts ? opts.linkedOffset : C7 || CT.C7;
    this[_lastOffset] = null;
    this[_lastTransform] = null;
    this[_invertedTransform] = null;
    this[_inverseDirty] = true;
    this[showWhenUnlinked$] = showWhenUnlinked;
    this[unlinkedOffset$] = unlinkedOffset;
    this[linkedOffset$] = linkedOffset;
    if (!(link != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 2198, 15, "link != null");
    this[_link] = link;
    layer$.FollowerLayer.__proto__.new.call(this);
    ;
  }).prototype = layer$.FollowerLayer.prototype;
  dart.addTypeTests(layer$.FollowerLayer);
  dart.setMethodSignature(layer$.FollowerLayer, () => ({
    __proto__: dart.getMethods(layer$.FollowerLayer.__proto__),
    [_transformOffset]: dart.gFnType(S => [ui.Offset, [ui.Offset]]),
    findAnnotations: dart.gFnType(S => [core.bool, [layer$.AnnotationResult$(S), ui.Offset], {onlyFirst: core.bool}, {}]),
    getLastTransform: dart.fnType(vector_math_64.Matrix4, []),
    [_collectTransformForLayerChain]: dart.fnType(vector_math_64.Matrix4, [core.List$(layer$.ContainerLayer)]),
    [_establishTransform]: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(layer$.FollowerLayer, () => ({
    __proto__: dart.getGetters(layer$.FollowerLayer.__proto__),
    link: layer$.LayerLink
  }));
  dart.setSetterSignature(layer$.FollowerLayer, () => ({
    __proto__: dart.getSetters(layer$.FollowerLayer.__proto__),
    link: layer$.LayerLink
  }));
  dart.setLibraryUri(layer$.FollowerLayer, "package:flutter/src/rendering/layer.dart");
  dart.setFieldSignature(layer$.FollowerLayer, () => ({
    __proto__: dart.getFields(layer$.FollowerLayer.__proto__),
    [_link]: dart.fieldType(layer$.LayerLink),
    showWhenUnlinked: dart.fieldType(core.bool),
    unlinkedOffset: dart.fieldType(ui.Offset),
    linkedOffset: dart.fieldType(ui.Offset),
    [_lastOffset]: dart.fieldType(ui.Offset),
    [_lastTransform]: dart.fieldType(vector_math_64.Matrix4),
    [_invertedTransform]: dart.fieldType(vector_math_64.Matrix4),
    [_inverseDirty]: dart.fieldType(core.bool)
  }));
  const _is_AnnotatedRegionLayer_default = Symbol('_is_AnnotatedRegionLayer_default');
  const value$ = dart.privateName(layer$, "AnnotatedRegionLayer.value");
  const size$ = dart.privateName(layer$, "AnnotatedRegionLayer.size");
  const offset$0 = dart.privateName(layer$, "AnnotatedRegionLayer.offset");
  const opaque$ = dart.privateName(layer$, "AnnotatedRegionLayer.opaque");
  layer$.AnnotatedRegionLayer$ = dart.generic(T => {
    let DiagnosticsPropertyOfT = () => (DiagnosticsPropertyOfT = dart.constFn(diagnostics.DiagnosticsProperty$(T)))();
    class AnnotatedRegionLayer extends layer$.ContainerLayer {
      get value() {
        return this[value$];
      }
      set value(value) {
        super.value = value;
      }
      get size() {
        return this[size$];
      }
      set size(value) {
        super.size = value;
      }
      get offset() {
        return this[offset$0];
      }
      set offset(value) {
        super.offset = value;
      }
      get opaque() {
        return this[opaque$];
      }
      set opaque(value) {
        super.opaque = value;
      }
      findAnnotations(S, result, localPosition, opts) {
        let onlyFirst = opts && 'onlyFirst' in opts ? opts.onlyFirst : null;
        let isAbsorbed = super.findAnnotations(S, result, localPosition, {onlyFirst: onlyFirst});
        if (dart.test(result.entries[$isNotEmpty]) && dart.test(onlyFirst)) return isAbsorbed;
        if (this.size != null && !dart.test(this.offset['&'](this.size).contains(localPosition))) {
          return isAbsorbed;
        }
        if (dart.wrapType(T)[$_equals](dart.wrapType(S))) {
          isAbsorbed = dart.test(isAbsorbed) || dart.test(this.opaque);
          let untypedValue = this.value;
          let typedValue = S.as(untypedValue);
          result.add(new (layer$.AnnotationEntry$(S)).new({annotation: typedValue, localPosition: localPosition}));
        }
        return isAbsorbed;
      }
      debugFillProperties(properties) {
        super.debugFillProperties(properties);
        properties.add(new (DiagnosticsPropertyOfT()).new("value", this.value));
        properties.add(new (DiagnosticsPropertyOfSize()).new("size", this.size, {defaultValue: null}));
        properties.add(new (DiagnosticsPropertyOfOffset()).new("offset", this.offset, {defaultValue: null}));
        properties.add(new (DiagnosticsPropertyOfbool()).new("opaque", this.opaque, {defaultValue: false}));
      }
    }
    (AnnotatedRegionLayer.new = function(value, opts) {
      let t4;
      let size = opts && 'size' in opts ? opts.size : null;
      let offset = opts && 'offset' in opts ? opts.offset : null;
      let opaque = opts && 'opaque' in opts ? opts.opaque : false;
      this[value$] = value;
      this[size$] = size;
      this[opaque$] = opaque;
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 2459, 15, "value != null");
      if (!(opaque != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/layer.dart", 2460, 15, "opaque != null");
      this[offset$0] = (t4 = offset, t4 == null ? ui.Offset.zero : t4);
      AnnotatedRegionLayer.__proto__.new.call(this);
      ;
    }).prototype = AnnotatedRegionLayer.prototype;
    dart.addTypeTests(AnnotatedRegionLayer);
    AnnotatedRegionLayer.prototype[_is_AnnotatedRegionLayer_default] = true;
    dart.setMethodSignature(AnnotatedRegionLayer, () => ({
      __proto__: dart.getMethods(AnnotatedRegionLayer.__proto__),
      findAnnotations: dart.gFnType(S => [core.bool, [layer$.AnnotationResult$(S), ui.Offset], {onlyFirst: core.bool}, {}])
    }));
    dart.setLibraryUri(AnnotatedRegionLayer, "package:flutter/src/rendering/layer.dart");
    dart.setFieldSignature(AnnotatedRegionLayer, () => ({
      __proto__: dart.getFields(AnnotatedRegionLayer.__proto__),
      value: dart.finalFieldType(T),
      size: dart.finalFieldType(ui.Size),
      offset: dart.finalFieldType(ui.Offset),
      opaque: dart.finalFieldType(core.bool)
    }));
    return AnnotatedRegionLayer;
  });
  layer$.AnnotatedRegionLayer = layer$.AnnotatedRegionLayer$();
  dart.addTypeTests(layer$.AnnotatedRegionLayer, _is_AnnotatedRegionLayer_default);
  let C10;
  let C11;
  let C12;
  debug$0._debugDrawDoubleRect = function _debugDrawDoubleRect(canvas, outerRect, innerRect, color) {
    let t4, t4$;
    let path = (t4 = ui.Path.new(), t4.fillType = ui.PathFillType.evenOdd, t4.addRect(outerRect), t4.addRect(innerRect), t4);
    let paint = (t4$ = ui.Paint.new(), t4$.color = color, t4$);
    canvas.drawPath(path, paint);
  };
  debug$0.debugPaintPadding = function debugPaintPadding(canvas, outerRect, innerRect, opts) {
    let outlineWidth = opts && 'outlineWidth' in opts ? opts.outlineWidth : 2;
    if (!dart.test(dart.fn(() => {
      let t4;
      if (innerRect != null && !dart.test(innerRect.isEmpty)) {
        debug$0._debugDrawDoubleRect(canvas, outerRect, innerRect, C10 || CT.C10);
        debug$0._debugDrawDoubleRect(canvas, innerRect.inflate(outlineWidth).intersect(outerRect), innerRect, C11 || CT.C11);
      } else {
        let paint = (t4 = ui.Paint.new(), t4.color = C12 || CT.C12, t4);
        canvas.drawRect(outerRect, paint);
      }
      return true;
    }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/debug.dart", 228, 10, "() {\r\n    if (innerRect != null && !innerRect.isEmpty) {\r\n      _debugDrawDoubleRect(canvas, outerRect, innerRect, const Color(0x900090FF));\r\n      _debugDrawDoubleRect(canvas, innerRect.inflate(outlineWidth).intersect(outerRect), innerRect, const Color(0xFF0090FF));\r\n    } else {\r\n      final Paint paint = Paint()\r\n        ..color = const Color(0x90909090);\r\n      canvas.drawRect(outerRect, paint);\r\n    }\r\n    return true;\r\n  }()");
  };
  debug$0.debugAssertAllRenderVarsUnset = function debugAssertAllRenderVarsUnset(reason, opts) {
    let debugCheckIntrinsicSizesOverride = opts && 'debugCheckIntrinsicSizesOverride' in opts ? opts.debugCheckIntrinsicSizesOverride : false;
    if (!dart.test(dart.fn(() => {
      if (dart.test(debug$0.debugPaintSizeEnabled) || dart.test(debug$0.debugPaintBaselinesEnabled) || dart.test(debug$0.debugPaintLayerBordersEnabled) || dart.test(debug$0.debugPaintPointersEnabled) || dart.test(debug$0.debugRepaintRainbowEnabled) || dart.test(debug$0.debugRepaintTextRainbowEnabled) || !dart.equals(debug$0.debugCurrentRepaintColor, debug$0._kDebugDefaultRepaintColor) || dart.test(debug$0.debugPrintMarkNeedsLayoutStacks) || dart.test(debug$0.debugPrintMarkNeedsPaintStacks) || dart.test(debug$0.debugPrintLayouts) || !dart.equals(debug$0.debugCheckIntrinsicSizes, debugCheckIntrinsicSizesOverride) || dart.test(debug$0.debugProfilePaintsEnabled) || debug$0.debugOnProfilePaint != null) {
        dart.throw(assertions.FlutterError.new(reason));
      }
      return true;
    }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/debug.dart", 253, 10, "() {\r\n    if (debugPaintSizeEnabled ||\r\n        debugPaintBaselinesEnabled ||\r\n        debugPaintLayerBordersEnabled ||\r\n        debugPaintPointersEnabled ||\r\n        debugRepaintRainbowEnabled ||\r\n        debugRepaintTextRainbowEnabled ||\r\n        debugCurrentRepaintColor != _kDebugDefaultRepaintColor ||\r\n        debugPrintMarkNeedsLayoutStacks ||\r\n        debugPrintMarkNeedsPaintStacks ||\r\n        debugPrintLayouts ||\r\n        debugCheckIntrinsicSizes != debugCheckIntrinsicSizesOverride ||\r\n        debugProfilePaintsEnabled ||\r\n        debugOnProfilePaint != null) {\r\n      throw FlutterError(reason);\r\n    }\r\n    return true;\r\n  }()");
    return true;
  };
  const HSVColor_value = dart.privateName(colors, "HSVColor.value");
  const HSVColor_saturation = dart.privateName(colors, "HSVColor.saturation");
  const HSVColor_hue = dart.privateName(colors, "HSVColor.hue");
  const HSVColor_alpha = dart.privateName(colors, "HSVColor.alpha");
  let C13;
  dart.defineLazy(debug$0, {
    /*debug$0._kDebugDefaultRepaintColor*/get _kDebugDefaultRepaintColor() {
      return C13 || CT.C13;
    },
    /*debug$0.debugPaintSizeEnabled*/get debugPaintSizeEnabled() {
      return false;
    },
    set debugPaintSizeEnabled(_) {},
    /*debug$0.debugPaintBaselinesEnabled*/get debugPaintBaselinesEnabled() {
      return false;
    },
    set debugPaintBaselinesEnabled(_) {},
    /*debug$0.debugPaintLayerBordersEnabled*/get debugPaintLayerBordersEnabled() {
      return false;
    },
    set debugPaintLayerBordersEnabled(_) {},
    /*debug$0.debugPaintPointersEnabled*/get debugPaintPointersEnabled() {
      return false;
    },
    set debugPaintPointersEnabled(_) {},
    /*debug$0.debugRepaintRainbowEnabled*/get debugRepaintRainbowEnabled() {
      return false;
    },
    set debugRepaintRainbowEnabled(_) {},
    /*debug$0.debugRepaintTextRainbowEnabled*/get debugRepaintTextRainbowEnabled() {
      return false;
    },
    set debugRepaintTextRainbowEnabled(_) {},
    /*debug$0.debugCheckElevationsEnabled*/get debugCheckElevationsEnabled() {
      return false;
    },
    set debugCheckElevationsEnabled(_) {},
    /*debug$0.debugCurrentRepaintColor*/get debugCurrentRepaintColor() {
      return debug$0._kDebugDefaultRepaintColor;
    },
    set debugCurrentRepaintColor(_) {},
    /*debug$0.debugPrintMarkNeedsLayoutStacks*/get debugPrintMarkNeedsLayoutStacks() {
      return false;
    },
    set debugPrintMarkNeedsLayoutStacks(_) {},
    /*debug$0.debugPrintMarkNeedsPaintStacks*/get debugPrintMarkNeedsPaintStacks() {
      return false;
    },
    set debugPrintMarkNeedsPaintStacks(_) {},
    /*debug$0.debugPrintLayouts*/get debugPrintLayouts() {
      return false;
    },
    set debugPrintLayouts(_) {},
    /*debug$0.debugCheckIntrinsicSizes*/get debugCheckIntrinsicSizes() {
      return false;
    },
    set debugCheckIntrinsicSizes(_) {},
    /*debug$0.debugProfilePaintsEnabled*/get debugProfilePaintsEnabled() {
      return false;
    },
    set debugProfilePaintsEnabled(_) {},
    /*debug$0.debugOnProfilePaint*/get debugOnProfilePaint() {
      return null;
    },
    set debugOnProfilePaint(_) {},
    /*debug$0.debugDisableClipLayers*/get debugDisableClipLayers() {
      return false;
    },
    set debugDisableClipLayers(_) {},
    /*debug$0.debugDisablePhysicalShapeLayers*/get debugDisablePhysicalShapeLayers() {
      return false;
    },
    set debugDisablePhysicalShapeLayers(_) {},
    /*debug$0.debugDisableOpacityLayers*/get debugDisableOpacityLayers() {
      return false;
    },
    set debugDisableOpacityLayers(_) {}
  });
  const _mouseTracker = dart.privateName(binding$4, "_mouseTracker");
  const _pipelineOwner = dart.privateName(binding$4, "_pipelineOwner");
  const _semanticsHandle = dart.privateName(binding$4, "_semanticsHandle");
  const _firstFrameDeferredCount = dart.privateName(binding$4, "_firstFrameDeferredCount");
  const _firstFrameSent = dart.privateName(binding$4, "_firstFrameSent");
  const _handleSemanticsOwnerCreated = dart.privateName(binding$4, "_handleSemanticsOwnerCreated");
  const _handleSemanticsOwnerDisposed = dart.privateName(binding$4, "_handleSemanticsOwnerDisposed");
  const _handleSemanticsEnabledChanged = dart.privateName(binding$4, "_handleSemanticsEnabledChanged");
  const _handleSemanticsAction = dart.privateName(binding$4, "_handleSemanticsAction");
  const _handlePersistentFrameCallback = dart.privateName(binding$4, "_handlePersistentFrameCallback");
  const _forceRepaint = dart.privateName(binding$4, "_forceRepaint");
  let C14;
  const performReassemble = Symbol("performReassemble");
  binding$4.RendererBinding = class RendererBinding extends core.Object {
    static get instance() {
      return binding$4.RendererBinding._instance;
    }
  };
  binding$4.RendererBinding[dart.mixinOn] = _RendererBinding$36BindingBase$36ServicesBinding$36SchedulerBinding$36GestureBinding$36SemanticsBinding$36HitTestable => class RendererBinding extends _RendererBinding$36BindingBase$36ServicesBinding$36SchedulerBinding$36GestureBinding$36SemanticsBinding$36HitTestable {
    initInstances() {
      let t4;
      super.initInstances();
      binding$4.RendererBinding._instance = this;
      this[_pipelineOwner] = new object$.PipelineOwner.new({onNeedVisualUpdate: dart.bind(this, 'ensureVisualUpdate'), onSemanticsOwnerCreated: dart.bind(this, _handleSemanticsOwnerCreated), onSemanticsOwnerDisposed: dart.bind(this, _handleSemanticsOwnerDisposed)});
      t4 = this.window;
      t4.onMetricsChanged = dart.bind(this, 'handleMetricsChanged');
      t4.onTextScaleFactorChanged = dart.bind(this, 'handleTextScaleFactorChanged');
      t4.onPlatformBrightnessChanged = dart.bind(this, 'handlePlatformBrightnessChanged');
      t4.onSemanticsEnabledChanged = dart.bind(this, _handleSemanticsEnabledChanged);
      t4.onSemanticsAction = dart.bind(this, _handleSemanticsAction);
      t4;
      this.initRenderView();
      this[_handleSemanticsEnabledChanged]();
      if (!(this.renderView != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/binding.dart", 44, 12, "renderView != null");
      this.addPersistentFrameCallback(dart.bind(this, _handlePersistentFrameCallback));
      this.initMouseTracker();
    }
    initServiceExtensions() {
      super.initServiceExtensions();
      if (!dart.test(dart.fn(() => {
        this.registerBoolServiceExtension({name: "debugPaint", getter: dart.fn(() => async.async(core.bool, function*() {
            return debug$0.debugPaintSizeEnabled;
          }), VoidToFutureOfbool()), setter: dart.fn(value => {
            if (dart.equals(debug$0.debugPaintSizeEnabled, value)) return FutureOfvoid().value();
            debug$0.debugPaintSizeEnabled = value;
            return this[_forceRepaint]();
          }, boolToFutureOfvoid())});
        this.registerBoolServiceExtension({name: "debugPaintBaselinesEnabled", getter: dart.fn(() => async.async(core.bool, function*() {
            return debug$0.debugPaintBaselinesEnabled;
          }), VoidToFutureOfbool()), setter: dart.fn(value => {
            if (dart.equals(debug$0.debugPaintBaselinesEnabled, value)) return FutureOfvoid().value();
            debug$0.debugPaintBaselinesEnabled = value;
            return this[_forceRepaint]();
          }, boolToFutureOfvoid())});
        this.registerBoolServiceExtension({name: "repaintRainbow", getter: dart.fn(() => async.async(core.bool, function*() {
            return debug$0.debugRepaintRainbowEnabled;
          }), VoidToFutureOfbool()), setter: dart.fn(value => {
            let repaint = dart.test(debug$0.debugRepaintRainbowEnabled) && !dart.test(value);
            debug$0.debugRepaintRainbowEnabled = value;
            if (repaint) return this[_forceRepaint]();
            return FutureOfvoid().value();
          }, boolToFutureOfvoid())});
        this.registerBoolServiceExtension({name: "debugCheckElevationsEnabled", getter: dart.fn(() => async.async(core.bool, function*() {
            return debug$0.debugCheckElevationsEnabled;
          }), VoidToFutureOfbool()), setter: dart.fn(value => {
            if (dart.equals(debug$0.debugCheckElevationsEnabled, value)) {
              return FutureOfvoid().value();
            }
            debug$0.debugCheckElevationsEnabled = value;
            return this[_forceRepaint]();
          }, boolToFutureOfvoid())});
        this.registerSignalServiceExtension({name: "debugDumpLayerTree", callback: dart.fn(() => {
            binding$4.debugDumpLayerTree();
            return print.debugPrintDone;
          }, VoidToFutureOfvoid())});
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/binding.dart", 57, 12, "() {\r\n      // these service extensions only work in debug mode\r\n      registerBoolServiceExtension(\r\n        name: 'debugPaint',\r\n        getter: () async => debugPaintSizeEnabled,\r\n        setter: (bool value) {\r\n          if (debugPaintSizeEnabled == value)\r\n            return Future<void>.value();\r\n          debugPaintSizeEnabled = value;\r\n          return _forceRepaint();\r\n        },\r\n      );\r\n      registerBoolServiceExtension(\r\n        name: 'debugPaintBaselinesEnabled',\r\n        getter: () async => debugPaintBaselinesEnabled,\r\n        setter: (bool value) {\r\n          if (debugPaintBaselinesEnabled == value)\r\n            return Future<void>.value();\r\n          debugPaintBaselinesEnabled = value;\r\n          return _forceRepaint();\r\n        },\r\n      );\r\n      registerBoolServiceExtension(\r\n        name: 'repaintRainbow',\r\n        getter: () async => debugRepaintRainbowEnabled,\r\n        setter: (bool value) {\r\n          final bool repaint = debugRepaintRainbowEnabled && !value;\r\n          debugRepaintRainbowEnabled = value;\r\n          if (repaint)\r\n            return _forceRepaint();\r\n          return Future<void>.value();\r\n        },\r\n      );\r\n      registerBoolServiceExtension(\r\n        name: 'debugCheckElevationsEnabled',\r\n        getter: () async => debugCheckElevationsEnabled,\r\n        setter: (bool value) {\r\n          if (debugCheckElevationsEnabled == value) {\r\n            return Future<void>.value();\r\n          }\r\n          debugCheckElevationsEnabled = value;\r\n          return _forceRepaint();\r\n        },\r\n      );\r\n      registerSignalServiceExtension(\r\n        name: 'debugDumpLayerTree',\r\n        callback: () {\r\n          debugDumpLayerTree();\r\n          return debugPrintDone;\r\n        },\r\n      );\r\n      return true;\r\n    }()");
      if (!false) {
        this.registerSignalServiceExtension({name: "debugDumpRenderTree", callback: dart.fn(() => {
            binding$4.debugDumpRenderTree();
            return print.debugPrintDone;
          }, VoidToFutureOfvoid())});
        this.registerSignalServiceExtension({name: "debugDumpSemanticsTreeInTraversalOrder", callback: dart.fn(() => {
            binding$4.debugDumpSemanticsTree(semantics.DebugSemanticsDumpOrder.traversalOrder);
            return print.debugPrintDone;
          }, VoidToFutureOfvoid())});
        this.registerSignalServiceExtension({name: "debugDumpSemanticsTreeInInverseHitTestOrder", callback: dart.fn(() => {
            binding$4.debugDumpSemanticsTree(semantics.DebugSemanticsDumpOrder.inverseHitTest);
            return print.debugPrintDone;
          }, VoidToFutureOfvoid())});
      }
    }
    initRenderView() {
      if (!(this.renderView == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/binding.dart", 145, 12, "renderView == null");
      this.renderView = new view.RenderView.new({configuration: this.createViewConfiguration(), window: this.window});
      this.renderView.prepareInitialFrame();
    }
    get mouseTracker() {
      return this[_mouseTracker];
    }
    get pipelineOwner() {
      return this[_pipelineOwner];
    }
    get renderView() {
      return view.RenderView.as(this[_pipelineOwner].rootNode);
    }
    set renderView(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/binding.dart", 165, 12, "value != null");
      this[_pipelineOwner].rootNode = value;
    }
    handleMetricsChanged() {
      if (!(this.renderView != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/binding.dart", 174, 12, "renderView != null");
      this.renderView.configuration = this.createViewConfiguration();
      this.scheduleForcedFrame();
    }
    handleTextScaleFactorChanged() {
    }
    handlePlatformBrightnessChanged() {
    }
    createViewConfiguration() {
      let devicePixelRatio = this.window.devicePixelRatio;
      return new view.ViewConfiguration.new({size: this.window.physicalSize['/'](devicePixelRatio), devicePixelRatio: devicePixelRatio});
    }
    initMouseTracker(tracker = null) {
      let t4, t4$;
      t4 = this[_mouseTracker];
      t4 == null ? null : t4.dispose();
      this[_mouseTracker] = (t4$ = tracker, t4$ == null ? new mouse_tracking.MouseTracker.new(this.pointerRouter, dart.bind(this.renderView, 'hitTestMouseTrackers')) : t4$);
    }
    [_handleSemanticsEnabledChanged]() {
      this.setSemanticsEnabled(this.window.semanticsEnabled);
    }
    setSemanticsEnabled(enabled) {
      let t4;
      if (dart.test(enabled)) {
        this[_semanticsHandle] == null ? this[_semanticsHandle] = this[_pipelineOwner].ensureSemantics() : null;
      } else {
        t4 = this[_semanticsHandle];
        t4 == null ? null : t4.dispose();
        this[_semanticsHandle] = null;
      }
    }
    [_handleSemanticsAction](id, action, args) {
      let t4;
      t4 = this[_pipelineOwner].semanticsOwner;
      t4 == null ? null : t4.performAction(id, action, args != null ? (C14 || CT.C14).decodeMessage(args) : null);
    }
    [_handleSemanticsOwnerCreated]() {
      this.renderView.scheduleInitialSemantics();
    }
    [_handleSemanticsOwnerDisposed]() {
      this.renderView.clearSemantics();
    }
    [_handlePersistentFrameCallback](timeStamp) {
      this.drawFrame();
      this[_mouseTracker].schedulePostFrameCheck();
    }
    get sendFramesToEngine() {
      return dart.test(this[_firstFrameSent]) || this[_firstFrameDeferredCount] === 0;
    }
    deferFirstFrame() {
      if (!(dart.notNull(this[_firstFrameDeferredCount]) >= 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/binding.dart", 312, 12, "_firstFrameDeferredCount >= 0");
      this[_firstFrameDeferredCount] = dart.notNull(this[_firstFrameDeferredCount]) + 1;
    }
    allowFirstFrame() {
      if (!(dart.notNull(this[_firstFrameDeferredCount]) > 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/binding.dart", 325, 12, "_firstFrameDeferredCount > 0");
      this[_firstFrameDeferredCount] = dart.notNull(this[_firstFrameDeferredCount]) - 1;
      if (!dart.test(this[_firstFrameSent])) this.scheduleWarmUpFrame();
    }
    resetFirstFrameSent() {
      this[_firstFrameSent] = false;
    }
    drawFrame() {
      if (!(this.renderView != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/binding.dart", 400, 12, "renderView != null");
      this.pipelineOwner.flushLayout();
      this.pipelineOwner.flushCompositingBits();
      this.pipelineOwner.flushPaint();
      if (dart.test(this.sendFramesToEngine)) {
        this.renderView.compositeFrame();
        this.pipelineOwner.flushSemantics();
        this[_firstFrameSent] = true;
      }
    }
    performReassemble() {
      return async.async(dart.void, (function* performReassemble$() {
        yield this[performReassemble]();
        developer.Timeline.startSync("Dirty Render Tree", {arguments: debug.timelineWhitelistArguments});
        try {
          this.renderView.reassemble();
        } finally {
          developer.Timeline.finishSync();
        }
        this.scheduleWarmUpFrame();
        yield this.endOfFrame;
      }).bind(this));
    }
    hitTest(result, position) {
      if (!(this.renderView != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/binding.dart", 426, 12, "renderView != null");
      this.renderView.hitTest(result, {position: position});
      super.hitTest(result, position);
    }
    [_forceRepaint]() {
      let t4, t4$;
      let visitor = null;
      visitor = dart.fn(child => {
        child.markNeedsPaint();
        child.visitChildren(visitor);
      }, RenderObjectToNull());
      t4$ = (t4 = binding$4.RendererBinding.instance, t4 == null ? null : t4.renderView);
      t4$ == null ? null : t4$.visitChildren(visitor);
      return this.endOfFrame;
    }
    [performReassemble]() {
      return super.performReassemble();
    }
  };
  (binding$4.RendererBinding[dart.mixinNew] = function() {
    this[_mouseTracker] = null;
    this[_pipelineOwner] = null;
    this[_semanticsHandle] = null;
    this[_firstFrameDeferredCount] = 0;
    this[_firstFrameSent] = false;
  }).prototype = binding$4.RendererBinding.prototype;
  dart.addTypeTests(binding$4.RendererBinding);
  binding$4.RendererBinding[dart.implements] = () => [hit_test.HitTestable, binding$0.SemanticsBinding, binding$1.GestureBinding, binding$3.SchedulerBinding, binding$2.ServicesBinding, binding.BindingBase];
  dart.setMethodSignature(binding$4.RendererBinding, () => ({
    __proto__: dart.getMethods(binding$4.RendererBinding.__proto__),
    initInstances: dart.fnType(dart.void, []),
    initServiceExtensions: dart.fnType(dart.void, []),
    initRenderView: dart.fnType(dart.void, []),
    handleMetricsChanged: dart.fnType(dart.void, []),
    handleTextScaleFactorChanged: dart.fnType(dart.void, []),
    handlePlatformBrightnessChanged: dart.fnType(dart.void, []),
    createViewConfiguration: dart.fnType(view.ViewConfiguration, []),
    initMouseTracker: dart.fnType(dart.void, [], [mouse_tracking.MouseTracker]),
    [_handleSemanticsEnabledChanged]: dart.fnType(dart.void, []),
    setSemanticsEnabled: dart.fnType(dart.void, [core.bool]),
    [_handleSemanticsAction]: dart.fnType(dart.void, [core.int, ui.SemanticsAction, typed_data.ByteData]),
    [_handleSemanticsOwnerCreated]: dart.fnType(dart.void, []),
    [_handleSemanticsOwnerDisposed]: dart.fnType(dart.void, []),
    [_handlePersistentFrameCallback]: dart.fnType(dart.void, [core.Duration]),
    deferFirstFrame: dart.fnType(dart.void, []),
    allowFirstFrame: dart.fnType(dart.void, []),
    resetFirstFrameSent: dart.fnType(dart.void, []),
    drawFrame: dart.fnType(dart.void, []),
    performReassemble: dart.fnType(async.Future$(dart.void), []),
    hitTest: dart.fnType(dart.void, [hit_test.HitTestResult, ui.Offset]),
    [_forceRepaint]: dart.fnType(async.Future$(dart.void), [])
  }));
  dart.setGetterSignature(binding$4.RendererBinding, () => ({
    __proto__: dart.getGetters(binding$4.RendererBinding.__proto__),
    mouseTracker: mouse_tracking.MouseTracker,
    pipelineOwner: object$.PipelineOwner,
    renderView: view.RenderView,
    sendFramesToEngine: core.bool
  }));
  dart.setSetterSignature(binding$4.RendererBinding, () => ({
    __proto__: dart.getSetters(binding$4.RendererBinding.__proto__),
    renderView: view.RenderView
  }));
  dart.setLibraryUri(binding$4.RendererBinding, "package:flutter/src/rendering/binding.dart");
  dart.setFieldSignature(binding$4.RendererBinding, () => ({
    __proto__: dart.getFields(binding$4.RendererBinding.__proto__),
    [_mouseTracker]: dart.fieldType(mouse_tracking.MouseTracker),
    [_pipelineOwner]: dart.fieldType(object$.PipelineOwner),
    [_semanticsHandle]: dart.fieldType(object$.SemanticsHandle),
    [_firstFrameDeferredCount]: dart.fieldType(core.int),
    [_firstFrameSent]: dart.fieldType(core.bool)
  }));
  dart.defineLazy(binding$4.RendererBinding, {
    /*binding$4.RendererBinding._instance*/get _instance() {
      return null;
    },
    set _instance(_) {}
  });
  const BindingBase_GestureBinding$36 = class BindingBase_GestureBinding extends binding.BindingBase {};
  (BindingBase_GestureBinding$36.new = function() {
    binding$1.GestureBinding[dart.mixinNew].call(this);
    BindingBase_GestureBinding$36.__proto__.new.call(this);
  }).prototype = BindingBase_GestureBinding$36.prototype;
  dart.applyMixin(BindingBase_GestureBinding$36, binding$1.GestureBinding);
  const BindingBase_ServicesBinding$36 = class BindingBase_ServicesBinding extends BindingBase_GestureBinding$36 {};
  (BindingBase_ServicesBinding$36.new = function() {
    binding$2.ServicesBinding[dart.mixinNew].call(this);
    BindingBase_ServicesBinding$36.__proto__.new.call(this);
  }).prototype = BindingBase_ServicesBinding$36.prototype;
  dart.applyMixin(BindingBase_ServicesBinding$36, binding$2.ServicesBinding);
  const BindingBase_SchedulerBinding$36 = class BindingBase_SchedulerBinding extends BindingBase_ServicesBinding$36 {};
  (BindingBase_SchedulerBinding$36.new = function() {
    binding$3.SchedulerBinding[dart.mixinNew].call(this);
    BindingBase_SchedulerBinding$36.__proto__.new.call(this);
  }).prototype = BindingBase_SchedulerBinding$36.prototype;
  dart.applyMixin(BindingBase_SchedulerBinding$36, binding$3.SchedulerBinding);
  const BindingBase_SemanticsBinding$36 = class BindingBase_SemanticsBinding extends BindingBase_SchedulerBinding$36 {};
  (BindingBase_SemanticsBinding$36.new = function() {
    binding$0.SemanticsBinding[dart.mixinNew].call(this);
    BindingBase_SemanticsBinding$36.__proto__.new.call(this);
  }).prototype = BindingBase_SemanticsBinding$36.prototype;
  dart.applyMixin(BindingBase_SemanticsBinding$36, binding$0.SemanticsBinding);
  const BindingBase_PaintingBinding$36 = class BindingBase_PaintingBinding extends BindingBase_SemanticsBinding$36 {};
  (BindingBase_PaintingBinding$36.new = function() {
    binding$.PaintingBinding[dart.mixinNew].call(this);
    BindingBase_PaintingBinding$36.__proto__.new.call(this);
  }).prototype = BindingBase_PaintingBinding$36.prototype;
  dart.applyMixin(BindingBase_PaintingBinding$36, binding$.PaintingBinding);
  const BindingBase_RendererBinding$36 = class BindingBase_RendererBinding extends BindingBase_PaintingBinding$36 {};
  (BindingBase_RendererBinding$36.new = function() {
    binding$4.RendererBinding[dart.mixinNew].call(this);
    BindingBase_RendererBinding$36.__proto__.new.call(this);
  }).prototype = BindingBase_RendererBinding$36.prototype;
  dart.applyMixin(BindingBase_RendererBinding$36, binding$4.RendererBinding);
  binding$4.RenderingFlutterBinding = class RenderingFlutterBinding extends BindingBase_RendererBinding$36 {};
  (binding$4.RenderingFlutterBinding.new = function(opts) {
    let root = opts && 'root' in opts ? opts.root : null;
    binding$4.RenderingFlutterBinding.__proto__.new.call(this);
    if (!(this.renderView != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/binding.dart", 475, 12, "renderView != null");
    this.renderView.child = root;
  }).prototype = binding$4.RenderingFlutterBinding.prototype;
  dart.addTypeTests(binding$4.RenderingFlutterBinding);
  dart.setLibraryUri(binding$4.RenderingFlutterBinding, "package:flutter/src/rendering/binding.dart");
  binding$4.debugDumpRenderTree = function debugDumpRenderTree() {
    let t4, t4$, t4$0;
    print.debugPrint((t4$0 = (t4$ = (t4 = binding$4.RendererBinding.instance, t4 == null ? null : t4.renderView), t4$ == null ? null : t4$.toStringDeep()), t4$0 == null ? "Render tree unavailable." : t4$0));
  };
  binding$4.debugDumpLayerTree = function debugDumpLayerTree() {
    let t4, t4$, t4$0, t4$1;
    print.debugPrint((t4$1 = (t4$0 = (t4$ = (t4 = binding$4.RendererBinding.instance, t4 == null ? null : t4.renderView), t4$ == null ? null : t4$.debugLayer), t4$0 == null ? null : t4$0.toStringDeep()), t4$1 == null ? "Layer tree unavailable." : t4$1));
  };
  binding$4.debugDumpSemanticsTree = function debugDumpSemanticsTree(childOrder) {
    let t4, t4$, t4$0, t4$1;
    print.debugPrint((t4$1 = (t4$0 = (t4$ = (t4 = binding$4.RendererBinding.instance, t4 == null ? null : t4.renderView), t4$ == null ? null : t4$.debugSemantics), t4$0 == null ? null : t4$0.toStringDeep({childOrder: childOrder})), t4$1 == null ? "Semantics not collected." : t4$1));
  };
  let C15;
  const size$0 = dart.privateName(view, "ViewConfiguration.size");
  const devicePixelRatio$ = dart.privateName(view, "ViewConfiguration.devicePixelRatio");
  view.ViewConfiguration = class ViewConfiguration extends core.Object {
    get size() {
      return this[size$0];
    }
    set size(value) {
      super.size = value;
    }
    get devicePixelRatio() {
      return this[devicePixelRatio$];
    }
    set devicePixelRatio(value) {
      super.devicePixelRatio = value;
    }
    toMatrix() {
      return vector_math_64.Matrix4.diagonal3Values(this.devicePixelRatio, this.devicePixelRatio, 1.0);
    }
    toString() {
      return dart.str(this.size) + " at " + dart.str(debug.debugFormatDouble(this.devicePixelRatio)) + "x";
    }
  };
  (view.ViewConfiguration.new = function(opts) {
    let size = opts && 'size' in opts ? opts.size : C15 || CT.C15;
    let devicePixelRatio = opts && 'devicePixelRatio' in opts ? opts.devicePixelRatio : 1;
    this[size$0] = size;
    this[devicePixelRatio$] = devicePixelRatio;
    ;
  }).prototype = view.ViewConfiguration.prototype;
  dart.addTypeTests(view.ViewConfiguration);
  dart.setMethodSignature(view.ViewConfiguration, () => ({
    __proto__: dart.getMethods(view.ViewConfiguration.__proto__),
    toMatrix: dart.fnType(vector_math_64.Matrix4, [])
  }));
  dart.setLibraryUri(view.ViewConfiguration, "package:flutter/src/rendering/view.dart");
  dart.setFieldSignature(view.ViewConfiguration, () => ({
    __proto__: dart.getFields(view.ViewConfiguration.__proto__),
    size: dart.finalFieldType(ui.Size),
    devicePixelRatio: dart.finalFieldType(core.double)
  }));
  dart.defineExtensionMethods(view.ViewConfiguration, ['toString']);
  const _size = dart.privateName(view, "_size");
  const _rootTransform = dart.privateName(view, "_rootTransform");
  const _configuration = dart.privateName(view, "_configuration");
  const _window = dart.privateName(view, "_window");
  const _updateMatricesAndCreateNewRootLayer = dart.privateName(view, "_updateMatricesAndCreateNewRootLayer");
  const _updateSystemChrome = dart.privateName(view, "_updateSystemChrome");
  const _name$0 = dart.privateName(platform, "_name");
  let C16;
  let C17;
  let C18;
  let C19;
  const _cachedIntrinsicDimensions = dart.privateName(box, "_cachedIntrinsicDimensions");
  const _size$ = dart.privateName(box, "_size");
  const _cachedBaselines = dart.privateName(box, "_cachedBaselines");
  const _debugActivePointers = dart.privateName(box, "_debugActivePointers");
  const _computeIntrinsicDimension = dart.privateName(box, "_computeIntrinsicDimension");
  const _owner$0 = dart.privateName(box, "_owner");
  const _canBeUsedByParent$ = dart.privateName(box, "_canBeUsedByParent");
  let C20;
  let C21;
  let C22;
  box.RenderBox = class RenderBox extends object$.RenderObject {
    setupParentData(child) {
      object$.RenderObject._check(child);
      if (!box.BoxParentData.is(child.parentData)) child.parentData = new box.BoxParentData.new();
    }
    [_computeIntrinsicDimension](dimension, argument, computer) {
      if (!(dart.test(object$.RenderObject.debugCheckingIntrinsics) || !dart.test(this.debugDoingThisResize))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1288, 12, "RenderObject.debugCheckingIntrinsics || !debugDoingThisResize");
      let shouldCache = true;
      if (!dart.test(dart.fn(() => {
        if (dart.test(object$.RenderObject.debugCheckingIntrinsics)) shouldCache = false;
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1290, 12, "() {\r\n      // we don't want the checked-mode intrinsic tests to affect\r\n      // who gets marked dirty, etc.\r\n      if (RenderObject.debugCheckingIntrinsics)\r\n        shouldCache = false;\r\n      return true;\r\n    }()");
      if (shouldCache) {
        this[_cachedIntrinsicDimensions] == null ? this[_cachedIntrinsicDimensions] = new (LinkedMapOf_IntrinsicDimensionsCacheEntry$double()).new() : null;
        return this[_cachedIntrinsicDimensions][$putIfAbsent](new box._IntrinsicDimensionsCacheEntry.new(dimension, argument), dart.fn(() => computer(argument), VoidTodouble()));
      }
      return computer(argument);
    }
    getMinIntrinsicWidth(height) {
      if (!dart.test(dart.fn(() => {
        if (height == null) {
          dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("The height argument to getMinIntrinsicWidth was null."), new assertions.ErrorDescription.new("The argument to getMinIntrinsicWidth must not be negative or null."), new assertions.ErrorHint.new("If you do not have a specific height in mind, then pass double.infinity instead.")])));
        }
        if (dart.notNull(height) < 0.0) {
          dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("The height argument to getMinIntrinsicWidth was negative."), new assertions.ErrorDescription.new("The argument to getMinIntrinsicWidth must not be negative or null."), new assertions.ErrorHint.new("If you perform computations on another height before passing it to " + "getMinIntrinsicWidth, consider using math.max() or double.clamp() " + "to force the value into the valid range.")])));
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1324, 12, "() {\r\n      if (height == null) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('The height argument to getMinIntrinsicWidth was null.'),\r\n          ErrorDescription('The argument to getMinIntrinsicWidth must not be negative or null.'),\r\n          ErrorHint('If you do not have a specific height in mind, then pass double.infinity instead.'),\r\n        ]);\r\n      }\r\n      if (height < 0.0) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('The height argument to getMinIntrinsicWidth was negative.'),\r\n          ErrorDescription('The argument to getMinIntrinsicWidth must not be negative or null.'),\r\n          ErrorHint(\r\n            'If you perform computations on another height before passing it to '\r\n            'getMinIntrinsicWidth, consider using math.max() or double.clamp() '\r\n            'to force the value into the valid range.'\r\n          ),\r\n        ]);\r\n      }\r\n      return true;\r\n    }()");
      return this[_computeIntrinsicDimension](box._IntrinsicDimension.minWidth, height, dart.bind(this, 'computeMinIntrinsicWidth'));
    }
    computeMinIntrinsicWidth(height) {
      return 0.0;
    }
    getMaxIntrinsicWidth(height) {
      if (!dart.test(dart.fn(() => {
        if (height == null) {
          dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("The height argument to getMaxIntrinsicWidth was null."), new assertions.ErrorDescription.new("The argument to getMaxIntrinsicWidth must not be negative or null."), new assertions.ErrorHint.new("If you do not have a specific height in mind, then pass double.infinity instead.")])));
        }
        if (dart.notNull(height) < 0.0) {
          dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("The height argument to getMaxIntrinsicWidth was negative."), new assertions.ErrorDescription.new("The argument to getMaxIntrinsicWidth must not be negative or null."), new assertions.ErrorHint.new("If you perform computations on another height before passing it to " + "getMaxIntrinsicWidth, consider using math.max() or double.clamp() " + "to force the value into the valid range.")])));
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1464, 12, "() {\r\n      if (height == null) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('The height argument to getMaxIntrinsicWidth was null.'),\r\n          ErrorDescription('The argument to getMaxIntrinsicWidth must not be negative or null.'),\r\n          ErrorHint('If you do not have a specific height in mind, then pass double.infinity instead.'),\r\n        ]);\r\n      }\r\n      if (height < 0.0) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('The height argument to getMaxIntrinsicWidth was negative.'),\r\n          ErrorDescription('The argument to getMaxIntrinsicWidth must not be negative or null.'),\r\n          ErrorHint(\r\n            'If you perform computations on another height before passing it to '\r\n            'getMaxIntrinsicWidth, consider using math.max() or double.clamp() '\r\n            'to force the value into the valid range.'\r\n          ),\r\n        ]);\r\n      }\r\n      return true;\r\n    }()");
      return this[_computeIntrinsicDimension](box._IntrinsicDimension.maxWidth, height, dart.bind(this, 'computeMaxIntrinsicWidth'));
    }
    computeMaxIntrinsicWidth(height) {
      return 0.0;
    }
    getMinIntrinsicHeight(width) {
      if (!dart.test(dart.fn(() => {
        if (width == null) {
          dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("The width argument to getMinIntrinsicHeight was null."), new assertions.ErrorDescription.new("The argument to getMinIntrinsicHeight must not be negative or null."), new assertions.ErrorHint.new("If you do not have a specific width in mind, then pass double.infinity instead.")])));
        }
        if (dart.notNull(width) < 0.0) {
          dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("The width argument to getMinIntrinsicHeight was negative."), new assertions.ErrorDescription.new("The argument to getMinIntrinsicHeight must not be negative or null."), new assertions.ErrorHint.new("If you perform computations on another width before passing it to " + "getMinIntrinsicHeight, consider using math.max() or double.clamp() " + "to force the value into the valid range.")])));
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1543, 12, "() {\r\n      if (width == null) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('The width argument to getMinIntrinsicHeight was null.'),\r\n          ErrorDescription('The argument to getMinIntrinsicHeight must not be negative or null.'),\r\n          ErrorHint('If you do not have a specific width in mind, then pass double.infinity instead.'),\r\n        ]);\r\n      }\r\n      if (width < 0.0) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('The width argument to getMinIntrinsicHeight was negative.'),\r\n          ErrorDescription('The argument to getMinIntrinsicHeight must not be negative or null.'),\r\n          ErrorHint(\r\n            'If you perform computations on another width before passing it to '\r\n            'getMinIntrinsicHeight, consider using math.max() or double.clamp() '\r\n            'to force the value into the valid range.'\r\n          ),\r\n        ]);\r\n      }\r\n      return true;\r\n    }()");
      return this[_computeIntrinsicDimension](box._IntrinsicDimension.minHeight, width, dart.bind(this, 'computeMinIntrinsicHeight'));
    }
    computeMinIntrinsicHeight(width) {
      return 0.0;
    }
    getMaxIntrinsicHeight(width) {
      if (!dart.test(dart.fn(() => {
        if (width == null) {
          dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("The width argument to getMaxIntrinsicHeight was null."), new assertions.ErrorDescription.new("The argument to getMaxIntrinsicHeight must not be negative or null."), new assertions.ErrorHint.new("If you do not have a specific width in mind, then pass double.infinity instead.")])));
        }
        if (dart.notNull(width) < 0.0) {
          dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("The width argument to getMaxIntrinsicHeight was negative."), new assertions.ErrorDescription.new("The argument to getMaxIntrinsicHeight must not be negative or null."), new assertions.ErrorHint.new("If you perform computations on another width before passing it to " + "getMaxIntrinsicHeight, consider using math.max() or double.clamp() " + "to force the value into the valid range.")])));
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1619, 12, "() {\r\n      if (width == null) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('The width argument to getMaxIntrinsicHeight was null.'),\r\n          ErrorDescription('The argument to getMaxIntrinsicHeight must not be negative or null.'),\r\n          ErrorHint('If you do not have a specific width in mind, then pass double.infinity instead.'),\r\n        ]);\r\n      }\r\n      if (width < 0.0) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('The width argument to getMaxIntrinsicHeight was negative.'),\r\n          ErrorDescription('The argument to getMaxIntrinsicHeight must not be negative or null.'),\r\n          ErrorHint(\r\n            'If you perform computations on another width before passing it to '\r\n            'getMaxIntrinsicHeight, consider using math.max() or double.clamp() '\r\n            'to force the value into the valid range.'\r\n          ),\r\n        ]);\r\n      }\r\n      return true;\r\n    }()");
      return this[_computeIntrinsicDimension](box._IntrinsicDimension.maxHeight, width, dart.bind(this, 'computeMaxIntrinsicHeight'));
    }
    computeMaxIntrinsicHeight(width) {
      return 0.0;
    }
    get hasSize() {
      return this[_size$] != null;
    }
    get size() {
      if (!dart.test(this.hasSize)) dart.assertFailed("RenderBox was not laid out: " + dart.str(this.toString()), "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1694, 12, "hasSize");
      if (!dart.test(dart.fn(() => {
        let _size = this[_size$];
        if (box._DebugSize.is(_size)) {
          if (!dart.equals(_size[_owner$0], this)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1698, 16, "_size._owner == this");
          if (object$.RenderObject.debugActiveLayout != null) {
            if (!(dart.test(this.debugDoingThisResize) || dart.test(this.debugDoingThisLayout) || dart.equals(object$.RenderObject.debugActiveLayout, this.parent) && dart.test(_size[_canBeUsedByParent$]))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1705, 18, "debugDoingThisResize || debugDoingThisLayout ||\r\n                 (RenderObject.debugActiveLayout == parent && _size._canBeUsedByParent)");
          }
          if (!dart.equals(_size, this[_size$])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1708, 16, "_size == this._size");
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1695, 12, "() {\r\n      final Size _size = this._size;\r\n      if (_size is _DebugSize) {\r\n        assert(_size._owner == this);\r\n        if (RenderObject.debugActiveLayout != null) {\r\n          // We are always allowed to access our own size (for print debugging\r\n          // and asserts if nothing else). Other than us, the only object that's\r\n          // allowed to read our size is our parent, if they've said they will.\r\n          // If you hit this assert trying to access a child's size, pass\r\n          // \"parentUsesSize: true\" to that child's layout().\r\n          assert(debugDoingThisResize || debugDoingThisLayout ||\r\n                 (RenderObject.debugActiveLayout == parent && _size._canBeUsedByParent));\r\n        }\r\n        assert(_size == this._size);\r\n      }\r\n      return true;\r\n    }()");
      return this[_size$];
    }
    set size(value) {
      if (!!(dart.test(this.debugDoingThisResize) && dart.test(this.debugDoingThisLayout))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1720, 12, "!(debugDoingThisResize && debugDoingThisLayout)");
      if (!(dart.test(this.sizedByParent) || !dart.test(this.debugDoingThisResize))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1721, 12, "sizedByParent || !debugDoingThisResize");
      if (!dart.test(dart.fn(() => {
        if (dart.test(this.sizedByParent) && dart.test(this.debugDoingThisResize) || !dart.test(this.sizedByParent) && dart.test(this.debugDoingThisLayout)) return true;
        if (!!dart.test(this.debugDoingThisResize)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1726, 14, "!debugDoingThisResize");
        let information = JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("RenderBox size setter called incorrectly.")]);
        if (dart.test(this.debugDoingThisLayout)) {
          if (!dart.test(this.sizedByParent)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1731, 16, "sizedByParent");
          information[$add](new assertions.ErrorDescription.new("It appears that the size setter was called from performLayout()."));
        } else {
          information[$add](new assertions.ErrorDescription.new("The size setter was called from outside layout (neither performResize() nor performLayout() were being run for this object)."));
          if (this.owner != null && dart.test(this.owner.debugDoingLayout)) information[$add](new assertions.ErrorDescription.new("Only the object itself can set its size. It is a contract violation for other objects to set it."));
        }
        if (dart.test(this.sizedByParent))
          information[$add](new assertions.ErrorDescription.new("Because this RenderBox has sizedByParent set to true, it must set its size in performResize()."));
        else
          information[$add](new assertions.ErrorDescription.new("Because this RenderBox has sizedByParent set to false, it must set its size in performLayout()."));
        dart.throw(new assertions.FlutterError.fromParts(information));
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1722, 12, "() {\r\n      if ((sizedByParent && debugDoingThisResize) ||\r\n          (!sizedByParent && debugDoingThisLayout))\r\n        return true;\r\n      assert(!debugDoingThisResize);\r\n      final List<DiagnosticsNode> information = <DiagnosticsNode>[\r\n        ErrorSummary('RenderBox size setter called incorrectly.'),\r\n      ];\r\n      if (debugDoingThisLayout) {\r\n        assert(sizedByParent);\r\n        information.add(ErrorDescription('It appears that the size setter was called from performLayout().'));\r\n      } else {\r\n        information.add(ErrorDescription(\r\n          'The size setter was called from outside layout (neither performResize() nor performLayout() were being run for this object).'\r\n        ));\r\n        if (owner != null && owner.debugDoingLayout)\r\n          information.add(ErrorDescription('Only the object itself can set its size. It is a contract violation for other objects to set it.'));\r\n      }\r\n      if (sizedByParent)\r\n        information.add(ErrorDescription('Because this RenderBox has sizedByParent set to true, it must set its size in performResize().'));\r\n      else\r\n        information.add(ErrorDescription('Because this RenderBox has sizedByParent set to false, it must set its size in performLayout().'));\r\n      throw FlutterError.fromParts(information);\r\n    }()");
      if (!dart.test(dart.fn(() => {
        value = this.debugAdoptSize(value);
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1746, 12, "() {\r\n      value = debugAdoptSize(value);\r\n      return true;\r\n    }()");
      this[_size$] = value;
      if (!dart.test(dart.fn(() => {
        this.debugAssertDoesMeetConstraints();
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1751, 12, "() {\r\n      debugAssertDoesMeetConstraints();\r\n      return true;\r\n    }()");
    }
    debugAdoptSize(value) {
      let result = value;
      if (!dart.test(dart.fn(() => {
        if (box._DebugSize.is(value)) {
          if (!dart.equals(value[_owner$0], this)) {
            if (!dart.equals(value[_owner$0].parent, this)) {
              dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("The size property was assigned a size inappropriately."), this.describeForError("The following render object"), value[_owner$0].describeForError("...was assigned a size obtained from"), new assertions.ErrorDescription.new("However, this second render object is not, or is no longer, a " + "child of the first, and it is therefore a violation of the " + "RenderBox layout protocol to use that size in the layout of the " + "first render object."), new assertions.ErrorHint.new("If the size was obtained at a time where it was valid to read " + "the size (because the second render object above was a child " + "of the first at the time), then it should be adopted using " + "debugAdoptSize at that time."), new assertions.ErrorHint.new("If the size comes from a grandchild or a render object from an " + "entirely different part of the render tree, then there is no " + "way to be notified when the size changes and therefore attempts " + "to read that size are almost certainly a source of bugs. A different " + "approach should be used.")])));
            }
            if (!dart.test(value[_canBeUsedByParent$])) {
              dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("A child's size was used without setting parentUsesSize."), this.describeForError("The following render object"), value[_owner$0].describeForError("...was assigned a size obtained from its child"), new assertions.ErrorDescription.new("However, when the child was laid out, the parentUsesSize argument " + "was not set or set to false. Subsequently this transpired to be " + "inaccurate: the size was nonetheless used by the parent.\n" + "It is important to tell the framework if the size will be used or not " + "as several important performance optimizations can be made if the " + "size will not be used by the parent.")])));
            }
          }
        }
        result = new box._DebugSize.new(value, this, this.debugCanParentUseSize);
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1772, 12, "() {\r\n      if (value is _DebugSize) {\r\n        if (value._owner != this) {\r\n          if (value._owner.parent != this) {\r\n            throw FlutterError.fromParts(<DiagnosticsNode>[\r\n              ErrorSummary('The size property was assigned a size inappropriately.'),\r\n              describeForError('The following render object'),\r\n              value._owner.describeForError('...was assigned a size obtained from'),\r\n              ErrorDescription(\r\n                'However, this second render object is not, or is no longer, a '\r\n                'child of the first, and it is therefore a violation of the '\r\n                'RenderBox layout protocol to use that size in the layout of the '\r\n                'first render object.'\r\n              ),\r\n              ErrorHint(\r\n                'If the size was obtained at a time where it was valid to read '\r\n                'the size (because the second render object above was a child '\r\n                'of the first at the time), then it should be adopted using '\r\n                'debugAdoptSize at that time.'\r\n              ),\r\n              ErrorHint(\r\n                'If the size comes from a grandchild or a render object from an '\r\n                'entirely different part of the render tree, then there is no '\r\n                'way to be notified when the size changes and therefore attempts '\r\n                'to read that size are almost certainly a source of bugs. A different '\r\n                'approach should be used.'\r\n              ),\r\n            ]);\r\n          }\r\n          if (!value._canBeUsedByParent) {\r\n            throw FlutterError.fromParts(<DiagnosticsNode>[\r\n              ErrorSummary('A child\\'s size was used without setting parentUsesSize.'),\r\n              describeForError('The following render object'),\r\n              value._owner.describeForError('...was assigned a size obtained from its child'),\r\n              ErrorDescription(\r\n                'However, when the child was laid out, the parentUsesSize argument '\r\n                'was not set or set to false. Subsequently this transpired to be '\r\n                'inaccurate: the size was nonetheless used by the parent.\\n'\r\n                'It is important to tell the framework if the size will be used or not '\r\n                'as several important performance optimizations can be made if the '\r\n                'size will not be used by the parent.'\r\n              ),\r\n            ]);\r\n          }\r\n        }\r\n      }\r\n      result = _DebugSize(value, this, debugCanParentUseSize);\r\n      return true;\r\n    }()");
      return result;
    }
    get semanticBounds() {
      return ui.Offset.zero['&'](this.size);
    }
    debugResetSize() {
      this.size = this.size;
    }
    static _debugSetDoingBaseline(value) {
      box.RenderBox._debugDoingBaseline = value;
      return true;
    }
    getDistanceToBaseline(baseline, opts) {
      let onlyReal = opts && 'onlyReal' in opts ? opts.onlyReal : false;
      if (!!dart.test(box.RenderBox._debugDoingBaseline)) dart.assertFailed("Please see the documentation for computeDistanceToActualBaseline for the required calling conventions of this method.", "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1857, 12, "!_debugDoingBaseline");
      if (!!dart.test(this.debugNeedsLayout)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1858, 12, "!debugNeedsLayout");
      if (!dart.test(dart.fn(() => {
        let parent = object$.RenderObject.as(this.parent);
        if (dart.test(this.owner.debugDoingLayout)) return dart.equals(object$.RenderObject.debugActiveLayout, parent) && dart.test(parent.debugDoingThisLayout);
        if (dart.test(this.owner.debugDoingPaint)) return dart.equals(object$.RenderObject.debugActivePaint, parent) && dart.test(parent.debugDoingThisPaint) || dart.equals(object$.RenderObject.debugActivePaint, this) && dart.test(this.debugDoingThisPaint);
        if (!dart.equals(parent, this.parent)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1866, 14, "parent == this.parent");
        return false;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1859, 12, "() {\r\n      final RenderObject parent = this.parent as RenderObject;\r\n      if (owner.debugDoingLayout)\r\n        return (RenderObject.debugActiveLayout == parent) && parent.debugDoingThisLayout;\r\n      if (owner.debugDoingPaint)\r\n        return ((RenderObject.debugActivePaint == parent) && parent.debugDoingThisPaint) ||\r\n               ((RenderObject.debugActivePaint == this) && debugDoingThisPaint);\r\n      assert(parent == this.parent);\r\n      return false;\r\n    }()");
      if (!dart.test(box.RenderBox._debugSetDoingBaseline(true))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1869, 12, "_debugSetDoingBaseline(true)");
      let result = this.getDistanceToActualBaseline(baseline);
      if (!dart.test(box.RenderBox._debugSetDoingBaseline(false))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1871, 12, "_debugSetDoingBaseline(false)");
      if (result == null && !dart.test(onlyReal)) return this.size.height;
      return result;
    }
    getDistanceToActualBaseline(baseline) {
      if (!dart.test(box.RenderBox._debugDoingBaseline)) dart.assertFailed("Please see the documentation for computeDistanceToActualBaseline for the required calling conventions of this method.", "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1885, 12, "_debugDoingBaseline");
      this[_cachedBaselines] == null ? this[_cachedBaselines] = new (LinkedMapOfTextBaseline$double()).new() : null;
      this[_cachedBaselines][$putIfAbsent](baseline, dart.fn(() => this.computeDistanceToActualBaseline(baseline), VoidTodouble()));
      return this[_cachedBaselines][$_get](baseline);
    }
    computeDistanceToActualBaseline(baseline) {
      if (!dart.test(box.RenderBox._debugDoingBaseline)) dart.assertFailed("Please see the documentation for computeDistanceToActualBaseline for the required calling conventions of this method.", "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1917, 12, "_debugDoingBaseline");
      return null;
    }
    get constraints() {
      return box.BoxConstraints.as(super.constraints);
    }
    debugAssertDoesMeetConstraints() {
      if (!(this.constraints != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1927, 12, "constraints != null");
      if (!dart.test(dart.fn(() => {
        if (!dart.test(this.hasSize)) {
          if (!!dart.test(this.debugNeedsLayout)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1930, 16, "!debugNeedsLayout");
          let contract = null;
          if (dart.test(this.sizedByParent))
            contract = new assertions.ErrorDescription.new("Because this RenderBox has sizedByParent set to true, it must set its size in performResize().");
          else
            contract = new assertions.ErrorDescription.new("Because this RenderBox has sizedByParent set to false, it must set its size in performLayout().");
          dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("RenderBox did not set its size during layout."), contract, new assertions.ErrorDescription.new("It appears that this did not happen; layout completed, but the size property is still null."), new (DiagnosticsPropertyOfRenderBox()).new("The RenderBox in question is", this, {style: diagnostics.DiagnosticsTreeStyle.errorProperty})])));
        }
        if (!dart.test(this[_size$].isFinite)) {
          let information = JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new(dart.str(this[$runtimeType]) + " object was given an infinite size during layout."), new assertions.ErrorDescription.new("This probably means that it is a render object that tries to be " + "as big as possible, but it was put inside another render object " + "that allows its children to pick their own size.")]);
          if (!dart.test(this.constraints.hasBoundedWidth)) {
            let node = this;
            while (!dart.test(node.constraints.hasBoundedWidth) && box.RenderBox.is(node.parent))
              node = box.RenderBox.as(node.parent);
            information[$add](node.describeForError("The nearest ancestor providing an unbounded width constraint is"));
          }
          if (!dart.test(this.constraints.hasBoundedHeight)) {
            let node = this;
            while (!dart.test(node.constraints.hasBoundedHeight) && box.RenderBox.is(node.parent))
              node = box.RenderBox.as(node.parent);
            information[$add](node.describeForError("The nearest ancestor providing an unbounded height constraint is"));
          }
          dart.throw(new assertions.FlutterError.fromParts((() => {
            let t4 = JSArrayOfDiagnosticsNode().of([]);
            for (let t5 of information)
              t4[$add](t5);
            t4[$add](new (DiagnosticsPropertyOfBoxConstraints()).new("The constraints that applied to the " + dart.str(this[$runtimeType]) + " were", this.constraints, {style: diagnostics.DiagnosticsTreeStyle.errorProperty}));
            t4[$add](new (DiagnosticsPropertyOfSize()).new("The exact size it was given was", this[_size$], {style: diagnostics.DiagnosticsTreeStyle.errorProperty}));
            t4[$add](new assertions.ErrorHint.new("See https://flutter.dev/docs/development/ui/layout/box-constraints for more information."));
            return t4;
          })()));
        }
        if (!dart.test(this.constraints.isSatisfiedBy(this[_size$]))) {
          dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new(dart.str(this[$runtimeType]) + " does not meet its constraints."), new (DiagnosticsPropertyOfBoxConstraints()).new("Constraints", this.constraints, {style: diagnostics.DiagnosticsTreeStyle.errorProperty}), new (DiagnosticsPropertyOfSize()).new("Size", this[_size$], {style: diagnostics.DiagnosticsTreeStyle.errorProperty}), new assertions.ErrorHint.new("If you are not writing your own RenderBox subclass, then this is not " + "your fault. Contact support: https://github.com/flutter/flutter/issues/new?template=BUG.md")])));
        }
        if (dart.test(debug$0.debugCheckIntrinsicSizes)) {
          if (!!dart.test(object$.RenderObject.debugCheckingIntrinsics)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1988, 16, "!RenderObject.debugCheckingIntrinsics");
          object$.RenderObject.debugCheckingIntrinsics = true;
          let failures = JSArrayOfDiagnosticsNode().of([]);
          function testIntrinsic($function, name, constraint) {
            let result = $function(constraint);
            if (dart.notNull(result) < 0) {
              failures[$add](new assertions.ErrorDescription.new(" * " + dart.str(name) + "(" + dart.str(constraint) + ") returned a negative value: " + dart.str(result)));
            }
            if (!result[$isFinite]) {
              failures[$add](new assertions.ErrorDescription.new(" * " + dart.str(name) + "(" + dart.str(constraint) + ") returned a non-finite value: " + dart.str(result)));
            }
            return result;
          }
          dart.fn(testIntrinsic, FnAndStringAnddoubleTodouble());
          function testIntrinsicsForValues(getMin, getMax, name, constraint) {
            let min = testIntrinsic(getMin, "getMinIntrinsic" + dart.str(name), constraint);
            let max = testIntrinsic(getMax, "getMaxIntrinsic" + dart.str(name), constraint);
            if (dart.notNull(min) > dart.notNull(max)) {
              failures[$add](new assertions.ErrorDescription.new(" * getMinIntrinsic" + dart.str(name) + "(" + dart.str(constraint) + ") returned a larger value (" + dart.str(min) + ") than getMaxIntrinsic" + dart.str(name) + "(" + dart.str(constraint) + ") (" + dart.str(max) + ")"));
            }
          }
          dart.fn(testIntrinsicsForValues, FnAndFnAndString__Tovoid());
          testIntrinsicsForValues(dart.bind(this, 'getMinIntrinsicWidth'), dart.bind(this, 'getMaxIntrinsicWidth'), "Width", 1 / 0);
          testIntrinsicsForValues(dart.bind(this, 'getMinIntrinsicHeight'), dart.bind(this, 'getMaxIntrinsicHeight'), "Height", 1 / 0);
          if (dart.test(this.constraints.hasBoundedWidth)) testIntrinsicsForValues(dart.bind(this, 'getMinIntrinsicWidth'), dart.bind(this, 'getMaxIntrinsicWidth'), "Width", this.constraints.maxHeight);
          if (dart.test(this.constraints.hasBoundedHeight)) testIntrinsicsForValues(dart.bind(this, 'getMinIntrinsicHeight'), dart.bind(this, 'getMaxIntrinsicHeight'), "Height", this.constraints.maxWidth);
          object$.RenderObject.debugCheckingIntrinsics = false;
          if (dart.test(failures[$isNotEmpty])) {
            dart.throw(new assertions.FlutterError.fromParts((() => {
              let t6 = JSArrayOfDiagnosticsNode().of([]);
              t6[$add](new assertions.ErrorSummary.new("The intrinsic dimension methods of the " + dart.str(this[$runtimeType]) + " class returned values that violate the intrinsic protocol contract."));
              t6[$add](new assertions.ErrorDescription.new("The following " + (dart.notNull(failures[$length]) > 1 ? "failures" : "failure") + " was detected:"));
              for (let t7 of failures)
                t6[$add](t7);
              t6[$add](new assertions.ErrorHint.new("If you are not writing your own RenderBox subclass, then this is not\n" + "your fault. Contact support: https://github.com/flutter/flutter/issues/new?template=BUG.md"));
              return t6;
            })()));
          }
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 1928, 12, "() {\r\n      if (!hasSize) {\r\n        assert(!debugNeedsLayout); // this is called in the size= setter during layout, but in that case we have a size\r\n        DiagnosticsNode contract;\r\n        if (sizedByParent)\r\n          contract = ErrorDescription('Because this RenderBox has sizedByParent set to true, it must set its size in performResize().');\r\n        else\r\n          contract = ErrorDescription('Because this RenderBox has sizedByParent set to false, it must set its size in performLayout().');\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('RenderBox did not set its size during layout.'),\r\n          contract,\r\n          ErrorDescription('It appears that this did not happen; layout completed, but the size property is still null.'),\r\n          DiagnosticsProperty<RenderBox>('The RenderBox in question is', this, style: DiagnosticsTreeStyle.errorProperty),\r\n        ]);\r\n      }\r\n      // verify that the size is not infinite\r\n      if (!_size.isFinite) {\r\n        final List<DiagnosticsNode> information = <DiagnosticsNode>[\r\n          ErrorSummary('$runtimeType object was given an infinite size during layout.'),\r\n          ErrorDescription(\r\n            'This probably means that it is a render object that tries to be '\r\n            'as big as possible, but it was put inside another render object '\r\n            'that allows its children to pick their own size.'\r\n          ),\r\n        ];\r\n        if (!constraints.hasBoundedWidth) {\r\n          RenderBox node = this;\r\n          while (!node.constraints.hasBoundedWidth && node.parent is RenderBox)\r\n            node = node.parent as RenderBox;\r\n\r\n          information.add(node.describeForError('The nearest ancestor providing an unbounded width constraint is'));\r\n        }\r\n        if (!constraints.hasBoundedHeight) {\r\n          RenderBox node = this;\r\n          while (!node.constraints.hasBoundedHeight && node.parent is RenderBox)\r\n            node = node.parent as RenderBox;\r\n\r\n          information.add(node.describeForError('The nearest ancestor providing an unbounded height constraint is'));\r\n        }\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ...information,\r\n          DiagnosticsProperty<BoxConstraints>('The constraints that applied to the $runtimeType were', constraints, style: DiagnosticsTreeStyle.errorProperty),\r\n          DiagnosticsProperty<Size>('The exact size it was given was', _size, style: DiagnosticsTreeStyle.errorProperty),\r\n          ErrorHint('See https://flutter.dev/docs/development/ui/layout/box-constraints for more information.'),\r\n        ]);\r\n     }\r\n      // verify that the size is within the constraints\r\n      if (!constraints.isSatisfiedBy(_size)) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('$runtimeType does not meet its constraints.'),\r\n          DiagnosticsProperty<BoxConstraints>('Constraints', constraints, style: DiagnosticsTreeStyle.errorProperty),\r\n          DiagnosticsProperty<Size>('Size', _size, style: DiagnosticsTreeStyle.errorProperty),\r\n          ErrorHint(\r\n            'If you are not writing your own RenderBox subclass, then this is not '\r\n            'your fault. Contact support: https://github.com/flutter/flutter/issues/new?template=BUG.md'\r\n          ),\r\n        ]);\r\n      }\r\n      if (debugCheckIntrinsicSizes) {\r\n        // verify that the intrinsics are sane\r\n        assert(!RenderObject.debugCheckingIntrinsics);\r\n        RenderObject.debugCheckingIntrinsics = true;\r\n        final List<DiagnosticsNode> failures = <DiagnosticsNode>[];\r\n\r\n        double testIntrinsic(double function(double extent), String name, double constraint) {\r\n          final double result = function(constraint);\r\n          if (result < 0) {\r\n            failures.add(ErrorDescription(' * $name($constraint) returned a negative value: $result'));\r\n          }\r\n          if (!result.isFinite) {\r\n            failures.add(ErrorDescription(' * $name($constraint) returned a non-finite value: $result'));\r\n          }\r\n          return result;\r\n        }\r\n\r\n        void testIntrinsicsForValues(double getMin(double extent), double getMax(double extent), String name, double constraint) {\r\n          final double min = testIntrinsic(getMin, 'getMinIntrinsic$name', constraint);\r\n          final double max = testIntrinsic(getMax, 'getMaxIntrinsic$name', constraint);\r\n          if (min > max) {\r\n            failures.add(ErrorDescription(' * getMinIntrinsic$name($constraint) returned a larger value ($min) than getMaxIntrinsic$name($constraint) ($max)'));\r\n          }\r\n        }\r\n\r\n        testIntrinsicsForValues(getMinIntrinsicWidth, getMaxIntrinsicWidth, 'Width', double.infinity);\r\n        testIntrinsicsForValues(getMinIntrinsicHeight, getMaxIntrinsicHeight, 'Height', double.infinity);\r\n        if (constraints.hasBoundedWidth)\r\n          testIntrinsicsForValues(getMinIntrinsicWidth, getMaxIntrinsicWidth, 'Width', constraints.maxHeight);\r\n        if (constraints.hasBoundedHeight)\r\n          testIntrinsicsForValues(getMinIntrinsicHeight, getMaxIntrinsicHeight, 'Height', constraints.maxWidth);\r\n\r\n        // TODO(ianh): Test that values are internally consistent in more ways than the above.\r\n\r\n        RenderObject.debugCheckingIntrinsics = false;\r\n        if (failures.isNotEmpty) {\r\n          // TODO(jacobr): consider nesting the failures object so it is collapsible.\r\n          throw FlutterError.fromParts(<DiagnosticsNode>[\r\n            ErrorSummary('The intrinsic dimension methods of the $runtimeType class returned values that violate the intrinsic protocol contract.'),\r\n            ErrorDescription('The following ${failures.length > 1 ? \"failures\" : \"failure\"} was detected:'), // should this be tagged as an error or not?\r\n            ...failures,\r\n            ErrorHint(\r\n              'If you are not writing your own RenderBox subclass, then this is not\\n'\r\n              'your fault. Contact support: https://github.com/flutter/flutter/issues/new?template=BUG.md'\r\n            ),\r\n          ]);\r\n        }\r\n      }\r\n      return true;\r\n    }()");
    }
    markNeedsLayout() {
      let t8, t8$;
      if (this[_cachedBaselines] != null && dart.test(this[_cachedBaselines][$isNotEmpty]) || this[_cachedIntrinsicDimensions] != null && dart.test(this[_cachedIntrinsicDimensions][$isNotEmpty])) {
        t8 = this[_cachedBaselines];
        t8 == null ? null : t8[$clear]();
        t8$ = this[_cachedIntrinsicDimensions];
        t8$ == null ? null : t8$[$clear]();
        if (object$.RenderObject.is(this.parent)) {
          this.markParentNeedsLayout();
          return;
        }
      }
      super.markNeedsLayout();
    }
    performResize() {
      this.size = this.constraints.smallest;
      if (!dart.test(this.size.isFinite)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 2061, 12, "size.isFinite");
    }
    performLayout() {
      if (!dart.test(dart.fn(() => {
        if (!dart.test(this.sizedByParent)) {
          dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new(dart.str(this[$runtimeType]) + " did not implement performLayout()."), new assertions.ErrorHint.new("RenderBox subclasses need to either override performLayout() to " + "set a size and lay out any children, or, set sizedByParent to true " + "so that performResize() sizes the render object.")])));
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 2066, 12, "() {\r\n      if (!sizedByParent) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('$runtimeType did not implement performLayout().'),\r\n          ErrorHint(\r\n            'RenderBox subclasses need to either override performLayout() to '\r\n            'set a size and lay out any children, or, set sizedByParent to true '\r\n            'so that performResize() sizes the render object.'\r\n          ),\r\n        ]);\r\n      }\r\n      return true;\r\n    }()");
    }
    hitTest(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      if (!dart.test(dart.fn(() => {
        if (!dart.test(this.hasSize)) {
          if (dart.test(this.debugNeedsLayout)) {
            dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("Cannot hit test a render box that has never been laid out."), this.describeForError("The hitTest() method was called on this RenderBox"), new assertions.ErrorDescription.new("Unfortunately, this object's geometry is not known at this time, " + "probably because it has never been laid out. " + "This means it cannot be accurately hit-tested."), new assertions.ErrorHint.new("If you are trying " + "to perform a hit test during the layout phase itself, make sure " + "you only hit test nodes that have completed layout (e.g. the node's " + "children, after their layout() method has been called).")])));
          }
          dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("Cannot hit test a render box with no size."), this.describeForError("The hitTest() method was called on this RenderBox"), new assertions.ErrorDescription.new("Although this node is not marked as needing layout, " + "its size is not set."), new assertions.ErrorHint.new("A RenderBox object must have an " + "explicit size before it can be hit-tested. Make sure " + "that the RenderBox in question sets its size during layout.")])));
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 2106, 12, "() {\r\n      if (!hasSize) {\r\n        if (debugNeedsLayout) {\r\n          throw FlutterError.fromParts(<DiagnosticsNode>[\r\n            ErrorSummary('Cannot hit test a render box that has never been laid out.'),\r\n            describeForError('The hitTest() method was called on this RenderBox'),\r\n            ErrorDescription(\r\n              'Unfortunately, this object\\'s geometry is not known at this time, '\r\n              'probably because it has never been laid out. '\r\n              'This means it cannot be accurately hit-tested.'\r\n            ),\r\n            ErrorHint(\r\n              'If you are trying '\r\n              'to perform a hit test during the layout phase itself, make sure '\r\n              'you only hit test nodes that have completed layout (e.g. the node\\'s '\r\n              'children, after their layout() method has been called).'\r\n            ),\r\n          ]);\r\n        }\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('Cannot hit test a render box with no size.'),\r\n          describeForError('The hitTest() method was called on this RenderBox'),\r\n          ErrorDescription(\r\n            'Although this node is not marked as needing layout, '\r\n            'its size is not set.'\r\n          ),\r\n          ErrorHint(\r\n            'A RenderBox object must have an '\r\n            'explicit size before it can be hit-tested. Make sure '\r\n            'that the RenderBox in question sets its size during layout.'\r\n          ),\r\n        ]);\r\n      }\r\n      return true;\r\n    }()");
      if (dart.test(this[_size$].contains(position))) {
        if (dart.test(this.hitTestChildren(result, {position: position})) || dart.test(this.hitTestSelf(position))) {
          result.add(new box.BoxHitTestEntry.new(this, position));
          return true;
        }
      }
      return false;
    }
    hitTestSelf(position) {
      return false;
    }
    hitTestChildren(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      return false;
    }
    applyPaintTransform(child, transform) {
      object$.RenderObject._check(child);
      if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 2198, 12, "child != null");
      if (!dart.equals(child.parent, this)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 2199, 12, "child.parent == this");
      if (!dart.test(dart.fn(() => {
        if (!box.BoxParentData.is(child.parentData)) {
          dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new(dart.str(this[$runtimeType]) + " does not implement applyPaintTransform."), this.describeForError("The following " + dart.str(this[$runtimeType]) + " object"), child.describeForError("...did not use a BoxParentData class for the parentData field of the following child"), new assertions.ErrorDescription.new("The " + dart.str(this[$runtimeType]) + " class inherits from RenderBox."), new assertions.ErrorHint.new("The default applyPaintTransform implementation provided by RenderBox assumes that the " + "children all use BoxParentData objects for their parentData field. " + "Since " + dart.str(this[$runtimeType]) + " does not in fact use that ParentData class for its children, it must " + "provide an implementation of applyPaintTransform that supports the specific ParentData " + "subclass used by its children (which apparently is " + dart.str(dart.runtimeType(child.parentData)) + ").")])));
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 2200, 12, "() {\r\n      if (child.parentData is! BoxParentData) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('$runtimeType does not implement applyPaintTransform.'),\r\n          describeForError('The following $runtimeType object'),\r\n          child.describeForError('...did not use a BoxParentData class for the parentData field of the following child'),\r\n          ErrorDescription('The $runtimeType class inherits from RenderBox.'),\r\n          ErrorHint(\r\n            'The default applyPaintTransform implementation provided by RenderBox assumes that the '\r\n            'children all use BoxParentData objects for their parentData field. '\r\n            'Since $runtimeType does not in fact use that ParentData class for its children, it must '\r\n            'provide an implementation of applyPaintTransform that supports the specific ParentData '\r\n            'subclass used by its children (which apparently is ${child.parentData.runtimeType}).'\r\n          ),\r\n        ]);\r\n      }\r\n      return true;\r\n    }()");
      let childParentData = box.BoxParentData.as(child.parentData);
      let offset = childParentData.offset;
      transform.translate(offset.dx, offset.dy);
    }
    globalToLocal(point, opts) {
      let ancestor = opts && 'ancestor' in opts ? opts.ancestor : null;
      let transform = this.getTransformTo(ancestor);
      let det = transform.invert();
      if (det === 0.0) return ui.Offset.zero;
      let n = vector_math_64.Vector3.new(0.0, 0.0, 1.0);
      let i = transform.perspectiveTransform(vector_math_64.Vector3.new(0.0, 0.0, 0.0));
      let d = transform.perspectiveTransform(vector_math_64.Vector3.new(0.0, 0.0, 1.0))['-'](i);
      let s = transform.perspectiveTransform(vector_math_64.Vector3.new(point.dx, point.dy, 0.0));
      let p = s['-'](d['*'](dart.notNull(n.dot(s)) / dart.notNull(n.dot(d))));
      return new ui.Offset.new(p.x, p.y);
    }
    localToGlobal(point, opts) {
      let ancestor = opts && 'ancestor' in opts ? opts.ancestor : null;
      return matrix_utils.MatrixUtils.transformPoint(this.getTransformTo(ancestor), point);
    }
    get paintBounds() {
      return ui.Offset.zero['&'](this.size);
    }
    handleEvent(event, entry) {
      box.BoxHitTestEntry._check(entry);
      super.handleEvent(event, entry);
    }
    debugHandleEvent(event, entry) {
      if (!dart.test(dart.fn(() => {
        if (dart.test(debug$0.debugPaintPointersEnabled)) {
          if (events.PointerDownEvent.is(event)) {
            this[_debugActivePointers] = dart.notNull(this[_debugActivePointers]) + 1;
          } else if (events.PointerUpEvent.is(event) || events.PointerCancelEvent.is(event)) {
            this[_debugActivePointers] = dart.notNull(this[_debugActivePointers]) - 1;
          }
          this.markNeedsPaint();
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 2329, 12, "() {\r\n      if (debugPaintPointersEnabled) {\r\n        if (event is PointerDownEvent) {\r\n          _debugActivePointers += 1;\r\n        } else if (event is PointerUpEvent || event is PointerCancelEvent) {\r\n          _debugActivePointers -= 1;\r\n        }\r\n        markNeedsPaint();\r\n      }\r\n      return true;\r\n    }()");
      return true;
    }
    debugPaint(context, offset) {
      if (!dart.test(dart.fn(() => {
        if (dart.test(debug$0.debugPaintSizeEnabled)) this.debugPaintSize(context, offset);
        if (dart.test(debug$0.debugPaintBaselinesEnabled)) this.debugPaintBaselines(context, offset);
        if (dart.test(debug$0.debugPaintPointersEnabled)) this.debugPaintPointers(context, offset);
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 2345, 12, "() {\r\n      if (debugPaintSizeEnabled)\r\n        debugPaintSize(context, offset);\r\n      if (debugPaintBaselinesEnabled)\r\n        debugPaintBaselines(context, offset);\r\n      if (debugPaintPointersEnabled)\r\n        debugPaintPointers(context, offset);\r\n      return true;\r\n    }()");
    }
    debugPaintSize(context, offset) {
      if (!dart.test(dart.fn(() => {
        let t8;
        let paint = (t8 = ui.Paint.new(), t8.style = ui.PaintingStyle.stroke, t8.strokeWidth = 1.0, t8.color = C20 || CT.C20, t8);
        context.canvas.drawRect(offset['&'](this.size).deflate(0.5), paint);
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 2361, 12, "() {\r\n      final Paint paint = Paint()\r\n       ..style = PaintingStyle.stroke\r\n       ..strokeWidth = 1.0\r\n       ..color = const Color(0xFF00FFFF);\r\n      context.canvas.drawRect((offset & size).deflate(0.5), paint);\r\n      return true;\r\n    }()");
    }
    debugPaintBaselines(context, offset) {
      if (!dart.test(dart.fn(() => {
        let t8;
        let paint = (t8 = ui.Paint.new(), t8.style = ui.PaintingStyle.stroke, t8.strokeWidth = 0.25, t8);
        let path = null;
        let baselineI = this.getDistanceToBaseline(ui.TextBaseline.ideographic, {onlyReal: true});
        if (baselineI != null) {
          paint.color = C21 || CT.C21;
          path = ui.Path.new();
          path.moveTo(offset.dx, dart.notNull(offset.dy) + dart.notNull(baselineI));
          path.lineTo(dart.notNull(offset.dx) + dart.notNull(this.size.width), dart.notNull(offset.dy) + dart.notNull(baselineI));
          context.canvas.drawPath(path, paint);
        }
        let baselineA = this.getDistanceToBaseline(ui.TextBaseline.alphabetic, {onlyReal: true});
        if (baselineA != null) {
          paint.color = C22 || CT.C22;
          path = ui.Path.new();
          path.moveTo(offset.dx, dart.notNull(offset.dy) + dart.notNull(baselineA));
          path.lineTo(dart.notNull(offset.dx) + dart.notNull(this.size.width), dart.notNull(offset.dy) + dart.notNull(baselineA));
          context.canvas.drawPath(path, paint);
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 2376, 12, "() {\r\n      final Paint paint = Paint()\r\n       ..style = PaintingStyle.stroke\r\n       ..strokeWidth = 0.25;\r\n      Path path;\r\n      // ideographic baseline\r\n      final double baselineI = getDistanceToBaseline(TextBaseline.ideographic, onlyReal: true);\r\n      if (baselineI != null) {\r\n        paint.color = const Color(0xFFFFD000);\r\n        path = Path();\r\n        path.moveTo(offset.dx, offset.dy + baselineI);\r\n        path.lineTo(offset.dx + size.width, offset.dy + baselineI);\r\n        context.canvas.drawPath(path, paint);\r\n      }\r\n      // alphabetic baseline\r\n      final double baselineA = getDistanceToBaseline(TextBaseline.alphabetic, onlyReal: true);\r\n      if (baselineA != null) {\r\n        paint.color = const Color(0xFF00FF00);\r\n        path = Path();\r\n        path.moveTo(offset.dx, offset.dy + baselineA);\r\n        path.lineTo(offset.dx + size.width, offset.dy + baselineA);\r\n        context.canvas.drawPath(path, paint);\r\n      }\r\n      return true;\r\n    }()");
    }
    debugPaintPointers(context, offset) {
      if (!dart.test(dart.fn(() => {
        let t8;
        if (dart.notNull(this[_debugActivePointers]) > 0) {
          let paint = (t8 = ui.Paint.new(), t8.color = new ui.Color.new((48059 | (67108864 * dart.notNull(this.depth) & 4278190080) >>> 0) >>> 0), t8);
          context.canvas.drawRect(offset['&'](this.size), paint);
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 2412, 12, "() {\r\n      if (_debugActivePointers > 0) {\r\n        final Paint paint = Paint()\r\n         ..color = Color(0x00BBBB | ((0x04000000 * depth) & 0xFF000000));\r\n        context.canvas.drawRect(offset & size, paint);\r\n      }\r\n      return true;\r\n    }()");
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfSize()).new("size", this[_size$], {missingIfNull: true}));
    }
  };
  (box.RenderBox.new = function() {
    this[_cachedIntrinsicDimensions] = null;
    this[_size$] = null;
    this[_cachedBaselines] = null;
    this[_debugActivePointers] = 0;
    box.RenderBox.__proto__.new.call(this);
    ;
  }).prototype = box.RenderBox.prototype;
  dart.addTypeTests(box.RenderBox);
  dart.setMethodSignature(box.RenderBox, () => ({
    __proto__: dart.getMethods(box.RenderBox.__proto__),
    [_computeIntrinsicDimension]: dart.fnType(core.double, [box._IntrinsicDimension, core.double, dart.fnType(core.double, [core.double])]),
    getMinIntrinsicWidth: dart.fnType(core.double, [core.double]),
    computeMinIntrinsicWidth: dart.fnType(core.double, [core.double]),
    getMaxIntrinsicWidth: dart.fnType(core.double, [core.double]),
    computeMaxIntrinsicWidth: dart.fnType(core.double, [core.double]),
    getMinIntrinsicHeight: dart.fnType(core.double, [core.double]),
    computeMinIntrinsicHeight: dart.fnType(core.double, [core.double]),
    getMaxIntrinsicHeight: dart.fnType(core.double, [core.double]),
    computeMaxIntrinsicHeight: dart.fnType(core.double, [core.double]),
    debugAdoptSize: dart.fnType(ui.Size, [ui.Size]),
    getDistanceToBaseline: dart.fnType(core.double, [ui.TextBaseline], {onlyReal: core.bool}, {}),
    getDistanceToActualBaseline: dart.fnType(core.double, [ui.TextBaseline]),
    computeDistanceToActualBaseline: dart.fnType(core.double, [ui.TextBaseline]),
    debugAssertDoesMeetConstraints: dart.fnType(dart.void, []),
    performResize: dart.fnType(dart.void, []),
    performLayout: dart.fnType(dart.void, []),
    hitTest: dart.fnType(core.bool, [box.BoxHitTestResult], {position: ui.Offset}, {}),
    hitTestSelf: dart.fnType(core.bool, [ui.Offset]),
    hitTestChildren: dart.fnType(core.bool, [box.BoxHitTestResult], {position: ui.Offset}, {}),
    globalToLocal: dart.fnType(ui.Offset, [ui.Offset], {ancestor: object$.RenderObject}, {}),
    localToGlobal: dart.fnType(ui.Offset, [ui.Offset], {ancestor: object$.RenderObject}, {}),
    debugHandleEvent: dart.fnType(core.bool, [events.PointerEvent, hit_test.HitTestEntry]),
    debugPaintSize: dart.fnType(dart.void, [object$.PaintingContext, ui.Offset]),
    debugPaintBaselines: dart.fnType(dart.void, [object$.PaintingContext, ui.Offset]),
    debugPaintPointers: dart.fnType(dart.void, [object$.PaintingContext, ui.Offset])
  }));
  dart.setGetterSignature(box.RenderBox, () => ({
    __proto__: dart.getGetters(box.RenderBox.__proto__),
    hasSize: core.bool,
    size: ui.Size,
    semanticBounds: ui.Rect,
    constraints: box.BoxConstraints,
    paintBounds: ui.Rect
  }));
  dart.setSetterSignature(box.RenderBox, () => ({
    __proto__: dart.getSetters(box.RenderBox.__proto__),
    size: ui.Size
  }));
  dart.setLibraryUri(box.RenderBox, "package:flutter/src/rendering/box.dart");
  dart.setFieldSignature(box.RenderBox, () => ({
    __proto__: dart.getFields(box.RenderBox.__proto__),
    [_cachedIntrinsicDimensions]: dart.fieldType(core.Map$(box._IntrinsicDimensionsCacheEntry, core.double)),
    [_size$]: dart.fieldType(ui.Size),
    [_cachedBaselines]: dart.fieldType(core.Map$(ui.TextBaseline, core.double)),
    [_debugActivePointers]: dart.fieldType(core.int)
  }));
  dart.defineLazy(box.RenderBox, {
    /*box.RenderBox._debugDoingBaseline*/get _debugDoingBaseline() {
      return false;
    },
    set _debugDoingBaseline(_) {}
  });
  const automaticSystemUiAdjustment = dart.privateName(view, "RenderView.automaticSystemUiAdjustment");
  const RenderObject_RenderObjectWithChildMixin$36 = class RenderObject_RenderObjectWithChildMixin extends object$.RenderObject {};
  (RenderObject_RenderObjectWithChildMixin$36.new = function() {
    object$.RenderObjectWithChildMixin$(box.RenderBox)[dart.mixinNew].call(this);
    RenderObject_RenderObjectWithChildMixin$36.__proto__.new.call(this);
  }).prototype = RenderObject_RenderObjectWithChildMixin$36.prototype;
  dart.applyMixin(RenderObject_RenderObjectWithChildMixin$36, object$.RenderObjectWithChildMixin$(box.RenderBox));
  view.RenderView = class RenderView extends RenderObject_RenderObjectWithChildMixin$36 {
    get automaticSystemUiAdjustment() {
      return this[automaticSystemUiAdjustment];
    }
    set automaticSystemUiAdjustment(value) {
      this[automaticSystemUiAdjustment] = value;
    }
    get size() {
      return this[_size];
    }
    get configuration() {
      return this[_configuration];
    }
    set configuration(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/view.dart", 79, 12, "value != null");
      if (dart.equals(this.configuration, value)) return;
      this[_configuration] = value;
      this.replaceRootLayer(this[_updateMatricesAndCreateNewRootLayer]());
      if (!(this[_rootTransform] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/view.dart", 84, 12, "_rootTransform != null");
      this.markNeedsLayout();
    }
    scheduleInitialFrame() {
      this.prepareInitialFrame();
      this.owner.requestVisualUpdate();
    }
    prepareInitialFrame() {
      if (!(this.owner != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/view.dart", 133, 12, "owner != null");
      if (!(this[_rootTransform] == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/view.dart", 134, 12, "_rootTransform == null");
      this.scheduleInitialLayout();
      this.scheduleInitialPaint(this[_updateMatricesAndCreateNewRootLayer]());
      if (!(this[_rootTransform] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/view.dart", 137, 12, "_rootTransform != null");
    }
    [_updateMatricesAndCreateNewRootLayer]() {
      this[_rootTransform] = this.configuration.toMatrix();
      let rootLayer = new layer$.TransformLayer.new({transform: this[_rootTransform]});
      rootLayer.attach(this);
      if (!(this[_rootTransform] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/view.dart", 146, 12, "_rootTransform != null");
      return rootLayer;
    }
    debugAssertDoesMeetConstraints() {
      if (!false) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/view.dart", 153, 50, "false");
    }
    performResize() {
      if (!false) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/view.dart", 157, 12, "false");
    }
    performLayout() {
      if (!(this[_rootTransform] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/view.dart", 162, 12, "_rootTransform != null");
      this[_size] = this.configuration.size;
      if (!dart.test(this[_size].isFinite)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/view.dart", 164, 12, "_size.isFinite");
      if (this.child != null) this.child.layout(new box.BoxConstraints.tight(this[_size]));
    }
    rotate(opts) {
      let oldAngle = opts && 'oldAngle' in opts ? opts.oldAngle : null;
      let newAngle = opts && 'newAngle' in opts ? opts.newAngle : null;
      let time = opts && 'time' in opts ? opts.time : null;
      if (!false) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/view.dart", 172, 12, "false");
    }
    hitTest(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      if (this.child != null) this.child.hitTest(new box.BoxHitTestResult.wrap(result), {position: position});
      result.add(new hit_test.HitTestEntry.new(this));
      return true;
    }
    hitTestMouseTrackers(position) {
      return this.layer.findAllAnnotations(mouse_tracking.MouseTrackerAnnotation, position['*'](this.configuration.devicePixelRatio)).annotations;
    }
    get isRepaintBoundary() {
      return true;
    }
    paint(context, offset) {
      if (this.child != null) context.paintChild(this.child, offset);
    }
    applyPaintTransform(child, transform) {
      box.RenderBox._check(child);
      if (!(this[_rootTransform] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/view.dart", 218, 12, "_rootTransform != null");
      transform.multiply(this[_rootTransform]);
      super.applyPaintTransform(child, transform);
    }
    compositeFrame() {
      developer.Timeline.startSync("Compositing", {arguments: debug.timelineWhitelistArguments});
      try {
        let builder = ui.SceneBuilder.new();
        let scene = this.layer.buildScene(builder);
        if (dart.test(this.automaticSystemUiAdjustment)) this[_updateSystemChrome]();
        this[_window].render(scene);
        scene.dispose();
        if (!dart.test(dart.fn(() => {
          if (dart.test(debug$0.debugRepaintRainbowEnabled) || dart.test(debug$0.debugRepaintTextRainbowEnabled)) debug$0.debugCurrentRepaintColor = debug$0.debugCurrentRepaintColor.withHue((dart.notNull(debug$0.debugCurrentRepaintColor.hue) + 2.0)[$modulo](360.0));
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/view.dart", 235, 14, "() {\r\n        if (debugRepaintRainbowEnabled || debugRepaintTextRainbowEnabled)\r\n          debugCurrentRepaintColor = debugCurrentRepaintColor.withHue((debugCurrentRepaintColor.hue + 2.0) % 360.0);\r\n        return true;\r\n      }()");
      } finally {
        developer.Timeline.finishSync();
      }
    }
    [_updateSystemChrome]() {
      let t4, t4$, t4$0, t4$1, t4$2, t4$3;
      let bounds = this.paintBounds;
      let top = new ui.Offset.new(bounds.center.dx, dart.notNull(this[_window].padding.top) / dart.notNull(this[_window].devicePixelRatio));
      let bottom = new ui.Offset.new(bounds.center.dx, dart.notNull(bounds.center.dy) - dart.notNull(this[_window].padding.bottom) / dart.notNull(this[_window].devicePixelRatio));
      let upperOverlayStyle = this.layer.find(system_chrome.SystemUiOverlayStyle, top);
      let lowerOverlayStyle = null;
      switch (platform.defaultTargetPlatform) {
        case C16 || CT.C16:
        {
          lowerOverlayStyle = this.layer.find(system_chrome.SystemUiOverlayStyle, bottom);
          break;
        }
        case C17 || CT.C17:
        case C18 || CT.C18:
        case C19 || CT.C19:
        {
          break;
        }
      }
      if (upperOverlayStyle != null || lowerOverlayStyle != null) {
        let overlayStyle = new system_chrome.SystemUiOverlayStyle.new({statusBarBrightness: (t4 = upperOverlayStyle, t4 == null ? null : t4.statusBarBrightness), statusBarIconBrightness: (t4$ = upperOverlayStyle, t4$ == null ? null : t4$.statusBarIconBrightness), statusBarColor: (t4$0 = upperOverlayStyle, t4$0 == null ? null : t4$0.statusBarColor), systemNavigationBarColor: (t4$1 = lowerOverlayStyle, t4$1 == null ? null : t4$1.systemNavigationBarColor), systemNavigationBarDividerColor: (t4$2 = lowerOverlayStyle, t4$2 == null ? null : t4$2.systemNavigationBarDividerColor), systemNavigationBarIconBrightness: (t4$3 = lowerOverlayStyle, t4$3 == null ? null : t4$3.systemNavigationBarIconBrightness)});
        system_chrome.SystemChrome.setSystemUIOverlayStyle(overlayStyle);
      }
    }
    get paintBounds() {
      return ui.Offset.zero['&'](this.size['*'](this.configuration.devicePixelRatio));
    }
    get semanticBounds() {
      if (!(this[_rootTransform] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/view.dart", 280, 12, "_rootTransform != null");
      return matrix_utils.MatrixUtils.transformRect(this[_rootTransform], ui.Offset.zero['&'](this.size));
    }
    debugFillProperties(properties) {
      if (!dart.test(dart.fn(() => {
        properties.add(diagnostics.DiagnosticsNode.message("debug mode enabled - " + dart.str(true ? "Web" : io.Platform.operatingSystem)));
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/view.dart", 290, 12, "() {\r\n      properties.add(DiagnosticsNode.message('debug mode enabled - ${kIsWeb ? 'Web' :  Platform.operatingSystem}'));\r\n      return true;\r\n    }()");
      properties.add(new (DiagnosticsPropertyOfSize()).new("window size", this[_window].physicalSize, {tooltip: "in physical pixels"}));
      properties.add(new diagnostics.DoubleProperty.new("device pixel ratio", this[_window].devicePixelRatio, {tooltip: "physical pixels per logical pixel"}));
      properties.add(new (DiagnosticsPropertyOfViewConfiguration()).new("configuration", this.configuration, {tooltip: "in logical pixels"}));
      if (dart.test(this[_window].semanticsEnabled)) properties.add(diagnostics.DiagnosticsNode.message("semantics enabled"));
    }
  };
  (view.RenderView.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let configuration = opts && 'configuration' in opts ? opts.configuration : null;
    let window = opts && 'window' in opts ? opts.window : null;
    this[_size] = ui.Size.zero;
    this[automaticSystemUiAdjustment] = true;
    this[_rootTransform] = null;
    if (!(configuration != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/view.dart", 61, 15, "configuration != null");
    this[_configuration] = configuration;
    this[_window] = window;
    view.RenderView.__proto__.new.call(this);
    this.child = child;
  }).prototype = view.RenderView.prototype;
  dart.addTypeTests(view.RenderView);
  dart.setMethodSignature(view.RenderView, () => ({
    __proto__: dart.getMethods(view.RenderView.__proto__),
    scheduleInitialFrame: dart.fnType(dart.void, []),
    prepareInitialFrame: dart.fnType(dart.void, []),
    [_updateMatricesAndCreateNewRootLayer]: dart.fnType(layer$.TransformLayer, []),
    debugAssertDoesMeetConstraints: dart.fnType(dart.void, []),
    performResize: dart.fnType(dart.void, []),
    performLayout: dart.fnType(dart.void, []),
    hitTest: dart.fnType(core.bool, [hit_test.HitTestResult], {position: ui.Offset}, {}),
    hitTestMouseTrackers: dart.fnType(core.Iterable$(mouse_tracking.MouseTrackerAnnotation), [ui.Offset]),
    compositeFrame: dart.fnType(dart.void, []),
    [_updateSystemChrome]: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(view.RenderView, () => ({
    __proto__: dart.getGetters(view.RenderView.__proto__),
    size: ui.Size,
    configuration: view.ViewConfiguration,
    paintBounds: ui.Rect,
    semanticBounds: ui.Rect
  }));
  dart.setSetterSignature(view.RenderView, () => ({
    __proto__: dart.getSetters(view.RenderView.__proto__),
    configuration: view.ViewConfiguration
  }));
  dart.setLibraryUri(view.RenderView, "package:flutter/src/rendering/view.dart");
  dart.setFieldSignature(view.RenderView, () => ({
    __proto__: dart.getFields(view.RenderView.__proto__),
    [_size]: dart.fieldType(ui.Size),
    [_configuration]: dart.fieldType(view.ViewConfiguration),
    [_window]: dart.finalFieldType(ui.Window),
    automaticSystemUiAdjustment: dart.fieldType(core.bool),
    [_rootTransform]: dart.fieldType(vector_math_64.Matrix4)
  }));
  box._DebugSize = class _DebugSize extends ui.Size {};
  (box._DebugSize.new = function(source, _owner, _canBeUsedByParent) {
    this[_owner$0] = _owner;
    this[_canBeUsedByParent$] = _canBeUsedByParent;
    box._DebugSize.__proto__.copy.call(this, source);
    ;
  }).prototype = box._DebugSize.prototype;
  dart.addTypeTests(box._DebugSize);
  dart.setLibraryUri(box._DebugSize, "package:flutter/src/rendering/box.dart");
  dart.setFieldSignature(box._DebugSize, () => ({
    __proto__: dart.getFields(box._DebugSize.__proto__),
    [_owner$0]: dart.finalFieldType(box.RenderBox),
    [_canBeUsedByParent$]: dart.finalFieldType(core.bool)
  }));
  const _debugPropagateDebugSize = dart.privateName(box, "_debugPropagateDebugSize");
  const minWidth$ = dart.privateName(box, "BoxConstraints.minWidth");
  const maxWidth$ = dart.privateName(box, "BoxConstraints.maxWidth");
  const minHeight$ = dart.privateName(box, "BoxConstraints.minHeight");
  const maxHeight$ = dart.privateName(box, "BoxConstraints.maxHeight");
  box.BoxConstraints = class BoxConstraints extends object$.Constraints {
    get minWidth() {
      return this[minWidth$];
    }
    set minWidth(value) {
      super.minWidth = value;
    }
    get maxWidth() {
      return this[maxWidth$];
    }
    set maxWidth(value) {
      super.maxWidth = value;
    }
    get minHeight() {
      return this[minHeight$];
    }
    set minHeight(value) {
      super.minHeight = value;
    }
    get maxHeight() {
      return this[maxHeight$];
    }
    set maxHeight(value) {
      super.maxHeight = value;
    }
    copyWith(opts) {
      let t8, t8$, t8$0, t8$1;
      let minWidth = opts && 'minWidth' in opts ? opts.minWidth : null;
      let maxWidth = opts && 'maxWidth' in opts ? opts.maxWidth : null;
      let minHeight = opts && 'minHeight' in opts ? opts.minHeight : null;
      let maxHeight = opts && 'maxHeight' in opts ? opts.maxHeight : null;
      return new box.BoxConstraints.new({minWidth: (t8 = minWidth, t8 == null ? this.minWidth : t8), maxWidth: (t8$ = maxWidth, t8$ == null ? this.maxWidth : t8$), minHeight: (t8$0 = minHeight, t8$0 == null ? this.minHeight : t8$0), maxHeight: (t8$1 = maxHeight, t8$1 == null ? this.maxHeight : t8$1)});
    }
    deflate(edges) {
      if (!(edges != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 187, 12, "edges != null");
      if (!dart.test(this.debugAssertIsValid())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 188, 12, "debugAssertIsValid()");
      let horizontal = edges.horizontal;
      let vertical = edges.vertical;
      let deflatedMinWidth = math.max(core.double, 0.0, dart.notNull(this.minWidth) - dart.notNull(horizontal));
      let deflatedMinHeight = math.max(core.double, 0.0, dart.notNull(this.minHeight) - dart.notNull(vertical));
      return new box.BoxConstraints.new({minWidth: deflatedMinWidth, maxWidth: math.max(core.double, deflatedMinWidth, dart.notNull(this.maxWidth) - dart.notNull(horizontal)), minHeight: deflatedMinHeight, maxHeight: math.max(core.double, deflatedMinHeight, dart.notNull(this.maxHeight) - dart.notNull(vertical))});
    }
    loosen() {
      if (!dart.test(this.debugAssertIsValid())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 203, 12, "debugAssertIsValid()");
      return new box.BoxConstraints.new({minWidth: 0.0, maxWidth: this.maxWidth, minHeight: 0.0, maxHeight: this.maxHeight});
    }
    enforce(constraints) {
      return new box.BoxConstraints.new({minWidth: this.minWidth[$clamp](constraints.minWidth, constraints.maxWidth), maxWidth: this.maxWidth[$clamp](constraints.minWidth, constraints.maxWidth), minHeight: this.minHeight[$clamp](constraints.minHeight, constraints.maxHeight), maxHeight: this.maxHeight[$clamp](constraints.minHeight, constraints.maxHeight)});
    }
    tighten(opts) {
      let width = opts && 'width' in opts ? opts.width : null;
      let height = opts && 'height' in opts ? opts.height : null;
      return new box.BoxConstraints.new({minWidth: width == null ? this.minWidth : width[$clamp](this.minWidth, this.maxWidth), maxWidth: width == null ? this.maxWidth : width[$clamp](this.minWidth, this.maxWidth), minHeight: height == null ? this.minHeight : height[$clamp](this.minHeight, this.maxHeight), maxHeight: height == null ? this.maxHeight : height[$clamp](this.minHeight, this.maxHeight)});
    }
    get flipped() {
      return new box.BoxConstraints.new({minWidth: this.minHeight, maxWidth: this.maxHeight, minHeight: this.minWidth, maxHeight: this.maxWidth});
    }
    widthConstraints() {
      return new box.BoxConstraints.new({minWidth: this.minWidth, maxWidth: this.maxWidth});
    }
    heightConstraints() {
      return new box.BoxConstraints.new({minHeight: this.minHeight, maxHeight: this.maxHeight});
    }
    constrainWidth(width = 1 / 0) {
      if (!dart.test(this.debugAssertIsValid())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 256, 12, "debugAssertIsValid()");
      return width[$clamp](this.minWidth, this.maxWidth);
    }
    constrainHeight(height = 1 / 0) {
      if (!dart.test(this.debugAssertIsValid())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 263, 12, "debugAssertIsValid()");
      return height[$clamp](this.minHeight, this.maxHeight);
    }
    [_debugPropagateDebugSize](size, result) {
      if (!dart.test(dart.fn(() => {
        if (box._DebugSize.is(size)) result = new box._DebugSize.new(result, size[_owner$0], size[_canBeUsedByParent$]);
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 268, 12, "() {\r\n      if (size is _DebugSize)\r\n        result = _DebugSize(result, size._owner, size._canBeUsedByParent);\r\n      return true;\r\n    }()");
      return result;
    }
    constrain(size) {
      let result = new ui.Size.new(this.constrainWidth(size.width), this.constrainHeight(size.height));
      if (!dart.test(dart.fn(() => {
        result = this[_debugPropagateDebugSize](size, result);
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 285, 12, "() {\r\n      result = _debugPropagateDebugSize(size, result);\r\n      return true;\r\n    }()");
      return result;
    }
    constrainDimensions(width, height) {
      return new ui.Size.new(this.constrainWidth(width), this.constrainHeight(height));
    }
    constrainSizeAndAttemptToPreserveAspectRatio(size) {
      if (dart.test(this.isTight)) {
        let result = this.smallest;
        if (!dart.test(dart.fn(() => {
          result = this[_debugPropagateDebugSize](size, result);
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 311, 14, "() {\r\n        result = _debugPropagateDebugSize(size, result);\r\n        return true;\r\n      }()");
        return result;
      }
      let width = size.width;
      let height = size.height;
      if (!(dart.notNull(width) > 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 320, 12, "width > 0.0");
      if (!(dart.notNull(height) > 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 321, 12, "height > 0.0");
      let aspectRatio = dart.notNull(width) / dart.notNull(height);
      if (dart.notNull(width) > dart.notNull(this.maxWidth)) {
        width = this.maxWidth;
        height = dart.notNull(width) / aspectRatio;
      }
      if (dart.notNull(height) > dart.notNull(this.maxHeight)) {
        height = this.maxHeight;
        width = dart.notNull(height) * aspectRatio;
      }
      if (dart.notNull(width) < dart.notNull(this.minWidth)) {
        width = this.minWidth;
        height = dart.notNull(width) / aspectRatio;
      }
      if (dart.notNull(height) < dart.notNull(this.minHeight)) {
        height = this.minHeight;
        width = dart.notNull(height) * aspectRatio;
      }
      let result = new ui.Size.new(this.constrainWidth(width), this.constrainHeight(height));
      if (!dart.test(dart.fn(() => {
        result = this[_debugPropagateDebugSize](size, result);
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 345, 12, "() {\r\n      result = _debugPropagateDebugSize(size, result);\r\n      return true;\r\n    }()");
      return result;
    }
    get biggest() {
      return new ui.Size.new(this.constrainWidth(), this.constrainHeight());
    }
    get smallest() {
      return new ui.Size.new(this.constrainWidth(0.0), this.constrainHeight(0.0));
    }
    get hasTightWidth() {
      return dart.notNull(this.minWidth) >= dart.notNull(this.maxWidth);
    }
    get hasTightHeight() {
      return dart.notNull(this.minHeight) >= dart.notNull(this.maxHeight);
    }
    get isTight() {
      return dart.test(this.hasTightWidth) && dart.test(this.hasTightHeight);
    }
    get hasBoundedWidth() {
      return dart.notNull(this.maxWidth) < 1 / 0;
    }
    get hasBoundedHeight() {
      return dart.notNull(this.maxHeight) < 1 / 0;
    }
    get hasInfiniteWidth() {
      return dart.notNull(this.minWidth) >= 1 / 0;
    }
    get hasInfiniteHeight() {
      return dart.notNull(this.minHeight) >= 1 / 0;
    }
    isSatisfiedBy(size) {
      if (!dart.test(this.debugAssertIsValid())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 418, 12, "debugAssertIsValid()");
      return dart.notNull(this.minWidth) <= dart.notNull(size.width) && dart.notNull(size.width) <= dart.notNull(this.maxWidth) && dart.notNull(this.minHeight) <= dart.notNull(size.height) && dart.notNull(size.height) <= dart.notNull(this.maxHeight);
    }
    ['*'](factor) {
      return new box.BoxConstraints.new({minWidth: dart.notNull(this.minWidth) * dart.notNull(factor), maxWidth: dart.notNull(this.maxWidth) * dart.notNull(factor), minHeight: dart.notNull(this.minHeight) * dart.notNull(factor), maxHeight: dart.notNull(this.maxHeight) * dart.notNull(factor)});
    }
    ['/'](factor) {
      return new box.BoxConstraints.new({minWidth: dart.notNull(this.minWidth) / dart.notNull(factor), maxWidth: dart.notNull(this.maxWidth) / dart.notNull(factor), minHeight: dart.notNull(this.minHeight) / dart.notNull(factor), maxHeight: dart.notNull(this.maxHeight) / dart.notNull(factor)});
    }
    ['~/'](factor) {
      return new box.BoxConstraints.new({minWidth: (dart.notNull(this.minWidth) / dart.notNull(factor))[$truncate]()[$toDouble](), maxWidth: (dart.notNull(this.maxWidth) / dart.notNull(factor))[$truncate]()[$toDouble](), minHeight: (dart.notNull(this.minHeight) / dart.notNull(factor))[$truncate]()[$toDouble](), maxHeight: (dart.notNull(this.maxHeight) / dart.notNull(factor))[$truncate]()[$toDouble]()});
    }
    ['%'](value) {
      return new box.BoxConstraints.new({minWidth: this.minWidth[$modulo](value), maxWidth: this.maxWidth[$modulo](value), minHeight: this.minHeight[$modulo](value), maxHeight: this.maxHeight[$modulo](value)});
    }
    static lerp(a, b, t) {
      if (!(t != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 470, 12, "t != null");
      if (a == null && b == null) return null;
      if (a == null) return b['*'](t);
      if (b == null) return a['*'](1.0 - dart.notNull(t));
      if (!dart.test(a.debugAssertIsValid())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 477, 12, "a.debugAssertIsValid()");
      if (!dart.test(b.debugAssertIsValid())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 478, 12, "b.debugAssertIsValid()");
      if (!(a.minWidth[$isFinite] && b.minWidth[$isFinite] || a.minWidth === 1 / 0 && b.minWidth === 1 / 0)) dart.assertFailed("Cannot interpolate between finite constraints and unbounded constraints.", "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 479, 12, "(a.minWidth.isFinite && b.minWidth.isFinite) || (a.minWidth == double.infinity && b.minWidth == double.infinity)");
      if (!(a.maxWidth[$isFinite] && b.maxWidth[$isFinite] || a.maxWidth === 1 / 0 && b.maxWidth === 1 / 0)) dart.assertFailed("Cannot interpolate between finite constraints and unbounded constraints.", "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 480, 12, "(a.maxWidth.isFinite && b.maxWidth.isFinite) || (a.maxWidth == double.infinity && b.maxWidth == double.infinity)");
      if (!(a.minHeight[$isFinite] && b.minHeight[$isFinite] || a.minHeight === 1 / 0 && b.minHeight === 1 / 0)) dart.assertFailed("Cannot interpolate between finite constraints and unbounded constraints.", "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 481, 12, "(a.minHeight.isFinite && b.minHeight.isFinite) || (a.minHeight == double.infinity && b.minHeight == double.infinity)");
      if (!(a.maxHeight[$isFinite] && b.maxHeight[$isFinite] || a.maxHeight === 1 / 0 && b.maxHeight === 1 / 0)) dart.assertFailed("Cannot interpolate between finite constraints and unbounded constraints.", "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 482, 12, "(a.maxHeight.isFinite && b.maxHeight.isFinite) || (a.maxHeight == double.infinity && b.maxHeight == double.infinity)");
      return new box.BoxConstraints.new({minWidth: a.minWidth[$isFinite] ? ui.lerpDouble(a.minWidth, b.minWidth, t) : 1 / 0, maxWidth: a.maxWidth[$isFinite] ? ui.lerpDouble(a.maxWidth, b.maxWidth, t) : 1 / 0, minHeight: a.minHeight[$isFinite] ? ui.lerpDouble(a.minHeight, b.minHeight, t) : 1 / 0, maxHeight: a.maxHeight[$isFinite] ? ui.lerpDouble(a.maxHeight, b.maxHeight, t) : 1 / 0});
    }
    get isNormalized() {
      return dart.notNull(this.minWidth) >= 0.0 && dart.notNull(this.minWidth) <= dart.notNull(this.maxWidth) && dart.notNull(this.minHeight) >= 0.0 && dart.notNull(this.minHeight) <= dart.notNull(this.maxHeight);
    }
    debugAssertIsValid(opts) {
      let isAppliedConstraint = opts && 'isAppliedConstraint' in opts ? opts.isAppliedConstraint : false;
      let informationCollector = opts && 'informationCollector' in opts ? opts.informationCollector : null;
      if (!dart.test(dart.fn(() => {
        const throwError = message => {
          dart.throw(new assertions.FlutterError.fromParts((() => {
            let t8 = JSArrayOfDiagnosticsNode().of([]);
            t8[$add](message);
            if (informationCollector != null) for (let t9 of informationCollector())
              t8[$add](t9);
            t8[$add](new (DiagnosticsPropertyOfBoxConstraints()).new("The offending constraints were", this, {style: diagnostics.DiagnosticsTreeStyle.errorProperty}));
            return t8;
          })()));
        };
        dart.fn(throwError, DiagnosticsNodeTovoid());
        if (this.minWidth[$isNaN] || this.maxWidth[$isNaN] || this.minHeight[$isNaN] || this.maxHeight[$isNaN]) {
          let affectedFieldsList = (() => {
            let t10 = JSArrayOfString().of([]);
            if (this.minWidth[$isNaN]) t10[$add]("minWidth");
            if (this.maxWidth[$isNaN]) t10[$add]("maxWidth");
            if (this.minHeight[$isNaN]) t10[$add]("minHeight");
            if (this.maxHeight[$isNaN]) t10[$add]("maxHeight");
            return t10;
          })();
          if (!dart.test(affectedFieldsList[$isNotEmpty])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 530, 16, "affectedFieldsList.isNotEmpty");
          if (dart.notNull(affectedFieldsList[$length]) > 1) affectedFieldsList[$add]("and " + dart.str(affectedFieldsList[$removeLast]()));
          let whichFields = "";
          if (dart.notNull(affectedFieldsList[$length]) > 2) {
            whichFields = affectedFieldsList[$join](", ");
          } else if (affectedFieldsList[$length] === 2) {
            whichFields = affectedFieldsList[$join](" ");
          } else {
            whichFields = affectedFieldsList[$single];
          }
          throwError(new assertions.ErrorSummary.new("BoxConstraints has " + (affectedFieldsList[$length] === 1 ? "a NaN value" : "NaN values") + " in " + dart.str(whichFields) + "."));
        }
        if (dart.notNull(this.minWidth) < 0.0 && dart.notNull(this.minHeight) < 0.0) throwError(new assertions.ErrorSummary.new("BoxConstraints has both a negative minimum width and a negative minimum height."));
        if (dart.notNull(this.minWidth) < 0.0) throwError(new assertions.ErrorSummary.new("BoxConstraints has a negative minimum width."));
        if (dart.notNull(this.minHeight) < 0.0) throwError(new assertions.ErrorSummary.new("BoxConstraints has a negative minimum height."));
        if (dart.notNull(this.maxWidth) < dart.notNull(this.minWidth) && dart.notNull(this.maxHeight) < dart.notNull(this.minHeight)) throwError(new assertions.ErrorSummary.new("BoxConstraints has both width and height constraints non-normalized."));
        if (dart.notNull(this.maxWidth) < dart.notNull(this.minWidth)) throwError(new assertions.ErrorSummary.new("BoxConstraints has non-normalized width constraints."));
        if (dart.notNull(this.maxHeight) < dart.notNull(this.minHeight)) throwError(new assertions.ErrorSummary.new("BoxConstraints has non-normalized height constraints."));
        if (dart.test(isAppliedConstraint)) {
          if (this.minWidth[$isInfinite] && this.minHeight[$isInfinite]) throwError(new assertions.ErrorSummary.new("BoxConstraints forces an infinite width and infinite height."));
          if (this.minWidth[$isInfinite]) throwError(new assertions.ErrorSummary.new("BoxConstraints forces an infinite width."));
          if (this.minHeight[$isInfinite]) throwError(new assertions.ErrorSummary.new("BoxConstraints forces an infinite height."));
        }
        if (!dart.test(this.isNormalized)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 563, 14, "isNormalized");
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 515, 12, "() {\r\n      void throwError(DiagnosticsNode message) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          message,\r\n          if (informationCollector != null) ...informationCollector(),\r\n          DiagnosticsProperty<BoxConstraints>('The offending constraints were', this, style: DiagnosticsTreeStyle.errorProperty),\r\n        ]);\r\n      }\r\n      if (minWidth.isNaN || maxWidth.isNaN || minHeight.isNaN || maxHeight.isNaN) {\r\n        final List<String> affectedFieldsList = <String>[\r\n          if (minWidth.isNaN) 'minWidth',\r\n          if (maxWidth.isNaN) 'maxWidth',\r\n          if (minHeight.isNaN) 'minHeight',\r\n          if (maxHeight.isNaN) 'maxHeight',\r\n        ];\r\n        assert(affectedFieldsList.isNotEmpty);\r\n        if (affectedFieldsList.length > 1)\r\n          affectedFieldsList.add('and ${affectedFieldsList.removeLast()}');\r\n        String whichFields = '';\r\n        if (affectedFieldsList.length > 2) {\r\n          whichFields = affectedFieldsList.join(', ');\r\n        } else if (affectedFieldsList.length == 2) {\r\n          whichFields = affectedFieldsList.join(' ');\r\n        } else {\r\n          whichFields = affectedFieldsList.single;\r\n        }\r\n        throwError(ErrorSummary('BoxConstraints has ${affectedFieldsList.length == 1 ? 'a NaN value' : 'NaN values' } in $whichFields.'));\r\n      }\r\n      if (minWidth < 0.0 && minHeight < 0.0)\r\n        throwError(ErrorSummary('BoxConstraints has both a negative minimum width and a negative minimum height.'));\r\n      if (minWidth < 0.0)\r\n        throwError(ErrorSummary('BoxConstraints has a negative minimum width.'));\r\n      if (minHeight < 0.0)\r\n        throwError(ErrorSummary('BoxConstraints has a negative minimum height.'));\r\n      if (maxWidth < minWidth && maxHeight < minHeight)\r\n        throwError(ErrorSummary('BoxConstraints has both width and height constraints non-normalized.'));\r\n      if (maxWidth < minWidth)\r\n        throwError(ErrorSummary('BoxConstraints has non-normalized width constraints.'));\r\n      if (maxHeight < minHeight)\r\n        throwError(ErrorSummary('BoxConstraints has non-normalized height constraints.'));\r\n      if (isAppliedConstraint) {\r\n        if (minWidth.isInfinite && minHeight.isInfinite)\r\n          throwError(ErrorSummary('BoxConstraints forces an infinite width and infinite height.'));\r\n        if (minWidth.isInfinite)\r\n          throwError(ErrorSummary('BoxConstraints forces an infinite width.'));\r\n        if (minHeight.isInfinite)\r\n          throwError(ErrorSummary('BoxConstraints forces an infinite height.'));\r\n      }\r\n      assert(isNormalized);\r\n      return true;\r\n    }()");
      return this.isNormalized;
    }
    normalize() {
      if (dart.test(this.isNormalized)) return this;
      let minWidth = dart.notNull(this.minWidth) >= 0.0 ? this.minWidth : 0.0;
      let minHeight = dart.notNull(this.minHeight) >= 0.0 ? this.minHeight : 0.0;
      return new box.BoxConstraints.new({minWidth: minWidth, maxWidth: dart.notNull(minWidth) > dart.notNull(this.maxWidth) ? minWidth : this.maxWidth, minHeight: minHeight, maxHeight: dart.notNull(minHeight) > dart.notNull(this.maxHeight) ? minHeight : this.maxHeight});
    }
    _equals(other) {
      if (other == null) return false;
      if (!dart.test(this.debugAssertIsValid())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 588, 12, "debugAssertIsValid()");
      if (this === other) return true;
      if (!dart.equals(dart.runtimeType(other), this[$runtimeType])) return false;
      if (!(box.BoxConstraints.is(other) && dart.test(other.debugAssertIsValid()))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 593, 12, "other is BoxConstraints && other.debugAssertIsValid()");
      return box.BoxConstraints.is(other) && other.minWidth == this.minWidth && other.maxWidth == this.maxWidth && other.minHeight == this.minHeight && other.maxHeight == this.maxHeight;
    }
    get hashCode() {
      if (!dart.test(this.debugAssertIsValid())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 603, 12, "debugAssertIsValid()");
      return ui.hashValues(this.minWidth, this.maxWidth, this.minHeight, this.maxHeight);
    }
    toString() {
      let annotation = dart.test(this.isNormalized) ? "" : "; NOT NORMALIZED";
      if (this.minWidth === 1 / 0 && this.minHeight === 1 / 0) return "BoxConstraints(biggest" + annotation + ")";
      if (this.minWidth === 0 && this.maxWidth === 1 / 0 && this.minHeight === 0 && this.maxHeight === 1 / 0) return "BoxConstraints(unconstrained" + annotation + ")";
      function describe(min, max, dim) {
        if (min == max) return dart.str(dim) + "=" + min[$toStringAsFixed](1);
        return min[$toStringAsFixed](1) + "<=" + dart.str(dim) + "<=" + max[$toStringAsFixed](1);
      }
      dart.fn(describe, doubleAnddoubleAndStringToString());
      let width = describe(this.minWidth, this.maxWidth, "w");
      let height = describe(this.minHeight, this.maxHeight, "h");
      return "BoxConstraints(" + dart.str(width) + ", " + dart.str(height) + annotation + ")";
    }
  };
  (box.BoxConstraints.new = function(opts) {
    let minWidth = opts && 'minWidth' in opts ? opts.minWidth : 0;
    let maxWidth = opts && 'maxWidth' in opts ? opts.maxWidth : 1 / 0;
    let minHeight = opts && 'minHeight' in opts ? opts.minHeight : 0;
    let maxHeight = opts && 'maxHeight' in opts ? opts.maxHeight : 1 / 0;
    this[minWidth$] = minWidth;
    this[maxWidth$] = maxWidth;
    this[minHeight$] = minHeight;
    this[maxHeight$] = maxHeight;
    if (!(minWidth != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 93, 16, "minWidth != null");
    if (!(maxWidth != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 94, 16, "maxWidth != null");
    if (!(minHeight != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 95, 16, "minHeight != null");
    if (!(maxHeight != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 96, 16, "maxHeight != null");
    box.BoxConstraints.__proto__.new.call(this);
    ;
  }).prototype = box.BoxConstraints.prototype;
  (box.BoxConstraints.tight = function(size) {
    this[minWidth$] = size.width;
    this[maxWidth$] = size.width;
    this[minHeight$] = size.height;
    this[maxHeight$] = size.height;
    box.BoxConstraints.__proto__.new.call(this);
    ;
  }).prototype = box.BoxConstraints.prototype;
  (box.BoxConstraints.tightFor = function(opts) {
    let t8, t8$, t8$0, t8$1;
    let width = opts && 'width' in opts ? opts.width : null;
    let height = opts && 'height' in opts ? opts.height : null;
    this[minWidth$] = (t8 = width, t8 == null ? 0.0 : t8);
    this[maxWidth$] = (t8$ = width, t8$ == null ? 1 / 0 : t8$);
    this[minHeight$] = (t8$0 = height, t8$0 == null ? 0.0 : t8$0);
    this[maxHeight$] = (t8$1 = height, t8$1 == null ? 1 / 0 : t8$1);
    box.BoxConstraints.__proto__.new.call(this);
    ;
  }).prototype = box.BoxConstraints.prototype;
  (box.BoxConstraints.tightForFinite = function(opts) {
    let width = opts && 'width' in opts ? opts.width : 1 / 0;
    let height = opts && 'height' in opts ? opts.height : 1 / 0;
    this[minWidth$] = width !== 1 / 0 ? width : 0.0;
    this[maxWidth$] = width !== 1 / 0 ? width : 1 / 0;
    this[minHeight$] = height !== 1 / 0 ? height : 0.0;
    this[maxHeight$] = height !== 1 / 0 ? height : 1 / 0;
    box.BoxConstraints.__proto__.new.call(this);
    ;
  }).prototype = box.BoxConstraints.prototype;
  (box.BoxConstraints.loose = function(size) {
    this[minWidth$] = 0.0;
    this[maxWidth$] = size.width;
    this[minHeight$] = 0.0;
    this[maxHeight$] = size.height;
    box.BoxConstraints.__proto__.new.call(this);
    ;
  }).prototype = box.BoxConstraints.prototype;
  (box.BoxConstraints.expand = function(opts) {
    let t8, t8$, t8$0, t8$1;
    let width = opts && 'width' in opts ? opts.width : null;
    let height = opts && 'height' in opts ? opts.height : null;
    this[minWidth$] = (t8 = width, t8 == null ? 1 / 0 : t8);
    this[maxWidth$] = (t8$ = width, t8$ == null ? 1 / 0 : t8$);
    this[minHeight$] = (t8$0 = height, t8$0 == null ? 1 / 0 : t8$0);
    this[maxHeight$] = (t8$1 = height, t8$1 == null ? 1 / 0 : t8$1);
    box.BoxConstraints.__proto__.new.call(this);
    ;
  }).prototype = box.BoxConstraints.prototype;
  dart.addTypeTests(box.BoxConstraints);
  dart.setMethodSignature(box.BoxConstraints, () => ({
    __proto__: dart.getMethods(box.BoxConstraints.__proto__),
    copyWith: dart.fnType(box.BoxConstraints, [], {maxHeight: core.double, maxWidth: core.double, minHeight: core.double, minWidth: core.double}, {}),
    deflate: dart.fnType(box.BoxConstraints, [edge_insets.EdgeInsets]),
    loosen: dart.fnType(box.BoxConstraints, []),
    enforce: dart.fnType(box.BoxConstraints, [box.BoxConstraints]),
    tighten: dart.fnType(box.BoxConstraints, [], {height: core.double, width: core.double}, {}),
    widthConstraints: dart.fnType(box.BoxConstraints, []),
    heightConstraints: dart.fnType(box.BoxConstraints, []),
    constrainWidth: dart.fnType(core.double, [], [core.double]),
    constrainHeight: dart.fnType(core.double, [], [core.double]),
    [_debugPropagateDebugSize]: dart.fnType(ui.Size, [ui.Size, ui.Size]),
    constrain: dart.fnType(ui.Size, [ui.Size]),
    constrainDimensions: dart.fnType(ui.Size, [core.double, core.double]),
    constrainSizeAndAttemptToPreserveAspectRatio: dart.fnType(ui.Size, [ui.Size]),
    isSatisfiedBy: dart.fnType(core.bool, [ui.Size]),
    '*': dart.fnType(box.BoxConstraints, [core.double]),
    '/': dart.fnType(box.BoxConstraints, [core.double]),
    '~/': dart.fnType(box.BoxConstraints, [core.double]),
    '%': dart.fnType(box.BoxConstraints, [core.double]),
    normalize: dart.fnType(box.BoxConstraints, []),
    _equals: dart.fnType(core.bool, [core.Object]),
    [$_equals]: dart.fnType(core.bool, [core.Object])
  }));
  dart.setGetterSignature(box.BoxConstraints, () => ({
    __proto__: dart.getGetters(box.BoxConstraints.__proto__),
    flipped: box.BoxConstraints,
    biggest: ui.Size,
    smallest: ui.Size,
    hasTightWidth: core.bool,
    hasTightHeight: core.bool,
    isTight: core.bool,
    hasBoundedWidth: core.bool,
    hasBoundedHeight: core.bool,
    hasInfiniteWidth: core.bool,
    hasInfiniteHeight: core.bool,
    isNormalized: core.bool
  }));
  dart.setLibraryUri(box.BoxConstraints, "package:flutter/src/rendering/box.dart");
  dart.setFieldSignature(box.BoxConstraints, () => ({
    __proto__: dart.getFields(box.BoxConstraints.__proto__),
    minWidth: dart.finalFieldType(core.double),
    maxWidth: dart.finalFieldType(core.double),
    minHeight: dart.finalFieldType(core.double),
    maxHeight: dart.finalFieldType(core.double)
  }));
  dart.defineExtensionMethods(box.BoxConstraints, ['_equals', 'toString']);
  dart.defineExtensionAccessors(box.BoxConstraints, ['hashCode']);
  box.BoxHitTestResult = class BoxHitTestResult extends hit_test.HitTestResult {
    addWithPaintTransform(opts) {
      let transform = opts && 'transform' in opts ? opts.transform : null;
      let position = opts && 'position' in opts ? opts.position : null;
      let hitTest = opts && 'hitTest' in opts ? opts.hitTest : null;
      if (!(hitTest != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 728, 12, "hitTest != null");
      if (transform != null) {
        transform = vector_math_64.Matrix4.tryInvert(events.PointerEvent.removePerspectiveTransform(transform));
        if (transform == null) {
          return false;
        }
      }
      return this.addWithRawTransform({transform: transform, position: position, hitTest: hitTest});
    }
    addWithPaintOffset(opts) {
      let offset = opts && 'offset' in opts ? opts.offset : null;
      let position = opts && 'position' in opts ? opts.position : null;
      let hitTest = opts && 'hitTest' in opts ? opts.hitTest : null;
      if (!(hitTest != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 764, 12, "hitTest != null");
      return this.addWithRawTransform({transform: offset != null ? vector_math_64.Matrix4.translationValues(-dart.notNull(offset.dx), -dart.notNull(offset.dy), 0.0) : null, position: position, hitTest: hitTest});
    }
    addWithRawTransform(opts) {
      let transform = opts && 'transform' in opts ? opts.transform : null;
      let position = opts && 'position' in opts ? opts.position : null;
      let hitTest = opts && 'hitTest' in opts ? opts.hitTest : null;
      if (!(hitTest != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 801, 12, "hitTest != null");
      let transformedPosition = position == null || transform == null ? position : matrix_utils.MatrixUtils.transformPoint(transform, position);
      if (transform != null) {
        this.pushTransform(transform);
      }
      let isHit = hitTest(this, transformedPosition);
      if (transform != null) {
        this.popTransform();
      }
      return isHit;
    }
  };
  (box.BoxHitTestResult.new = function() {
    box.BoxHitTestResult.__proto__.new.call(this);
    ;
  }).prototype = box.BoxHitTestResult.prototype;
  (box.BoxHitTestResult.wrap = function(result) {
    box.BoxHitTestResult.__proto__.wrap.call(this, result);
    ;
  }).prototype = box.BoxHitTestResult.prototype;
  dart.addTypeTests(box.BoxHitTestResult);
  dart.setMethodSignature(box.BoxHitTestResult, () => ({
    __proto__: dart.getMethods(box.BoxHitTestResult.__proto__),
    addWithPaintTransform: dart.fnType(core.bool, [], {hitTest: dart.fnType(core.bool, [box.BoxHitTestResult, ui.Offset]), position: ui.Offset, transform: vector_math_64.Matrix4}, {}),
    addWithPaintOffset: dart.fnType(core.bool, [], {hitTest: dart.fnType(core.bool, [box.BoxHitTestResult, ui.Offset]), offset: ui.Offset, position: ui.Offset}, {}),
    addWithRawTransform: dart.fnType(core.bool, [], {hitTest: dart.fnType(core.bool, [box.BoxHitTestResult, ui.Offset]), position: ui.Offset, transform: vector_math_64.Matrix4}, {})
  }));
  dart.setLibraryUri(box.BoxHitTestResult, "package:flutter/src/rendering/box.dart");
  const localPosition$0 = dart.privateName(box, "BoxHitTestEntry.localPosition");
  box.BoxHitTestEntry = class BoxHitTestEntry extends hit_test.HitTestEntry {
    get localPosition() {
      return this[localPosition$0];
    }
    set localPosition(value) {
      super.localPosition = value;
    }
    get target() {
      return box.RenderBox.as(super.target);
    }
    toString() {
      return dart.str(diagnostics.describeIdentity(this.target)) + "@" + dart.str(this.localPosition);
    }
  };
  (box.BoxHitTestEntry.new = function(target, localPosition) {
    this[localPosition$0] = localPosition;
    if (!(localPosition != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 822, 14, "localPosition != null");
    box.BoxHitTestEntry.__proto__.new.call(this, target);
    ;
  }).prototype = box.BoxHitTestEntry.prototype;
  dart.addTypeTests(box.BoxHitTestEntry);
  dart.setGetterSignature(box.BoxHitTestEntry, () => ({
    __proto__: dart.getGetters(box.BoxHitTestEntry.__proto__),
    target: box.RenderBox
  }));
  dart.setLibraryUri(box.BoxHitTestEntry, "package:flutter/src/rendering/box.dart");
  dart.setFieldSignature(box.BoxHitTestEntry, () => ({
    __proto__: dart.getFields(box.BoxHitTestEntry.__proto__),
    localPosition: dart.finalFieldType(ui.Offset)
  }));
  dart.defineExtensionMethods(box.BoxHitTestEntry, ['toString']);
  const offset = dart.privateName(box, "BoxParentData.offset");
  box.BoxParentData = class BoxParentData extends object$.ParentData {
    get offset() {
      return this[offset];
    }
    set offset(value) {
      this[offset] = value;
    }
    toString() {
      return "offset=" + dart.str(this.offset);
    }
  };
  (box.BoxParentData.new = function() {
    this[offset] = ui.Offset.zero;
    ;
  }).prototype = box.BoxParentData.prototype;
  dart.addTypeTests(box.BoxParentData);
  dart.setLibraryUri(box.BoxParentData, "package:flutter/src/rendering/box.dart");
  dart.setFieldSignature(box.BoxParentData, () => ({
    __proto__: dart.getFields(box.BoxParentData.__proto__),
    offset: dart.fieldType(ui.Offset)
  }));
  dart.defineExtensionMethods(box.BoxParentData, ['toString']);
  const _is_ContainerBoxParentData_default = Symbol('_is_ContainerBoxParentData_default');
  box.ContainerBoxParentData$ = dart.generic(ChildType => {
    const BoxParentData_ContainerParentDataMixin$36 = class BoxParentData_ContainerParentDataMixin extends box.BoxParentData {};
    (BoxParentData_ContainerParentDataMixin$36.new = function() {
      object$.ContainerParentDataMixin$(ChildType)[dart.mixinNew].call(this);
      BoxParentData_ContainerParentDataMixin$36.__proto__.new.call(this);
    }).prototype = BoxParentData_ContainerParentDataMixin$36.prototype;
    dart.applyMixin(BoxParentData_ContainerParentDataMixin$36, object$.ContainerParentDataMixin$(ChildType));
    class ContainerBoxParentData extends BoxParentData_ContainerParentDataMixin$36 {}
    (ContainerBoxParentData.new = function() {
      ContainerBoxParentData.__proto__.new.call(this);
      ;
    }).prototype = ContainerBoxParentData.prototype;
    dart.addTypeTests(ContainerBoxParentData);
    ContainerBoxParentData.prototype[_is_ContainerBoxParentData_default] = true;
    dart.setLibraryUri(ContainerBoxParentData, "package:flutter/src/rendering/box.dart");
    return ContainerBoxParentData;
  });
  box.ContainerBoxParentData = box.ContainerBoxParentData$();
  dart.addTypeTests(box.ContainerBoxParentData, _is_ContainerBoxParentData_default);
  const _name$1 = dart.privateName(box, "_name");
  let C23;
  let C24;
  let C25;
  let C26;
  let C27;
  box._IntrinsicDimension = class _IntrinsicDimension extends core.Object {
    toString() {
      return this[_name$1];
    }
  };
  (box._IntrinsicDimension.new = function(index, _name) {
    this.index = index;
    this[_name$1] = _name;
    ;
  }).prototype = box._IntrinsicDimension.prototype;
  dart.addTypeTests(box._IntrinsicDimension);
  dart.setLibraryUri(box._IntrinsicDimension, "package:flutter/src/rendering/box.dart");
  dart.setFieldSignature(box._IntrinsicDimension, () => ({
    __proto__: dart.getFields(box._IntrinsicDimension.__proto__),
    index: dart.finalFieldType(core.int),
    [_name$1]: dart.finalFieldType(core.String)
  }));
  dart.defineExtensionMethods(box._IntrinsicDimension, ['toString']);
  box._IntrinsicDimension.minWidth = C23 || CT.C23;
  box._IntrinsicDimension.maxWidth = C24 || CT.C24;
  box._IntrinsicDimension.minHeight = C25 || CT.C25;
  box._IntrinsicDimension.maxHeight = C26 || CT.C26;
  box._IntrinsicDimension.values = C27 || CT.C27;
  const dimension$ = dart.privateName(box, "_IntrinsicDimensionsCacheEntry.dimension");
  const argument$ = dart.privateName(box, "_IntrinsicDimensionsCacheEntry.argument");
  box._IntrinsicDimensionsCacheEntry = class _IntrinsicDimensionsCacheEntry extends core.Object {
    get dimension() {
      return this[dimension$];
    }
    set dimension(value) {
      super.dimension = value;
    }
    get argument() {
      return this[argument$];
    }
    set argument(value) {
      super.argument = value;
    }
    _equals(other) {
      if (other == null) return false;
      return box._IntrinsicDimensionsCacheEntry.is(other) && dart.equals(other.dimension, this.dimension) && other.argument == this.argument;
    }
    get hashCode() {
      return ui.hashValues(this.dimension, this.argument);
    }
  };
  (box._IntrinsicDimensionsCacheEntry.new = function(dimension, argument) {
    this[dimension$] = dimension;
    this[argument$] = argument;
    ;
  }).prototype = box._IntrinsicDimensionsCacheEntry.prototype;
  dart.addTypeTests(box._IntrinsicDimensionsCacheEntry);
  dart.setMethodSignature(box._IntrinsicDimensionsCacheEntry, () => ({
    __proto__: dart.getMethods(box._IntrinsicDimensionsCacheEntry.__proto__),
    _equals: dart.fnType(core.bool, [core.Object]),
    [$_equals]: dart.fnType(core.bool, [core.Object])
  }));
  dart.setLibraryUri(box._IntrinsicDimensionsCacheEntry, "package:flutter/src/rendering/box.dart");
  dart.setFieldSignature(box._IntrinsicDimensionsCacheEntry, () => ({
    __proto__: dart.getFields(box._IntrinsicDimensionsCacheEntry.__proto__),
    dimension: dart.finalFieldType(box._IntrinsicDimension),
    argument: dart.finalFieldType(core.double)
  }));
  dart.defineExtensionMethods(box._IntrinsicDimensionsCacheEntry, ['_equals']);
  dart.defineExtensionAccessors(box._IntrinsicDimensionsCacheEntry, ['hashCode']);
  const _is_RenderBoxContainerDefaultsMixin_default = Symbol('_is_RenderBoxContainerDefaultsMixin_default');
  box.RenderBoxContainerDefaultsMixin$ = dart.generic((ChildType, ParentDataType) => {
    let JSArrayOfChildType = () => (JSArrayOfChildType = dart.constFn(_interceptors.JSArray$(ChildType)))();
    class RenderBoxContainerDefaultsMixin extends core.Object {}
    RenderBoxContainerDefaultsMixin[dart.mixinOn] = Object => class RenderBoxContainerDefaultsMixin extends Object {
      defaultComputeDistanceToFirstActualBaseline(baseline) {
        if (!!dart.test(this.debugNeedsLayout)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 2441, 12, "!debugNeedsLayout");
        let child = this.firstChild;
        while (child != null) {
          let childParentData = ParentDataType.as(child.parentData);
          let result = child.getDistanceToActualBaseline(baseline);
          if (result != null) return dart.notNull(result) + dart.notNull(childParentData.offset.dy);
          child = childParentData.nextSibling;
        }
        return null;
      }
      defaultComputeDistanceToHighestActualBaseline(baseline) {
        if (!!dart.test(this.debugNeedsLayout)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 2458, 12, "!debugNeedsLayout");
        let result = null;
        let child = this.firstChild;
        while (child != null) {
          let childParentData = ParentDataType.as(child.parentData);
          let candidate = child.getDistanceToActualBaseline(baseline);
          if (candidate != null) {
            candidate = dart.notNull(candidate) + dart.notNull(childParentData.offset.dy);
            if (result != null)
              result = math.min(core.double, result, candidate);
            else
              result = candidate;
          }
          child = childParentData.nextSibling;
        }
        return result;
      }
      defaultHitTestChildren(result, opts) {
        let position = opts && 'position' in opts ? opts.position : null;
        let child = this.lastChild;
        while (child != null) {
          let childParentData = ParentDataType.as(child.parentData);
          let isHit = result.addWithPaintOffset({offset: childParentData.offset, position: position, hitTest: dart.fn((result, transformed) => {
              if (!dart.equals(transformed, position['-'](childParentData.offset))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/box.dart", 2494, 18, "transformed == position - childParentData.offset");
              return child.hitTest(result, {position: transformed});
            }, BoxHitTestResultAndOffsetTobool())});
          if (dart.test(isHit)) return true;
          child = childParentData.previousSibling;
        }
        return false;
      }
      defaultPaint(context, offset) {
        let child = this.firstChild;
        while (child != null) {
          let childParentData = ParentDataType.as(child.parentData);
          context.paintChild(child, childParentData.offset['+'](offset));
          child = childParentData.nextSibling;
        }
      }
      getChildrenAsList() {
        let result = JSArrayOfChildType().of([]);
        let child = this.firstChild;
        while (child != null) {
          let childParentData = ParentDataType.as(child.parentData);
          result[$add](ChildType.as(child));
          child = childParentData.nextSibling;
        }
        return result;
      }
    };
    (RenderBoxContainerDefaultsMixin[dart.mixinNew] = function() {
    }).prototype = RenderBoxContainerDefaultsMixin.prototype;
    dart.addTypeTests(RenderBoxContainerDefaultsMixin);
    RenderBoxContainerDefaultsMixin.prototype[_is_RenderBoxContainerDefaultsMixin_default] = true;
    RenderBoxContainerDefaultsMixin[dart.implements] = () => [object$.ContainerRenderObjectMixin$(ChildType, ParentDataType), core.Object];
    dart.setMethodSignature(RenderBoxContainerDefaultsMixin, () => ({
      __proto__: dart.getMethods(RenderBoxContainerDefaultsMixin.__proto__),
      defaultComputeDistanceToFirstActualBaseline: dart.fnType(core.double, [ui.TextBaseline]),
      defaultComputeDistanceToHighestActualBaseline: dart.fnType(core.double, [ui.TextBaseline]),
      defaultHitTestChildren: dart.fnType(core.bool, [box.BoxHitTestResult], {position: ui.Offset}, {}),
      defaultPaint: dart.fnType(dart.void, [object$.PaintingContext, ui.Offset]),
      getChildrenAsList: dart.fnType(core.List$(ChildType), [])
    }));
    dart.setLibraryUri(RenderBoxContainerDefaultsMixin, "package:flutter/src/rendering/box.dart");
    return RenderBoxContainerDefaultsMixin;
  });
  box.RenderBoxContainerDefaultsMixin = box.RenderBoxContainerDefaultsMixin$();
  dart.addTypeTests(box.RenderBoxContainerDefaultsMixin, _is_RenderBoxContainerDefaultsMixin_default);
  const RenderBox_RenderObjectWithChildMixin$36 = class RenderBox_RenderObjectWithChildMixin extends box.RenderBox {};
  (RenderBox_RenderObjectWithChildMixin$36.new = function() {
    object$.RenderObjectWithChildMixin$(box.RenderBox)[dart.mixinNew].call(this);
    RenderBox_RenderObjectWithChildMixin$36.__proto__.new.call(this);
  }).prototype = RenderBox_RenderObjectWithChildMixin$36.prototype;
  dart.applyMixin(RenderBox_RenderObjectWithChildMixin$36, object$.RenderObjectWithChildMixin$(box.RenderBox));
  shifted_box.RenderShiftedBox = class RenderShiftedBox extends RenderBox_RenderObjectWithChildMixin$36 {
    computeMinIntrinsicWidth(height) {
      if (this.child != null) return this.child.getMinIntrinsicWidth(height);
      return 0.0;
    }
    computeMaxIntrinsicWidth(height) {
      if (this.child != null) return this.child.getMaxIntrinsicWidth(height);
      return 0.0;
    }
    computeMinIntrinsicHeight(width) {
      if (this.child != null) return this.child.getMinIntrinsicHeight(width);
      return 0.0;
    }
    computeMaxIntrinsicHeight(width) {
      if (this.child != null) return this.child.getMaxIntrinsicHeight(width);
      return 0.0;
    }
    computeDistanceToActualBaseline(baseline) {
      let result = null;
      if (this.child != null) {
        if (!!dart.test(this.debugNeedsLayout)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 55, 14, "!debugNeedsLayout");
        result = this.child.getDistanceToActualBaseline(baseline);
        let childParentData = box.BoxParentData.as(this.child.parentData);
        if (result != null) result = dart.notNull(result) + dart.notNull(childParentData.offset.dy);
      } else {
        result = super.computeDistanceToActualBaseline(baseline);
      }
      return result;
    }
    paint(context, offset) {
      if (this.child != null) {
        let childParentData = box.BoxParentData.as(this.child.parentData);
        context.paintChild(this.child, childParentData.offset['+'](offset));
      }
    }
    hitTestChildren(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      if (this.child != null) {
        let childParentData = box.BoxParentData.as(this.child.parentData);
        return result.addWithPaintOffset({offset: childParentData.offset, position: position, hitTest: dart.fn((result, transformed) => {
            if (!dart.equals(transformed, position['-'](childParentData.offset))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 82, 18, "transformed == position - childParentData.offset");
            return this.child.hitTest(result, {position: transformed});
          }, BoxHitTestResultAndOffsetTobool())});
      }
      return false;
    }
  };
  (shifted_box.RenderShiftedBox.new = function(child) {
    shifted_box.RenderShiftedBox.__proto__.new.call(this);
    this.child = child;
  }).prototype = shifted_box.RenderShiftedBox.prototype;
  dart.addTypeTests(shifted_box.RenderShiftedBox);
  dart.setLibraryUri(shifted_box.RenderShiftedBox, "package:flutter/src/rendering/shifted_box.dart");
  const _resolvedPadding = dart.privateName(shifted_box, "_resolvedPadding");
  const _textDirection = dart.privateName(shifted_box, "_textDirection");
  const _padding = dart.privateName(shifted_box, "_padding");
  const _resolve = dart.privateName(shifted_box, "_resolve");
  const _markNeedResolution = dart.privateName(shifted_box, "_markNeedResolution");
  shifted_box.RenderPadding = class RenderPadding extends shifted_box.RenderShiftedBox {
    [_resolve]() {
      if (this[_resolvedPadding] != null) return;
      this[_resolvedPadding] = this.padding.resolve(this.textDirection);
      if (!dart.test(this[_resolvedPadding].isNonNegative)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 118, 12, "_resolvedPadding.isNonNegative");
    }
    [_markNeedResolution]() {
      this[_resolvedPadding] = null;
      this.markNeedsLayout();
    }
    get padding() {
      return this[_padding];
    }
    set padding(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 133, 12, "value != null");
      if (!dart.test(value.isNonNegative)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 134, 12, "value.isNonNegative");
      if (dart.equals(this[_padding], value)) return;
      this[_padding] = value;
      this[_markNeedResolution]();
    }
    get textDirection() {
      return this[_textDirection];
    }
    set textDirection(value) {
      if (dart.equals(this[_textDirection], value)) return;
      this[_textDirection] = value;
      this[_markNeedResolution]();
    }
    computeMinIntrinsicWidth(height) {
      this[_resolve]();
      let totalHorizontalPadding = dart.notNull(this[_resolvedPadding].left) + dart.notNull(this[_resolvedPadding].right);
      let totalVerticalPadding = dart.notNull(this[_resolvedPadding].top) + dart.notNull(this[_resolvedPadding].bottom);
      if (this.child != null) return dart.notNull(this.child.getMinIntrinsicWidth(math.max(core.double, 0.0, dart.notNull(height) - totalVerticalPadding))) + totalHorizontalPadding;
      return totalHorizontalPadding;
    }
    computeMaxIntrinsicWidth(height) {
      this[_resolve]();
      let totalHorizontalPadding = dart.notNull(this[_resolvedPadding].left) + dart.notNull(this[_resolvedPadding].right);
      let totalVerticalPadding = dart.notNull(this[_resolvedPadding].top) + dart.notNull(this[_resolvedPadding].bottom);
      if (this.child != null) return dart.notNull(this.child.getMaxIntrinsicWidth(math.max(core.double, 0.0, dart.notNull(height) - totalVerticalPadding))) + totalHorizontalPadding;
      return totalHorizontalPadding;
    }
    computeMinIntrinsicHeight(width) {
      this[_resolve]();
      let totalHorizontalPadding = dart.notNull(this[_resolvedPadding].left) + dart.notNull(this[_resolvedPadding].right);
      let totalVerticalPadding = dart.notNull(this[_resolvedPadding].top) + dart.notNull(this[_resolvedPadding].bottom);
      if (this.child != null) return dart.notNull(this.child.getMinIntrinsicHeight(math.max(core.double, 0.0, dart.notNull(width) - totalHorizontalPadding))) + totalVerticalPadding;
      return totalVerticalPadding;
    }
    computeMaxIntrinsicHeight(width) {
      this[_resolve]();
      let totalHorizontalPadding = dart.notNull(this[_resolvedPadding].left) + dart.notNull(this[_resolvedPadding].right);
      let totalVerticalPadding = dart.notNull(this[_resolvedPadding].top) + dart.notNull(this[_resolvedPadding].bottom);
      if (this.child != null) return dart.notNull(this.child.getMaxIntrinsicHeight(math.max(core.double, 0.0, dart.notNull(width) - totalHorizontalPadding))) + totalVerticalPadding;
      return totalVerticalPadding;
    }
    performLayout() {
      this[_resolve]();
      if (!(this[_resolvedPadding] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 197, 12, "_resolvedPadding != null");
      if (this.child == null) {
        this.size = this.constraints.constrain(new ui.Size.new(dart.notNull(this[_resolvedPadding].left) + dart.notNull(this[_resolvedPadding].right), dart.notNull(this[_resolvedPadding].top) + dart.notNull(this[_resolvedPadding].bottom)));
        return;
      }
      let innerConstraints = this.constraints.deflate(this[_resolvedPadding]);
      this.child.layout(innerConstraints, {parentUsesSize: true});
      let childParentData = box.BoxParentData.as(this.child.parentData);
      childParentData.offset = new ui.Offset.new(this[_resolvedPadding].left, this[_resolvedPadding].top);
      this.size = this.constraints.constrain(new ui.Size.new(dart.notNull(this[_resolvedPadding].left) + dart.notNull(this.child.size.width) + dart.notNull(this[_resolvedPadding].right), dart.notNull(this[_resolvedPadding].top) + dart.notNull(this.child.size.height) + dart.notNull(this[_resolvedPadding].bottom)));
    }
    debugPaintSize(context, offset) {
      super.debugPaintSize(context, offset);
      if (!dart.test(dart.fn(() => {
        let outerRect = offset['&'](this.size);
        debug$0.debugPaintPadding(context.canvas, outerRect, this.child != null ? this[_resolvedPadding].deflateRect(outerRect) : null);
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 218, 12, "() {\r\n      final Rect outerRect = offset & size;\r\n      debugPaintPadding(context.canvas, outerRect, child != null ? _resolvedPadding.deflateRect(outerRect) : null);\r\n      return true;\r\n    }()");
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfEdgeInsetsGeometry()).new("padding", this.padding));
      properties.add(new (EnumPropertyOfTextDirection()).new("textDirection", this.textDirection, {defaultValue: null}));
    }
  };
  (shifted_box.RenderPadding.new = function(opts) {
    let padding = opts && 'padding' in opts ? opts.padding : null;
    let textDirection = opts && 'textDirection' in opts ? opts.textDirection : null;
    let child = opts && 'child' in opts ? opts.child : null;
    this[_resolvedPadding] = null;
    if (!(padding != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 106, 15, "padding != null");
    if (!dart.test(padding.isNonNegative)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 107, 15, "padding.isNonNegative");
    this[_textDirection] = textDirection;
    this[_padding] = padding;
    shifted_box.RenderPadding.__proto__.new.call(this, child);
    ;
  }).prototype = shifted_box.RenderPadding.prototype;
  dart.addTypeTests(shifted_box.RenderPadding);
  dart.setMethodSignature(shifted_box.RenderPadding, () => ({
    __proto__: dart.getMethods(shifted_box.RenderPadding.__proto__),
    [_resolve]: dart.fnType(dart.void, []),
    [_markNeedResolution]: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(shifted_box.RenderPadding, () => ({
    __proto__: dart.getGetters(shifted_box.RenderPadding.__proto__),
    padding: edge_insets.EdgeInsetsGeometry,
    textDirection: ui.TextDirection
  }));
  dart.setSetterSignature(shifted_box.RenderPadding, () => ({
    __proto__: dart.getSetters(shifted_box.RenderPadding.__proto__),
    padding: edge_insets.EdgeInsetsGeometry,
    textDirection: ui.TextDirection
  }));
  dart.setLibraryUri(shifted_box.RenderPadding, "package:flutter/src/rendering/shifted_box.dart");
  dart.setFieldSignature(shifted_box.RenderPadding, () => ({
    __proto__: dart.getFields(shifted_box.RenderPadding.__proto__),
    [_resolvedPadding]: dart.fieldType(edge_insets.EdgeInsets),
    [_padding]: dart.fieldType(edge_insets.EdgeInsetsGeometry),
    [_textDirection]: dart.fieldType(ui.TextDirection)
  }));
  const Alignment_y = dart.privateName(alignment, "Alignment.y");
  const Alignment_x = dart.privateName(alignment, "Alignment.x");
  let C28;
  const _resolvedAlignment = dart.privateName(shifted_box, "_resolvedAlignment");
  const _alignment = dart.privateName(shifted_box, "_alignment");
  shifted_box.RenderAligningShiftedBox = class RenderAligningShiftedBox extends shifted_box.RenderShiftedBox {
    [_resolve]() {
      if (this[_resolvedAlignment] != null) return;
      this[_resolvedAlignment] = this.alignment.resolve(this.textDirection);
    }
    [_markNeedResolution]() {
      this[_resolvedAlignment] = null;
      this.markNeedsLayout();
    }
    get alignment() {
      return this[_alignment];
    }
    set alignment(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 288, 12, "value != null");
      if (dart.equals(this[_alignment], value)) return;
      this[_alignment] = value;
      this[_markNeedResolution]();
    }
    get textDirection() {
      return this[_textDirection];
    }
    set textDirection(value) {
      if (dart.equals(this[_textDirection], value)) return;
      this[_textDirection] = value;
      this[_markNeedResolution]();
    }
    alignChild() {
      this[_resolve]();
      if (!(this.child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 319, 12, "child != null");
      if (!!dart.test(this.child.debugNeedsLayout)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 320, 12, "!child.debugNeedsLayout");
      if (!dart.test(this.child.hasSize)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 321, 12, "child.hasSize");
      if (!dart.test(this.hasSize)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 322, 12, "hasSize");
      if (!(this[_resolvedAlignment] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 323, 12, "_resolvedAlignment != null");
      let childParentData = box.BoxParentData.as(this.child.parentData);
      childParentData.offset = this[_resolvedAlignment].alongOffset(ui.Offset.as(this.size['-'](this.child.size)));
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfAlignmentGeometry()).new("alignment", this.alignment));
      properties.add(new (EnumPropertyOfTextDirection()).new("textDirection", this.textDirection, {defaultValue: null}));
    }
  };
  (shifted_box.RenderAligningShiftedBox.new = function(opts) {
    let alignment = opts && 'alignment' in opts ? opts.alignment : C28 || CT.C28;
    let textDirection = opts && 'textDirection' in opts ? opts.textDirection : null;
    let child = opts && 'child' in opts ? opts.child : null;
    this[_resolvedAlignment] = null;
    if (!(alignment != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 246, 15, "alignment != null");
    this[_alignment] = alignment;
    this[_textDirection] = textDirection;
    shifted_box.RenderAligningShiftedBox.__proto__.new.call(this, child);
    ;
  }).prototype = shifted_box.RenderAligningShiftedBox.prototype;
  (shifted_box.RenderAligningShiftedBox.mixin = function(alignment, textDirection, child) {
    shifted_box.RenderAligningShiftedBox.new.call(this, {alignment: alignment, textDirection: textDirection, child: child});
  }).prototype = shifted_box.RenderAligningShiftedBox.prototype;
  dart.addTypeTests(shifted_box.RenderAligningShiftedBox);
  dart.setMethodSignature(shifted_box.RenderAligningShiftedBox, () => ({
    __proto__: dart.getMethods(shifted_box.RenderAligningShiftedBox.__proto__),
    [_resolve]: dart.fnType(dart.void, []),
    [_markNeedResolution]: dart.fnType(dart.void, []),
    alignChild: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(shifted_box.RenderAligningShiftedBox, () => ({
    __proto__: dart.getGetters(shifted_box.RenderAligningShiftedBox.__proto__),
    alignment: alignment.AlignmentGeometry,
    textDirection: ui.TextDirection
  }));
  dart.setSetterSignature(shifted_box.RenderAligningShiftedBox, () => ({
    __proto__: dart.getSetters(shifted_box.RenderAligningShiftedBox.__proto__),
    alignment: alignment.AlignmentGeometry,
    textDirection: ui.TextDirection
  }));
  dart.setLibraryUri(shifted_box.RenderAligningShiftedBox, "package:flutter/src/rendering/shifted_box.dart");
  dart.setFieldSignature(shifted_box.RenderAligningShiftedBox, () => ({
    __proto__: dart.getFields(shifted_box.RenderAligningShiftedBox.__proto__),
    [_resolvedAlignment]: dart.fieldType(alignment.Alignment),
    [_alignment]: dart.fieldType(alignment.AlignmentGeometry),
    [_textDirection]: dart.fieldType(ui.TextDirection)
  }));
  const _widthFactor = dart.privateName(shifted_box, "_widthFactor");
  const _heightFactor = dart.privateName(shifted_box, "_heightFactor");
  let C29;
  shifted_box.RenderPositionedBox = class RenderPositionedBox extends shifted_box.RenderAligningShiftedBox {
    get widthFactor() {
      return this[_widthFactor];
    }
    set widthFactor(value) {
      if (!(value == null || dart.notNull(value) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 366, 12, "value == null || value >= 0.0");
      if (this[_widthFactor] == value) return;
      this[_widthFactor] = value;
      this.markNeedsLayout();
    }
    get heightFactor() {
      return this[_heightFactor];
    }
    set heightFactor(value) {
      if (!(value == null || dart.notNull(value) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 379, 12, "value == null || value >= 0.0");
      if (this[_heightFactor] == value) return;
      this[_heightFactor] = value;
      this.markNeedsLayout();
    }
    performLayout() {
      let t11, t11$;
      let shrinkWrapWidth = this[_widthFactor] != null || this.constraints.maxWidth === 1 / 0;
      let shrinkWrapHeight = this[_heightFactor] != null || this.constraints.maxHeight === 1 / 0;
      if (this.child != null) {
        this.child.layout(this.constraints.loosen(), {parentUsesSize: true});
        this.size = this.constraints.constrain(new ui.Size.new(shrinkWrapWidth ? dart.notNull(this.child.size.width) * dart.notNull((t11 = this[_widthFactor], t11 == null ? 1.0 : t11)) : 1 / 0, shrinkWrapHeight ? dart.notNull(this.child.size.height) * dart.notNull((t11$ = this[_heightFactor], t11$ == null ? 1.0 : t11$)) : 1 / 0));
        this.alignChild();
      } else {
        this.size = this.constraints.constrain(new ui.Size.new(shrinkWrapWidth ? 0.0 : 1 / 0, shrinkWrapHeight ? 0.0 : 1 / 0));
      }
    }
    debugPaintSize(context, offset) {
      super.debugPaintSize(context, offset);
      if (!dart.test(dart.fn(() => {
        let t11, t11$, t11$0, t11$1;
        let paint = null;
        if (this.child != null && !dart.test(this.child.size.isEmpty)) {
          let path = null;
          paint = (t11 = ui.Paint.new(), t11.style = ui.PaintingStyle.stroke, t11.strokeWidth = 1.0, t11.color = C29 || CT.C29, t11);
          path = ui.Path.new();
          let childParentData = box.BoxParentData.as(this.child.parentData);
          if (dart.notNull(childParentData.offset.dy) > 0.0) {
            let headSize = math.min(core.double, dart.notNull(childParentData.offset.dy) * 0.2, 10.0);
            t11$ = path;
            t11$.moveTo(dart.notNull(offset.dx) + dart.notNull(this.size.width) / 2.0, offset.dy);
            t11$.relativeLineTo(0.0, dart.notNull(childParentData.offset.dy) - headSize);
            t11$.relativeLineTo(headSize, 0.0);
            t11$.relativeLineTo(-headSize, headSize);
            t11$.relativeLineTo(-headSize, -headSize);
            t11$.relativeLineTo(headSize, 0.0);
            t11$.moveTo(dart.notNull(offset.dx) + dart.notNull(this.size.width) / 2.0, dart.notNull(offset.dy) + dart.notNull(this.size.height));
            t11$.relativeLineTo(0.0, -dart.notNull(childParentData.offset.dy) + headSize);
            t11$.relativeLineTo(headSize, 0.0);
            t11$.relativeLineTo(-headSize, -headSize);
            t11$.relativeLineTo(-headSize, headSize);
            t11$.relativeLineTo(headSize, 0.0);
            t11$;
            context.canvas.drawPath(path, paint);
          }
          if (dart.notNull(childParentData.offset.dx) > 0.0) {
            let headSize = math.min(core.double, dart.notNull(childParentData.offset.dx) * 0.2, 10.0);
            t11$0 = path;
            t11$0.moveTo(offset.dx, dart.notNull(offset.dy) + dart.notNull(this.size.height) / 2.0);
            t11$0.relativeLineTo(dart.notNull(childParentData.offset.dx) - headSize, 0.0);
            t11$0.relativeLineTo(0.0, headSize);
            t11$0.relativeLineTo(headSize, -headSize);
            t11$0.relativeLineTo(-headSize, -headSize);
            t11$0.relativeLineTo(0.0, headSize);
            t11$0.moveTo(dart.notNull(offset.dx) + dart.notNull(this.size.width), dart.notNull(offset.dy) + dart.notNull(this.size.height) / 2.0);
            t11$0.relativeLineTo(-dart.notNull(childParentData.offset.dx) + headSize, 0.0);
            t11$0.relativeLineTo(0.0, headSize);
            t11$0.relativeLineTo(-headSize, -headSize);
            t11$0.relativeLineTo(headSize, -headSize);
            t11$0.relativeLineTo(0.0, headSize);
            t11$0;
            context.canvas.drawPath(path, paint);
          }
        } else {
          paint = (t11$1 = ui.Paint.new(), t11$1.color = C12 || CT.C12, t11$1);
          context.canvas.drawRect(offset['&'](this.size), paint);
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 405, 12, "() {\r\n      Paint paint;\r\n      if (child != null && !child.size.isEmpty) {\r\n        Path path;\r\n        paint = Paint()\r\n          ..style = PaintingStyle.stroke\r\n          ..strokeWidth = 1.0\r\n          ..color = const Color(0xFFFFFF00);\r\n        path = Path();\r\n        final BoxParentData childParentData = child.parentData as BoxParentData;\r\n        if (childParentData.offset.dy > 0.0) {\r\n          // vertical alignment arrows\r\n          final double headSize = math.min(childParentData.offset.dy * 0.2, 10.0);\r\n          path\r\n            ..moveTo(offset.dx + size.width / 2.0, offset.dy)\r\n            ..relativeLineTo(0.0, childParentData.offset.dy - headSize)\r\n            ..relativeLineTo(headSize, 0.0)\r\n            ..relativeLineTo(-headSize, headSize)\r\n            ..relativeLineTo(-headSize, -headSize)\r\n            ..relativeLineTo(headSize, 0.0)\r\n            ..moveTo(offset.dx + size.width / 2.0, offset.dy + size.height)\r\n            ..relativeLineTo(0.0, -childParentData.offset.dy + headSize)\r\n            ..relativeLineTo(headSize, 0.0)\r\n            ..relativeLineTo(-headSize, -headSize)\r\n            ..relativeLineTo(-headSize, headSize)\r\n            ..relativeLineTo(headSize, 0.0);\r\n          context.canvas.drawPath(path, paint);\r\n        }\r\n        if (childParentData.offset.dx > 0.0) {\r\n          // horizontal alignment arrows\r\n          final double headSize = math.min(childParentData.offset.dx * 0.2, 10.0);\r\n          path\r\n            ..moveTo(offset.dx, offset.dy + size.height / 2.0)\r\n            ..relativeLineTo(childParentData.offset.dx - headSize, 0.0)\r\n            ..relativeLineTo(0.0, headSize)\r\n            ..relativeLineTo(headSize, -headSize)\r\n            ..relativeLineTo(-headSize, -headSize)\r\n            ..relativeLineTo(0.0, headSize)\r\n            ..moveTo(offset.dx + size.width, offset.dy + size.height / 2.0)\r\n            ..relativeLineTo(-childParentData.offset.dx + headSize, 0.0)\r\n            ..relativeLineTo(0.0, headSize)\r\n            ..relativeLineTo(-headSize, -headSize)\r\n            ..relativeLineTo(headSize, -headSize)\r\n            ..relativeLineTo(0.0, headSize);\r\n          context.canvas.drawPath(path, paint);\r\n        }\r\n      } else {\r\n        paint = Paint()\r\n          ..color = const Color(0x90909090);\r\n        context.canvas.drawRect(offset & size, paint);\r\n      }\r\n      return true;\r\n    }()");
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new diagnostics.DoubleProperty.new("widthFactor", this[_widthFactor], {ifNull: "expand"}));
      properties.add(new diagnostics.DoubleProperty.new("heightFactor", this[_heightFactor], {ifNull: "expand"}));
    }
  };
  (shifted_box.RenderPositionedBox.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let widthFactor = opts && 'widthFactor' in opts ? opts.widthFactor : null;
    let heightFactor = opts && 'heightFactor' in opts ? opts.heightFactor : null;
    let alignment = opts && 'alignment' in opts ? opts.alignment : C28 || CT.C28;
    let textDirection = opts && 'textDirection' in opts ? opts.textDirection : null;
    if (!(widthFactor == null || dart.notNull(widthFactor) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 354, 15, "widthFactor == null || widthFactor >= 0.0");
    if (!(heightFactor == null || dart.notNull(heightFactor) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 355, 15, "heightFactor == null || heightFactor >= 0.0");
    this[_widthFactor] = widthFactor;
    this[_heightFactor] = heightFactor;
    shifted_box.RenderPositionedBox.__proto__.new.call(this, {child: child, alignment: alignment, textDirection: textDirection});
    ;
  }).prototype = shifted_box.RenderPositionedBox.prototype;
  dart.addTypeTests(shifted_box.RenderPositionedBox);
  dart.setGetterSignature(shifted_box.RenderPositionedBox, () => ({
    __proto__: dart.getGetters(shifted_box.RenderPositionedBox.__proto__),
    widthFactor: core.double,
    heightFactor: core.double
  }));
  dart.setSetterSignature(shifted_box.RenderPositionedBox, () => ({
    __proto__: dart.getSetters(shifted_box.RenderPositionedBox.__proto__),
    widthFactor: core.double,
    heightFactor: core.double
  }));
  dart.setLibraryUri(shifted_box.RenderPositionedBox, "package:flutter/src/rendering/shifted_box.dart");
  dart.setFieldSignature(shifted_box.RenderPositionedBox, () => ({
    __proto__: dart.getFields(shifted_box.RenderPositionedBox.__proto__),
    [_widthFactor]: dart.fieldType(core.double),
    [_heightFactor]: dart.fieldType(core.double)
  }));
  const _minWidth = dart.privateName(shifted_box, "_minWidth");
  const _maxWidth = dart.privateName(shifted_box, "_maxWidth");
  const _minHeight = dart.privateName(shifted_box, "_minHeight");
  const _maxHeight = dart.privateName(shifted_box, "_maxHeight");
  const _getInnerConstraints = dart.privateName(shifted_box, "_getInnerConstraints");
  shifted_box.RenderConstrainedOverflowBox = class RenderConstrainedOverflowBox extends shifted_box.RenderAligningShiftedBox {
    get minWidth() {
      return this[_minWidth];
    }
    set minWidth(value) {
      if (this[_minWidth] == value) return;
      this[_minWidth] = value;
      this.markNeedsLayout();
    }
    get maxWidth() {
      return this[_maxWidth];
    }
    set maxWidth(value) {
      if (this[_maxWidth] == value) return;
      this[_maxWidth] = value;
      this.markNeedsLayout();
    }
    get minHeight() {
      return this[_minHeight];
    }
    set minHeight(value) {
      if (this[_minHeight] == value) return;
      this[_minHeight] = value;
      this.markNeedsLayout();
    }
    get maxHeight() {
      return this[_maxHeight];
    }
    set maxHeight(value) {
      if (this[_maxHeight] == value) return;
      this[_maxHeight] = value;
      this.markNeedsLayout();
    }
    [_getInnerConstraints](constraints) {
      let t11, t11$, t11$0, t11$1;
      return new box.BoxConstraints.new({minWidth: (t11 = this[_minWidth], t11 == null ? constraints.minWidth : t11), maxWidth: (t11$ = this[_maxWidth], t11$ == null ? constraints.maxWidth : t11$), minHeight: (t11$0 = this[_minHeight], t11$0 == null ? constraints.minHeight : t11$0), maxHeight: (t11$1 = this[_maxHeight], t11$1 == null ? constraints.maxHeight : t11$1)});
    }
    get sizedByParent() {
      return true;
    }
    performResize() {
      this.size = this.constraints.biggest;
    }
    performLayout() {
      if (this.child != null) {
        this.child.layout(this[_getInnerConstraints](this.constraints), {parentUsesSize: true});
        this.alignChild();
      }
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new diagnostics.DoubleProperty.new("minWidth", this.minWidth, {ifNull: "use parent minWidth constraint"}));
      properties.add(new diagnostics.DoubleProperty.new("maxWidth", this.maxWidth, {ifNull: "use parent maxWidth constraint"}));
      properties.add(new diagnostics.DoubleProperty.new("minHeight", this.minHeight, {ifNull: "use parent minHeight constraint"}));
      properties.add(new diagnostics.DoubleProperty.new("maxHeight", this.maxHeight, {ifNull: "use parent maxHeight constraint"}));
    }
  };
  (shifted_box.RenderConstrainedOverflowBox.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let minWidth = opts && 'minWidth' in opts ? opts.minWidth : null;
    let maxWidth = opts && 'maxWidth' in opts ? opts.maxWidth : null;
    let minHeight = opts && 'minHeight' in opts ? opts.minHeight : null;
    let maxHeight = opts && 'maxHeight' in opts ? opts.maxHeight : null;
    let alignment = opts && 'alignment' in opts ? opts.alignment : C28 || CT.C28;
    let textDirection = opts && 'textDirection' in opts ? opts.textDirection : null;
    this[_minWidth] = minWidth;
    this[_maxWidth] = maxWidth;
    this[_minHeight] = minHeight;
    this[_maxHeight] = maxHeight;
    shifted_box.RenderConstrainedOverflowBox.__proto__.new.call(this, {child: child, alignment: alignment, textDirection: textDirection});
    ;
  }).prototype = shifted_box.RenderConstrainedOverflowBox.prototype;
  dart.addTypeTests(shifted_box.RenderConstrainedOverflowBox);
  dart.setMethodSignature(shifted_box.RenderConstrainedOverflowBox, () => ({
    __proto__: dart.getMethods(shifted_box.RenderConstrainedOverflowBox.__proto__),
    [_getInnerConstraints]: dart.fnType(box.BoxConstraints, [box.BoxConstraints])
  }));
  dart.setGetterSignature(shifted_box.RenderConstrainedOverflowBox, () => ({
    __proto__: dart.getGetters(shifted_box.RenderConstrainedOverflowBox.__proto__),
    minWidth: core.double,
    maxWidth: core.double,
    minHeight: core.double,
    maxHeight: core.double
  }));
  dart.setSetterSignature(shifted_box.RenderConstrainedOverflowBox, () => ({
    __proto__: dart.getSetters(shifted_box.RenderConstrainedOverflowBox.__proto__),
    minWidth: core.double,
    maxWidth: core.double,
    minHeight: core.double,
    maxHeight: core.double
  }));
  dart.setLibraryUri(shifted_box.RenderConstrainedOverflowBox, "package:flutter/src/rendering/shifted_box.dart");
  dart.setFieldSignature(shifted_box.RenderConstrainedOverflowBox, () => ({
    __proto__: dart.getFields(shifted_box.RenderConstrainedOverflowBox.__proto__),
    [_minWidth]: dart.fieldType(core.double),
    [_maxWidth]: dart.fieldType(core.double),
    [_minHeight]: dart.fieldType(core.double),
    [_maxHeight]: dart.fieldType(core.double)
  }));
  const _overflowContainerRect = dart.privateName(shifted_box, "_overflowContainerRect");
  const _overflowChildRect = dart.privateName(shifted_box, "_overflowChildRect");
  const _isOverflowing = dart.privateName(shifted_box, "_isOverflowing");
  const _constrainedAxis = dart.privateName(shifted_box, "_constrainedAxis");
  const _name$2 = dart.privateName(basic_types$, "_name");
  let C30;
  let C31;
  let C32;
  const _indicatorLabel = dart.privateName(debug_overflow_indicator, "_indicatorLabel");
  const _overflowReportNeeded = dart.privateName(debug_overflow_indicator, "_overflowReportNeeded");
  const _formatPixels = dart.privateName(debug_overflow_indicator, "_formatPixels");
  let C33;
  let C34;
  let C35;
  const _calculateOverflowRegions = dart.privateName(debug_overflow_indicator, "_calculateOverflowRegions");
  const _reportOverflow = dart.privateName(debug_overflow_indicator, "_reportOverflow");
  let C36;
  let C37;
  const TextStyle_fontFeatures = dart.privateName(text_style, "TextStyle.fontFeatures");
  const TextStyle_shadows = dart.privateName(text_style, "TextStyle.shadows");
  const TextStyle_debugLabel = dart.privateName(text_style, "TextStyle.debugLabel");
  const TextStyle_decorationThickness = dart.privateName(text_style, "TextStyle.decorationThickness");
  const TextStyle_decorationStyle = dart.privateName(text_style, "TextStyle.decorationStyle");
  const TextStyle_decorationColor = dart.privateName(text_style, "TextStyle.decorationColor");
  const TextStyle_decoration = dart.privateName(text_style, "TextStyle.decoration");
  const TextStyle_background = dart.privateName(text_style, "TextStyle.background");
  const TextStyle_foreground = dart.privateName(text_style, "TextStyle.foreground");
  const TextStyle_locale = dart.privateName(text_style, "TextStyle.locale");
  const TextStyle_height = dart.privateName(text_style, "TextStyle.height");
  const TextStyle_textBaseline = dart.privateName(text_style, "TextStyle.textBaseline");
  const TextStyle_wordSpacing = dart.privateName(text_style, "TextStyle.wordSpacing");
  const TextStyle_letterSpacing = dart.privateName(text_style, "TextStyle.letterSpacing");
  const TextStyle_fontStyle = dart.privateName(text_style, "TextStyle.fontStyle");
  const FontWeight_index = dart.privateName(ui, "FontWeight.index");
  let C39;
  const TextStyle_fontWeight = dart.privateName(text_style, "TextStyle.fontWeight");
  const TextStyle_fontSize = dart.privateName(text_style, "TextStyle.fontSize");
  const TextStyle__package = dart.privateName(text_style, "TextStyle._package");
  const TextStyle__fontFamilyFallback = dart.privateName(text_style, "TextStyle._fontFamilyFallback");
  const TextStyle_fontFamily = dart.privateName(text_style, "TextStyle.fontFamily");
  const TextStyle_backgroundColor = dart.privateName(text_style, "TextStyle.backgroundColor");
  let C40;
  const TextStyle_color = dart.privateName(text_style, "TextStyle.color");
  const TextStyle_inherit = dart.privateName(text_style, "TextStyle.inherit");
  let C38;
  let C41;
  let C42;
  debug_overflow_indicator.DebugOverflowIndicatorMixin = class DebugOverflowIndicatorMixin extends object$.RenderObject {};
  debug_overflow_indicator.DebugOverflowIndicatorMixin[dart.mixinOn] = RenderObject => class DebugOverflowIndicatorMixin extends RenderObject {
    [_formatPixels](value) {
      if (!(dart.notNull(value) > 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/debug_overflow_indicator.dart", 122, 12, "value > 0.0");
      let pixels = null;
      if (dart.notNull(value) > 10.0) {
        pixels = value[$toStringAsFixed](0);
      } else if (dart.notNull(value) > 1.0) {
        pixels = value[$toStringAsFixed](1);
      } else {
        pixels = value[$toStringAsPrecision](3);
      }
      return pixels;
    }
    [_calculateOverflowRegions](overflow, containerRect) {
      let regions = JSArrayOf_OverflowRegionData().of([]);
      if (dart.notNull(overflow.left) > 0.0) {
        let markerRect = new ui.Rect.fromLTWH(0.0, 0.0, dart.notNull(containerRect.width) * 0.1, containerRect.height);
        regions[$add](new debug_overflow_indicator._OverflowRegionData.new({rect: markerRect, label: "LEFT OVERFLOWED BY " + dart.str(this[_formatPixels](overflow.left)) + " PIXELS", labelOffset: markerRect.centerLeft['+'](C33 || CT.C33), rotation: 3.141592653589793 / 2.0, side: debug_overflow_indicator._OverflowSide.left}));
      }
      if (dart.notNull(overflow.right) > 0.0) {
        let markerRect = new ui.Rect.fromLTWH(dart.notNull(containerRect.width) * (1.0 - 0.1), 0.0, dart.notNull(containerRect.width) * 0.1, containerRect.height);
        regions[$add](new debug_overflow_indicator._OverflowRegionData.new({rect: markerRect, label: "RIGHT OVERFLOWED BY " + dart.str(this[_formatPixels](overflow.right)) + " PIXELS", labelOffset: markerRect.centerRight['-'](C33 || CT.C33), rotation: -3.141592653589793 / 2.0, side: debug_overflow_indicator._OverflowSide.right}));
      }
      if (dart.notNull(overflow.top) > 0.0) {
        let markerRect = new ui.Rect.fromLTWH(0.0, 0.0, containerRect.width, dart.notNull(containerRect.height) * 0.1);
        regions[$add](new debug_overflow_indicator._OverflowRegionData.new({rect: markerRect, label: "TOP OVERFLOWED BY " + dart.str(this[_formatPixels](overflow.top)) + " PIXELS", labelOffset: markerRect.topCenter['+'](C34 || CT.C34), rotation: 0.0, side: debug_overflow_indicator._OverflowSide.top}));
      }
      if (dart.notNull(overflow.bottom) > 0.0) {
        let markerRect = new ui.Rect.fromLTWH(0.0, dart.notNull(containerRect.height) * (1.0 - 0.1), containerRect.width, dart.notNull(containerRect.height) * 0.1);
        regions[$add](new debug_overflow_indicator._OverflowRegionData.new({rect: markerRect, label: "BOTTOM OVERFLOWED BY " + dart.str(this[_formatPixels](overflow.bottom)) + " PIXELS", labelOffset: markerRect.bottomCenter['-'](C35 || CT.C35), rotation: 0.0, side: debug_overflow_indicator._OverflowSide.bottom}));
      }
      return regions;
    }
    [_reportOverflow](overflow, overflowHints) {
      overflowHints == null ? overflowHints = JSArrayOfDiagnosticsNode().of([]) : null;
      if (dart.test(overflowHints[$isEmpty])) {
        overflowHints[$add](new assertions.ErrorDescription.new("The edge of the " + dart.str(this[$runtimeType]) + " that is " + "overflowing has been marked in the rendering with a yellow and black " + "striped pattern. This is usually caused by the contents being too big " + "for the " + dart.str(this[$runtimeType]) + "."));
        overflowHints[$add](new assertions.ErrorHint.new("This is considered an error condition because it indicates that there " + "is content that cannot be seen. If the content is legitimately bigger " + "than the available space, consider clipping it with a ClipRect widget " + "before putting it in the " + dart.str(this[$runtimeType]) + ", or using a scrollable " + "container, like a ListView."));
      }
      let overflows = (() => {
        let t11 = JSArrayOfString().of([]);
        if (dart.notNull(overflow.left) > 0.0) t11[$add](dart.str(this[_formatPixels](overflow.left)) + " pixels on the left");
        if (dart.notNull(overflow.top) > 0.0) t11[$add](dart.str(this[_formatPixels](overflow.top)) + " pixels on the top");
        if (dart.notNull(overflow.bottom) > 0.0) t11[$add](dart.str(this[_formatPixels](overflow.bottom)) + " pixels on the bottom");
        if (dart.notNull(overflow.right) > 0.0) t11[$add](dart.str(this[_formatPixels](overflow.right)) + " pixels on the right");
        return t11;
      })();
      let overflowText = "";
      if (!dart.test(overflows[$isNotEmpty])) dart.assertFailed("Somehow " + dart.str(this[$runtimeType]) + " didn't actually overflow like it thought it did.", "org-dartlang-app:///packages/flutter/src/rendering/debug_overflow_indicator.dart", 227, 12, "overflows.isNotEmpty");
      switch (overflows[$length]) {
        case 1:
        {
          overflowText = overflows[$first];
          break;
        }
        case 2:
        {
          overflowText = dart.str(overflows[$first]) + " and " + dart.str(overflows[$last]);
          break;
        }
        default:
        {
          overflows[$_set](dart.notNull(overflows[$length]) - 1, "and " + dart.str(overflows[$_get](dart.notNull(overflows[$length]) - 1)));
          overflowText = overflows[$join](", ");
        }
      }
      assertions.FlutterError.reportError(new object$.FlutterErrorDetailsForRendering.new({exception: assertions.FlutterError.new("A " + dart.str(this[$runtimeType]) + " overflowed by " + dart.str(overflowText) + "."), library: "rendering library", context: new assertions.ErrorDescription.new("during layout"), renderObject: this, informationCollector: dart.fn(() => new (SyncIterableOfDiagnosticsNode()).new((function*() {
          if (this.debugCreator != null) yield new object$.DiagnosticsDebugCreator.new(this.debugCreator);
          yield* overflowHints;
          yield this.describeForError("The specific " + dart.str(this[$runtimeType]) + " in question is");
          yield diagnostics.DiagnosticsNode.message("◢◤"[$times]((100 / 2)[$truncate]()), {allowWrap: false});
        }).bind(this)), VoidToIterableOfDiagnosticsNode())}));
    }
    paintOverflowIndicator(context, offset, containerRect, childRect, opts) {
      let t12;
      let overflowHints = opts && 'overflowHints' in opts ? opts.overflowHints : null;
      let overflow = stack.RelativeRect.fromRect(containerRect, childRect);
      if (dart.notNull(overflow.left) <= 0.0 && dart.notNull(overflow.right) <= 0.0 && dart.notNull(overflow.top) <= 0.0 && dart.notNull(overflow.bottom) <= 0.0) {
        return;
      }
      let overflowRegions = this[_calculateOverflowRegions](overflow, containerRect);
      for (let region of overflowRegions) {
        context.canvas.drawRect(region.rect.shift(offset), debug_overflow_indicator.DebugOverflowIndicatorMixin._indicatorPaint);
        let textSpan = text_span.TextSpan.as(this[_indicatorLabel][$_get](region.side.index).text);
        if ((t12 = textSpan, t12 == null ? null : t12.text) != region.label) {
          this[_indicatorLabel][$_get](region.side.index).text = new text_span.TextSpan.new({text: region.label, style: debug_overflow_indicator.DebugOverflowIndicatorMixin._indicatorTextStyle});
          this[_indicatorLabel][$_get](region.side.index).layout();
        }
        let labelOffset = region.labelOffset['+'](offset);
        let centerOffset = new ui.Offset.new(-dart.notNull(this[_indicatorLabel][$_get](region.side.index).width) / 2.0, 0.0);
        let textBackgroundRect = centerOffset['&'](this[_indicatorLabel][$_get](region.side.index).size);
        context.canvas.save();
        context.canvas.translate(labelOffset.dx, labelOffset.dy);
        context.canvas.rotate(region.rotation);
        context.canvas.drawRect(textBackgroundRect, debug_overflow_indicator.DebugOverflowIndicatorMixin._labelBackgroundPaint);
        this[_indicatorLabel][$_get](region.side.index).paint(context.canvas, centerOffset);
        context.canvas.restore();
      }
      if (dart.test(this[_overflowReportNeeded])) {
        this[_overflowReportNeeded] = false;
        this[_reportOverflow](overflow, overflowHints);
      }
    }
    reassemble() {
      super.reassemble();
      if (!dart.test(dart.fn(() => {
        this[_overflowReportNeeded] = true;
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/debug_overflow_indicator.dart", 317, 12, "() {\r\n      _overflowReportNeeded = true;\r\n      return true;\r\n    }()");
    }
  };
  (debug_overflow_indicator.DebugOverflowIndicatorMixin[dart.mixinNew] = function() {
    this[_indicatorLabel] = ListOfTextPainter().filled(debug_overflow_indicator._OverflowSide.values[$length], new text_painter.TextPainter.new({textDirection: ui.TextDirection.ltr}));
    this[_overflowReportNeeded] = true;
  }).prototype = debug_overflow_indicator.DebugOverflowIndicatorMixin.prototype;
  dart.addTypeTests(debug_overflow_indicator.DebugOverflowIndicatorMixin);
  debug_overflow_indicator.DebugOverflowIndicatorMixin[dart.implements] = () => [object$.RenderObject];
  dart.setMethodSignature(debug_overflow_indicator.DebugOverflowIndicatorMixin, () => ({
    __proto__: dart.getMethods(debug_overflow_indicator.DebugOverflowIndicatorMixin.__proto__),
    [_formatPixels]: dart.fnType(core.String, [core.double]),
    [_calculateOverflowRegions]: dart.fnType(core.List$(debug_overflow_indicator._OverflowRegionData), [stack.RelativeRect, ui.Rect]),
    [_reportOverflow]: dart.fnType(dart.void, [stack.RelativeRect, core.List$(diagnostics.DiagnosticsNode)]),
    paintOverflowIndicator: dart.fnType(dart.void, [object$.PaintingContext, ui.Offset, ui.Rect, ui.Rect], {overflowHints: core.List$(diagnostics.DiagnosticsNode)}, {})
  }));
  dart.setLibraryUri(debug_overflow_indicator.DebugOverflowIndicatorMixin, "package:flutter/src/rendering/debug_overflow_indicator.dart");
  dart.setFieldSignature(debug_overflow_indicator.DebugOverflowIndicatorMixin, () => ({
    __proto__: dart.getFields(debug_overflow_indicator.DebugOverflowIndicatorMixin.__proto__),
    [_indicatorLabel]: dart.finalFieldType(core.List$(text_painter.TextPainter)),
    [_overflowReportNeeded]: dart.fieldType(core.bool)
  }));
  dart.defineLazy(debug_overflow_indicator.DebugOverflowIndicatorMixin, {
    /*debug_overflow_indicator.DebugOverflowIndicatorMixin._black*/get _black() {
      return C36 || CT.C36;
    },
    /*debug_overflow_indicator.DebugOverflowIndicatorMixin._yellow*/get _yellow() {
      return C37 || CT.C37;
    },
    /*debug_overflow_indicator.DebugOverflowIndicatorMixin._indicatorFraction*/get _indicatorFraction() {
      return 0.1;
    },
    /*debug_overflow_indicator.DebugOverflowIndicatorMixin._indicatorFontSizePixels*/get _indicatorFontSizePixels() {
      return 7.5;
    },
    /*debug_overflow_indicator.DebugOverflowIndicatorMixin._indicatorLabelPaddingPixels*/get _indicatorLabelPaddingPixels() {
      return 1;
    },
    /*debug_overflow_indicator.DebugOverflowIndicatorMixin._indicatorTextStyle*/get _indicatorTextStyle() {
      return C38 || CT.C38;
    },
    /*debug_overflow_indicator.DebugOverflowIndicatorMixin._indicatorPaint*/get _indicatorPaint() {
      let t12;
      return t12 = ui.Paint.new(), t12.shader = ui.Gradient.linear(C7 || CT.C7, C41 || CT.C41, JSArrayOfColor().of([debug_overflow_indicator.DebugOverflowIndicatorMixin._black, debug_overflow_indicator.DebugOverflowIndicatorMixin._yellow, debug_overflow_indicator.DebugOverflowIndicatorMixin._yellow, debug_overflow_indicator.DebugOverflowIndicatorMixin._black]), JSArrayOfdouble().of([0.25, 0.25, 0.75, 0.75]), ui.TileMode.repeated), t12;
    },
    /*debug_overflow_indicator.DebugOverflowIndicatorMixin._labelBackgroundPaint*/get _labelBackgroundPaint() {
      let t12;
      return t12 = ui.Paint.new(), t12.color = C42 || CT.C42, t12;
    }
  });
  const RenderAligningShiftedBox_DebugOverflowIndicatorMixin$36 = class RenderAligningShiftedBox_DebugOverflowIndicatorMixin extends shifted_box.RenderAligningShiftedBox {};
  (RenderAligningShiftedBox_DebugOverflowIndicatorMixin$36.new = function(opts) {
    debug_overflow_indicator.DebugOverflowIndicatorMixin[dart.mixinNew].call(this);
    RenderAligningShiftedBox_DebugOverflowIndicatorMixin$36.__proto__.new.call(this, opts);
  }).prototype = RenderAligningShiftedBox_DebugOverflowIndicatorMixin$36.prototype;
  (RenderAligningShiftedBox_DebugOverflowIndicatorMixin$36.mixin = function(alignment, textDirection, child) {
    debug_overflow_indicator.DebugOverflowIndicatorMixin[dart.mixinNew].call(this);
    RenderAligningShiftedBox_DebugOverflowIndicatorMixin$36.__proto__.mixin.call(this, alignment, textDirection, child);
  }).prototype = RenderAligningShiftedBox_DebugOverflowIndicatorMixin$36.prototype;
  dart.applyMixin(RenderAligningShiftedBox_DebugOverflowIndicatorMixin$36, debug_overflow_indicator.DebugOverflowIndicatorMixin);
  shifted_box.RenderUnconstrainedBox = class RenderUnconstrainedBox extends RenderAligningShiftedBox_DebugOverflowIndicatorMixin$36 {
    get constrainedAxis() {
      return this[_constrainedAxis];
    }
    set constrainedAxis(value) {
      if (dart.equals(this[_constrainedAxis], value)) return;
      this[_constrainedAxis] = value;
      this.markNeedsLayout();
    }
    performLayout() {
      if (this.child != null) {
        let childConstraints = null;
        if (this.constrainedAxis != null) {
          switch (this.constrainedAxis) {
            case C30 || CT.C30:
            {
              childConstraints = new box.BoxConstraints.new({maxWidth: this.constraints.maxWidth, minWidth: this.constraints.minWidth});
              break;
            }
            case C31 || CT.C31:
            {
              childConstraints = new box.BoxConstraints.new({maxHeight: this.constraints.maxHeight, minHeight: this.constraints.minHeight});
              break;
            }
          }
        } else {
          childConstraints = C32 || CT.C32;
        }
        this.child.layout(childConstraints, {parentUsesSize: true});
        this.size = this.constraints.constrain(this.child.size);
        this.alignChild();
        let childParentData = box.BoxParentData.as(this.child.parentData);
        this[_overflowContainerRect] = ui.Offset.zero['&'](this.size);
        this[_overflowChildRect] = childParentData.offset['&'](this.child.size);
      } else {
        this.size = this.constraints.smallest;
        this[_overflowContainerRect] = ui.Rect.zero;
        this[_overflowChildRect] = ui.Rect.zero;
      }
      this[_isOverflowing] = stack.RelativeRect.fromRect(this[_overflowContainerRect], this[_overflowChildRect]).hasInsets;
    }
    paint(context, offset) {
      if (this.child == null || dart.test(this.size.isEmpty)) return;
      if (!dart.test(this[_isOverflowing])) {
        super.paint(context, offset);
        return;
      }
      context.pushClipRect(this.needsCompositing, offset, ui.Offset.zero['&'](this.size), dart.bind(this, 'paint', super.paint));
      if (!dart.test(dart.fn(() => {
        this.paintOverflowIndicator(context, offset, this[_overflowContainerRect], this[_overflowChildRect]);
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 698, 12, "() {\r\n      paintOverflowIndicator(context, offset, _overflowContainerRect, _overflowChildRect);\r\n      return true;\r\n    }()");
    }
    describeApproximatePaintClip(child) {
      object$.RenderObject._check(child);
      return dart.test(this[_isOverflowing]) ? ui.Offset.zero['&'](this.size) : null;
    }
    toStringShort() {
      let header = super.toStringShort();
      if (dart.test(this[_isOverflowing])) header = dart.notNull(header) + " OVERFLOWING";
      return header;
    }
  };
  (shifted_box.RenderUnconstrainedBox.new = function(opts) {
    let alignment = opts && 'alignment' in opts ? opts.alignment : null;
    let textDirection = opts && 'textDirection' in opts ? opts.textDirection : null;
    let constrainedAxis = opts && 'constrainedAxis' in opts ? opts.constrainedAxis : null;
    let child = opts && 'child' in opts ? opts.child : null;
    this[_overflowContainerRect] = ui.Rect.zero;
    this[_overflowChildRect] = ui.Rect.zero;
    this[_isOverflowing] = false;
    if (!(alignment != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 627, 15, "alignment != null");
    this[_constrainedAxis] = constrainedAxis;
    shifted_box.RenderUnconstrainedBox.__proto__.mixin.call(this, alignment, textDirection, child);
    ;
  }).prototype = shifted_box.RenderUnconstrainedBox.prototype;
  dart.addTypeTests(shifted_box.RenderUnconstrainedBox);
  dart.setGetterSignature(shifted_box.RenderUnconstrainedBox, () => ({
    __proto__: dart.getGetters(shifted_box.RenderUnconstrainedBox.__proto__),
    constrainedAxis: basic_types$.Axis
  }));
  dart.setSetterSignature(shifted_box.RenderUnconstrainedBox, () => ({
    __proto__: dart.getSetters(shifted_box.RenderUnconstrainedBox.__proto__),
    constrainedAxis: basic_types$.Axis
  }));
  dart.setLibraryUri(shifted_box.RenderUnconstrainedBox, "package:flutter/src/rendering/shifted_box.dart");
  dart.setFieldSignature(shifted_box.RenderUnconstrainedBox, () => ({
    __proto__: dart.getFields(shifted_box.RenderUnconstrainedBox.__proto__),
    [_constrainedAxis]: dart.fieldType(basic_types$.Axis),
    [_overflowContainerRect]: dart.fieldType(ui.Rect),
    [_overflowChildRect]: dart.fieldType(ui.Rect),
    [_isOverflowing]: dart.fieldType(core.bool)
  }));
  const _requestedSize = dart.privateName(shifted_box, "_requestedSize");
  shifted_box.RenderSizedOverflowBox = class RenderSizedOverflowBox extends shifted_box.RenderAligningShiftedBox {
    get requestedSize() {
      return this[_requestedSize];
    }
    set requestedSize(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 752, 12, "value != null");
      if (dart.equals(this[_requestedSize], value)) return;
      this[_requestedSize] = value;
      this.markNeedsLayout();
    }
    computeMinIntrinsicWidth(height) {
      return this[_requestedSize].width;
    }
    computeMaxIntrinsicWidth(height) {
      return this[_requestedSize].width;
    }
    computeMinIntrinsicHeight(width) {
      return this[_requestedSize].height;
    }
    computeMaxIntrinsicHeight(width) {
      return this[_requestedSize].height;
    }
    computeDistanceToActualBaseline(baseline) {
      if (this.child != null) return this.child.getDistanceToActualBaseline(baseline);
      return super.computeDistanceToActualBaseline(baseline);
    }
    performLayout() {
      this.size = this.constraints.constrain(this[_requestedSize]);
      if (this.child != null) {
        this.child.layout(this.constraints, {parentUsesSize: true});
        this.alignChild();
      }
    }
  };
  (shifted_box.RenderSizedOverflowBox.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let requestedSize = opts && 'requestedSize' in opts ? opts.requestedSize : null;
    let alignment = opts && 'alignment' in opts ? opts.alignment : C28 || CT.C28;
    let textDirection = opts && 'textDirection' in opts ? opts.textDirection : null;
    if (!(requestedSize != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 744, 15, "requestedSize != null");
    this[_requestedSize] = requestedSize;
    shifted_box.RenderSizedOverflowBox.__proto__.new.call(this, {child: child, alignment: alignment, textDirection: textDirection});
    ;
  }).prototype = shifted_box.RenderSizedOverflowBox.prototype;
  dart.addTypeTests(shifted_box.RenderSizedOverflowBox);
  dart.setGetterSignature(shifted_box.RenderSizedOverflowBox, () => ({
    __proto__: dart.getGetters(shifted_box.RenderSizedOverflowBox.__proto__),
    requestedSize: ui.Size
  }));
  dart.setSetterSignature(shifted_box.RenderSizedOverflowBox, () => ({
    __proto__: dart.getSetters(shifted_box.RenderSizedOverflowBox.__proto__),
    requestedSize: ui.Size
  }));
  dart.setLibraryUri(shifted_box.RenderSizedOverflowBox, "package:flutter/src/rendering/shifted_box.dart");
  dart.setFieldSignature(shifted_box.RenderSizedOverflowBox, () => ({
    __proto__: dart.getFields(shifted_box.RenderSizedOverflowBox.__proto__),
    [_requestedSize]: dart.fieldType(ui.Size)
  }));
  shifted_box.RenderFractionallySizedOverflowBox = class RenderFractionallySizedOverflowBox extends shifted_box.RenderAligningShiftedBox {
    get widthFactor() {
      return this[_widthFactor];
    }
    set widthFactor(value) {
      if (!(value == null || dart.notNull(value) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 838, 12, "value == null || value >= 0.0");
      if (this[_widthFactor] == value) return;
      this[_widthFactor] = value;
      this.markNeedsLayout();
    }
    get heightFactor() {
      return this[_heightFactor];
    }
    set heightFactor(value) {
      if (!(value == null || dart.notNull(value) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 853, 12, "value == null || value >= 0.0");
      if (this[_heightFactor] == value) return;
      this[_heightFactor] = value;
      this.markNeedsLayout();
    }
    [_getInnerConstraints](constraints) {
      let minWidth = constraints.minWidth;
      let maxWidth = constraints.maxWidth;
      if (this[_widthFactor] != null) {
        let width = dart.notNull(maxWidth) * dart.notNull(this[_widthFactor]);
        minWidth = width;
        maxWidth = width;
      }
      let minHeight = constraints.minHeight;
      let maxHeight = constraints.maxHeight;
      if (this[_heightFactor] != null) {
        let height = dart.notNull(maxHeight) * dart.notNull(this[_heightFactor]);
        minHeight = height;
        maxHeight = height;
      }
      return new box.BoxConstraints.new({minWidth: minWidth, maxWidth: maxWidth, minHeight: minHeight, maxHeight: maxHeight});
    }
    computeMinIntrinsicWidth(height) {
      let t12, t12$;
      let result = null;
      if (this.child == null) {
        result = super.computeMinIntrinsicWidth(height);
      } else {
        result = this.child.getMinIntrinsicWidth(dart.notNull(height) * dart.notNull((t12 = this[_heightFactor], t12 == null ? 1.0 : t12)));
      }
      if (!result[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 891, 12, "result.isFinite");
      return dart.notNull(result) / dart.notNull((t12$ = this[_widthFactor], t12$ == null ? 1.0 : t12$));
    }
    computeMaxIntrinsicWidth(height) {
      let t12, t12$;
      let result = null;
      if (this.child == null) {
        result = super.computeMaxIntrinsicWidth(height);
      } else {
        result = this.child.getMaxIntrinsicWidth(dart.notNull(height) * dart.notNull((t12 = this[_heightFactor], t12 == null ? 1.0 : t12)));
      }
      if (!result[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 903, 12, "result.isFinite");
      return dart.notNull(result) / dart.notNull((t12$ = this[_widthFactor], t12$ == null ? 1.0 : t12$));
    }
    computeMinIntrinsicHeight(width) {
      let t12, t12$;
      let result = null;
      if (this.child == null) {
        result = super.computeMinIntrinsicHeight(width);
      } else {
        result = this.child.getMinIntrinsicHeight(dart.notNull(width) * dart.notNull((t12 = this[_widthFactor], t12 == null ? 1.0 : t12)));
      }
      if (!result[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 915, 12, "result.isFinite");
      return dart.notNull(result) / dart.notNull((t12$ = this[_heightFactor], t12$ == null ? 1.0 : t12$));
    }
    computeMaxIntrinsicHeight(width) {
      let t12, t12$;
      let result = null;
      if (this.child == null) {
        result = super.computeMaxIntrinsicHeight(width);
      } else {
        result = this.child.getMaxIntrinsicHeight(dart.notNull(width) * dart.notNull((t12 = this[_widthFactor], t12 == null ? 1.0 : t12)));
      }
      if (!result[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 927, 12, "result.isFinite");
      return dart.notNull(result) / dart.notNull((t12$ = this[_heightFactor], t12$ == null ? 1.0 : t12$));
    }
    performLayout() {
      if (this.child != null) {
        this.child.layout(this[_getInnerConstraints](this.constraints), {parentUsesSize: true});
        this.size = this.constraints.constrain(this.child.size);
        this.alignChild();
      } else {
        this.size = this.constraints.constrain(this[_getInnerConstraints](this.constraints).constrain(ui.Size.zero));
      }
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new diagnostics.DoubleProperty.new("widthFactor", this[_widthFactor], {ifNull: "pass-through"}));
      properties.add(new diagnostics.DoubleProperty.new("heightFactor", this[_heightFactor], {ifNull: "pass-through"}));
    }
  };
  (shifted_box.RenderFractionallySizedOverflowBox.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let widthFactor = opts && 'widthFactor' in opts ? opts.widthFactor : null;
    let heightFactor = opts && 'heightFactor' in opts ? opts.heightFactor : null;
    let alignment = opts && 'alignment' in opts ? opts.alignment : C28 || CT.C28;
    let textDirection = opts && 'textDirection' in opts ? opts.textDirection : null;
    this[_widthFactor] = widthFactor;
    this[_heightFactor] = heightFactor;
    shifted_box.RenderFractionallySizedOverflowBox.__proto__.new.call(this, {child: child, alignment: alignment, textDirection: textDirection});
    if (!(this[_widthFactor] == null || dart.notNull(this[_widthFactor]) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 826, 12, "_widthFactor == null || _widthFactor >= 0.0");
    if (!(this[_heightFactor] == null || dart.notNull(this[_heightFactor]) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 827, 12, "_heightFactor == null || _heightFactor >= 0.0");
  }).prototype = shifted_box.RenderFractionallySizedOverflowBox.prototype;
  dart.addTypeTests(shifted_box.RenderFractionallySizedOverflowBox);
  dart.setMethodSignature(shifted_box.RenderFractionallySizedOverflowBox, () => ({
    __proto__: dart.getMethods(shifted_box.RenderFractionallySizedOverflowBox.__proto__),
    [_getInnerConstraints]: dart.fnType(box.BoxConstraints, [box.BoxConstraints])
  }));
  dart.setGetterSignature(shifted_box.RenderFractionallySizedOverflowBox, () => ({
    __proto__: dart.getGetters(shifted_box.RenderFractionallySizedOverflowBox.__proto__),
    widthFactor: core.double,
    heightFactor: core.double
  }));
  dart.setSetterSignature(shifted_box.RenderFractionallySizedOverflowBox, () => ({
    __proto__: dart.getSetters(shifted_box.RenderFractionallySizedOverflowBox.__proto__),
    widthFactor: core.double,
    heightFactor: core.double
  }));
  dart.setLibraryUri(shifted_box.RenderFractionallySizedOverflowBox, "package:flutter/src/rendering/shifted_box.dart");
  dart.setFieldSignature(shifted_box.RenderFractionallySizedOverflowBox, () => ({
    __proto__: dart.getFields(shifted_box.RenderFractionallySizedOverflowBox.__proto__),
    [_widthFactor]: dart.fieldType(core.double),
    [_heightFactor]: dart.fieldType(core.double)
  }));
  const _relayout = dart.privateName(shifted_box, "_relayout");
  const _relayout$ = dart.privateName(shifted_box, "SingleChildLayoutDelegate._relayout");
  shifted_box.SingleChildLayoutDelegate = class SingleChildLayoutDelegate extends core.Object {
    get [_relayout]() {
      return this[_relayout$];
    }
    set [_relayout](value) {
      super[_relayout] = value;
    }
    getSize(constraints) {
      return constraints.biggest;
    }
    getConstraintsForChild(constraints) {
      return constraints;
    }
    getPositionForChild(size, childSize) {
      return ui.Offset.zero;
    }
  };
  (shifted_box.SingleChildLayoutDelegate.new = function(opts) {
    let relayout = opts && 'relayout' in opts ? opts.relayout : null;
    this[_relayout$] = relayout;
    ;
  }).prototype = shifted_box.SingleChildLayoutDelegate.prototype;
  dart.addTypeTests(shifted_box.SingleChildLayoutDelegate);
  dart.setMethodSignature(shifted_box.SingleChildLayoutDelegate, () => ({
    __proto__: dart.getMethods(shifted_box.SingleChildLayoutDelegate.__proto__),
    getSize: dart.fnType(ui.Size, [box.BoxConstraints]),
    getConstraintsForChild: dart.fnType(box.BoxConstraints, [box.BoxConstraints]),
    getPositionForChild: dart.fnType(ui.Offset, [ui.Size, ui.Size])
  }));
  dart.setLibraryUri(shifted_box.SingleChildLayoutDelegate, "package:flutter/src/rendering/shifted_box.dart");
  dart.setFieldSignature(shifted_box.SingleChildLayoutDelegate, () => ({
    __proto__: dart.getFields(shifted_box.SingleChildLayoutDelegate.__proto__),
    [_relayout]: dart.finalFieldType(change_notifier.Listenable)
  }));
  const _delegate = dart.privateName(shifted_box, "_delegate");
  const _getSize = dart.privateName(shifted_box, "_getSize");
  shifted_box.RenderCustomSingleChildLayoutBox = class RenderCustomSingleChildLayoutBox extends shifted_box.RenderShiftedBox {
    get delegate() {
      return this[_delegate];
    }
    set delegate(newDelegate) {
      let t12, t12$, t12$0, t12$1;
      if (!(newDelegate != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 1052, 12, "newDelegate != null");
      if (dart.equals(this[_delegate], newDelegate)) return;
      let oldDelegate = this[_delegate];
      if (!dart.equals(dart.runtimeType(newDelegate), dart.runtimeType(oldDelegate)) || dart.test(newDelegate.shouldRelayout(oldDelegate))) this.markNeedsLayout();
      this[_delegate] = newDelegate;
      if (dart.test(this.attached)) {
        t12$ = (t12 = oldDelegate, t12 == null ? null : t12[_relayout]);
        t12$ == null ? null : t12$.removeListener(dart.bind(this, 'markNeedsLayout'));
        t12$1 = (t12$0 = newDelegate, t12$0 == null ? null : t12$0[_relayout]);
        t12$1 == null ? null : t12$1.addListener(dart.bind(this, 'markNeedsLayout'));
      }
    }
    attach(owner) {
      let t12, t12$;
      object$.PipelineOwner._check(owner);
      super.attach(owner);
      t12$ = (t12 = this[_delegate], t12 == null ? null : t12[_relayout]);
      t12$ == null ? null : t12$.addListener(dart.bind(this, 'markNeedsLayout'));
    }
    detach() {
      let t12, t12$;
      t12$ = (t12 = this[_delegate], t12 == null ? null : t12[_relayout]);
      t12$ == null ? null : t12$.removeListener(dart.bind(this, 'markNeedsLayout'));
      super.detach();
    }
    [_getSize](constraints) {
      return constraints.constrain(this[_delegate].getSize(constraints));
    }
    computeMinIntrinsicWidth(height) {
      let width = this[_getSize](new box.BoxConstraints.tightForFinite({height: height})).width;
      if (width[$isFinite]) return width;
      return 0.0;
    }
    computeMaxIntrinsicWidth(height) {
      let width = this[_getSize](new box.BoxConstraints.tightForFinite({height: height})).width;
      if (width[$isFinite]) return width;
      return 0.0;
    }
    computeMinIntrinsicHeight(width) {
      let height = this[_getSize](new box.BoxConstraints.tightForFinite({width: width})).height;
      if (height[$isFinite]) return height;
      return 0.0;
    }
    computeMaxIntrinsicHeight(width) {
      let height = this[_getSize](new box.BoxConstraints.tightForFinite({width: width})).height;
      if (height[$isFinite]) return height;
      return 0.0;
    }
    performLayout() {
      this.size = this[_getSize](this.constraints);
      if (this.child != null) {
        let childConstraints = this.delegate.getConstraintsForChild(this.constraints);
        if (!dart.test(childConstraints.debugAssertIsValid({isAppliedConstraint: true}))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 1122, 14, "childConstraints.debugAssertIsValid(isAppliedConstraint: true)");
        this.child.layout(childConstraints, {parentUsesSize: !dart.test(childConstraints.isTight)});
        let childParentData = box.BoxParentData.as(this.child.parentData);
        childParentData.offset = this.delegate.getPositionForChild(this.size, dart.test(childConstraints.isTight) ? childConstraints.smallest : this.child.size);
      }
    }
  };
  (shifted_box.RenderCustomSingleChildLayoutBox.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let delegate = opts && 'delegate' in opts ? opts.delegate : null;
    if (!(delegate != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 1044, 15, "delegate != null");
    this[_delegate] = delegate;
    shifted_box.RenderCustomSingleChildLayoutBox.__proto__.new.call(this, child);
    ;
  }).prototype = shifted_box.RenderCustomSingleChildLayoutBox.prototype;
  dart.addTypeTests(shifted_box.RenderCustomSingleChildLayoutBox);
  dart.setMethodSignature(shifted_box.RenderCustomSingleChildLayoutBox, () => ({
    __proto__: dart.getMethods(shifted_box.RenderCustomSingleChildLayoutBox.__proto__),
    [_getSize]: dart.fnType(ui.Size, [box.BoxConstraints])
  }));
  dart.setGetterSignature(shifted_box.RenderCustomSingleChildLayoutBox, () => ({
    __proto__: dart.getGetters(shifted_box.RenderCustomSingleChildLayoutBox.__proto__),
    delegate: shifted_box.SingleChildLayoutDelegate
  }));
  dart.setSetterSignature(shifted_box.RenderCustomSingleChildLayoutBox, () => ({
    __proto__: dart.getSetters(shifted_box.RenderCustomSingleChildLayoutBox.__proto__),
    delegate: shifted_box.SingleChildLayoutDelegate
  }));
  dart.setLibraryUri(shifted_box.RenderCustomSingleChildLayoutBox, "package:flutter/src/rendering/shifted_box.dart");
  dart.setFieldSignature(shifted_box.RenderCustomSingleChildLayoutBox, () => ({
    __proto__: dart.getFields(shifted_box.RenderCustomSingleChildLayoutBox.__proto__),
    [_delegate]: dart.fieldType(shifted_box.SingleChildLayoutDelegate)
  }));
  const _baseline = dart.privateName(shifted_box, "_baseline");
  const _baselineType = dart.privateName(shifted_box, "_baselineType");
  shifted_box.RenderBaseline = class RenderBaseline extends shifted_box.RenderShiftedBox {
    get baseline() {
      return this[_baseline];
    }
    set baseline(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 1165, 12, "value != null");
      if (this[_baseline] == value) return;
      this[_baseline] = value;
      this.markNeedsLayout();
    }
    get baselineType() {
      return this[_baselineType];
    }
    set baselineType(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 1176, 12, "value != null");
      if (dart.equals(this[_baselineType], value)) return;
      this[_baselineType] = value;
      this.markNeedsLayout();
    }
    performLayout() {
      if (this.child != null) {
        this.child.layout(this.constraints.loosen(), {parentUsesSize: true});
        let childBaseline = this.child.getDistanceToBaseline(this.baselineType);
        let actualBaseline = this.baseline;
        let top = dart.notNull(actualBaseline) - dart.notNull(childBaseline);
        let childParentData = box.BoxParentData.as(this.child.parentData);
        childParentData.offset = new ui.Offset.new(0.0, top);
        let childSize = this.child.size;
        this.size = this.constraints.constrain(new ui.Size.new(childSize.width, top + dart.notNull(childSize.height)));
      } else {
        this.performResize();
      }
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new diagnostics.DoubleProperty.new("baseline", this.baseline));
      properties.add(new (EnumPropertyOfTextBaseline()).new("baselineType", this.baselineType));
    }
  };
  (shifted_box.RenderBaseline.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let baseline = opts && 'baseline' in opts ? opts.baseline : null;
    let baselineType = opts && 'baselineType' in opts ? opts.baselineType : null;
    if (!(baseline != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 1154, 15, "baseline != null");
    if (!(baselineType != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/shifted_box.dart", 1155, 15, "baselineType != null");
    this[_baseline] = baseline;
    this[_baselineType] = baselineType;
    shifted_box.RenderBaseline.__proto__.new.call(this, child);
    ;
  }).prototype = shifted_box.RenderBaseline.prototype;
  dart.addTypeTests(shifted_box.RenderBaseline);
  dart.setGetterSignature(shifted_box.RenderBaseline, () => ({
    __proto__: dart.getGetters(shifted_box.RenderBaseline.__proto__),
    baseline: core.double,
    baselineType: ui.TextBaseline
  }));
  dart.setSetterSignature(shifted_box.RenderBaseline, () => ({
    __proto__: dart.getSetters(shifted_box.RenderBaseline.__proto__),
    baseline: core.double,
    baselineType: ui.TextBaseline
  }));
  dart.setLibraryUri(shifted_box.RenderBaseline, "package:flutter/src/rendering/shifted_box.dart");
  dart.setFieldSignature(shifted_box.RenderBaseline, () => ({
    __proto__: dart.getFields(shifted_box.RenderBaseline.__proto__),
    [_baseline]: dart.fieldType(core.double),
    [_baselineType]: dart.fieldType(ui.TextBaseline)
  }));
  const left$ = dart.privateName(stack, "RelativeRect.left");
  const top$ = dart.privateName(stack, "RelativeRect.top");
  const right$ = dart.privateName(stack, "RelativeRect.right");
  const bottom$ = dart.privateName(stack, "RelativeRect.bottom");
  let C43;
  stack.RelativeRect = class RelativeRect extends core.Object {
    get left() {
      return this[left$];
    }
    set left(value) {
      super.left = value;
    }
    get top() {
      return this[top$];
    }
    set top(value) {
      super.top = value;
    }
    get right() {
      return this[right$];
    }
    set right(value) {
      super.right = value;
    }
    get bottom() {
      return this[bottom$];
    }
    set bottom(value) {
      super.bottom = value;
    }
    static fromSize(rect, container) {
      return new stack.RelativeRect.fromLTRB(rect.left, rect.top, dart.notNull(container.width) - dart.notNull(rect.right), dart.notNull(container.height) - dart.notNull(rect.bottom));
    }
    static fromRect(rect, container) {
      return new stack.RelativeRect.fromLTRB(dart.notNull(rect.left) - dart.notNull(container.left), dart.notNull(rect.top) - dart.notNull(container.top), dart.notNull(container.right) - dart.notNull(rect.right), dart.notNull(container.bottom) - dart.notNull(rect.bottom));
    }
    get hasInsets() {
      return dart.notNull(this.left) > 0.0 || dart.notNull(this.top) > 0.0 || dart.notNull(this.right) > 0.0 || dart.notNull(this.bottom) > 0.0;
    }
    shift(offset) {
      return new stack.RelativeRect.fromLTRB(dart.notNull(this.left) + dart.notNull(offset.dx), dart.notNull(this.top) + dart.notNull(offset.dy), dart.notNull(this.right) - dart.notNull(offset.dx), dart.notNull(this.bottom) - dart.notNull(offset.dy));
    }
    inflate(delta) {
      return new stack.RelativeRect.fromLTRB(dart.notNull(this.left) - dart.notNull(delta), dart.notNull(this.top) - dart.notNull(delta), dart.notNull(this.right) - dart.notNull(delta), dart.notNull(this.bottom) - dart.notNull(delta));
    }
    deflate(delta) {
      return this.inflate(-dart.notNull(delta));
    }
    intersect(other) {
      return new stack.RelativeRect.fromLTRB(math.max(core.double, this.left, other.left), math.max(core.double, this.top, other.top), math.max(core.double, this.right, other.right), math.max(core.double, this.bottom, other.bottom));
    }
    toRect(container) {
      return new ui.Rect.fromLTRB(this.left, this.top, dart.notNull(container.width) - dart.notNull(this.right), dart.notNull(container.height) - dart.notNull(this.bottom));
    }
    toSize(container) {
      return new ui.Size.new(dart.notNull(container.width) - dart.notNull(this.left) - dart.notNull(this.right), dart.notNull(container.height) - dart.notNull(this.top) - dart.notNull(this.bottom));
    }
    static lerp(a, b, t) {
      if (!(t != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/stack.dart", 136, 12, "t != null");
      if (a == null && b == null) return null;
      if (a == null) return new stack.RelativeRect.fromLTRB(dart.notNull(b.left) * dart.notNull(t), dart.notNull(b.top) * dart.notNull(t), dart.notNull(b.right) * dart.notNull(t), dart.notNull(b.bottom) * dart.notNull(t));
      if (b == null) {
        let k = 1.0 - dart.notNull(t);
        return new stack.RelativeRect.fromLTRB(dart.notNull(b.left) * k, dart.notNull(b.top) * k, dart.notNull(b.right) * k, dart.notNull(b.bottom) * k);
      }
      return new stack.RelativeRect.fromLTRB(ui.lerpDouble(a.left, b.left, t), ui.lerpDouble(a.top, b.top, t), ui.lerpDouble(a.right, b.right, t), ui.lerpDouble(a.bottom, b.bottom, t));
    }
    _equals(other) {
      if (other == null) return false;
      if (this === other) return true;
      return stack.RelativeRect.is(other) && other.left == this.left && other.top == this.top && other.right == this.right && other.bottom == this.bottom;
    }
    get hashCode() {
      return ui.hashValues(this.left, this.top, this.right, this.bottom);
    }
    toString() {
      let t12, t12$, t12$0, t12$1;
      return "RelativeRect.fromLTRB(" + dart.str((t12 = this.left, t12 == null ? null : t12[$toStringAsFixed](1))) + ", " + dart.str((t12$ = this.top, t12$ == null ? null : t12$[$toStringAsFixed](1))) + ", " + dart.str((t12$0 = this.right, t12$0 == null ? null : t12$0[$toStringAsFixed](1))) + ", " + dart.str((t12$1 = this.bottom, t12$1 == null ? null : t12$1[$toStringAsFixed](1))) + ")";
    }
  };
  (stack.RelativeRect.fromLTRB = function(left, top, right, bottom) {
    this[left$] = left;
    this[top$] = top;
    this[right$] = right;
    this[bottom$] = bottom;
    if (!(left != null && top != null && right != null && bottom != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/stack.dart", 27, 14, "left != null && top != null && right != null && bottom != null");
    ;
  }).prototype = stack.RelativeRect.prototype;
  dart.addTypeTests(stack.RelativeRect);
  dart.setMethodSignature(stack.RelativeRect, () => ({
    __proto__: dart.getMethods(stack.RelativeRect.__proto__),
    shift: dart.fnType(stack.RelativeRect, [ui.Offset]),
    inflate: dart.fnType(stack.RelativeRect, [core.double]),
    deflate: dart.fnType(stack.RelativeRect, [core.double]),
    intersect: dart.fnType(stack.RelativeRect, [stack.RelativeRect]),
    toRect: dart.fnType(ui.Rect, [ui.Rect]),
    toSize: dart.fnType(ui.Size, [ui.Size]),
    _equals: dart.fnType(core.bool, [core.Object]),
    [$_equals]: dart.fnType(core.bool, [core.Object])
  }));
  dart.setGetterSignature(stack.RelativeRect, () => ({
    __proto__: dart.getGetters(stack.RelativeRect.__proto__),
    hasInsets: core.bool
  }));
  dart.setLibraryUri(stack.RelativeRect, "package:flutter/src/rendering/stack.dart");
  dart.setFieldSignature(stack.RelativeRect, () => ({
    __proto__: dart.getFields(stack.RelativeRect.__proto__),
    left: dart.finalFieldType(core.double),
    top: dart.finalFieldType(core.double),
    right: dart.finalFieldType(core.double),
    bottom: dart.finalFieldType(core.double)
  }));
  dart.defineExtensionMethods(stack.RelativeRect, ['_equals', 'toString']);
  dart.defineExtensionAccessors(stack.RelativeRect, ['hashCode']);
  dart.defineLazy(stack.RelativeRect, {
    /*stack.RelativeRect.fill*/get fill() {
      return C43 || CT.C43;
    }
  });
  const top = dart.privateName(stack, "StackParentData.top");
  const right = dart.privateName(stack, "StackParentData.right");
  const bottom = dart.privateName(stack, "StackParentData.bottom");
  const left = dart.privateName(stack, "StackParentData.left");
  const width = dart.privateName(stack, "StackParentData.width");
  const height = dart.privateName(stack, "StackParentData.height");
  stack.StackParentData = class StackParentData extends box.ContainerBoxParentData$(box.RenderBox) {
    get top() {
      return this[top];
    }
    set top(value) {
      this[top] = value;
    }
    get right() {
      return this[right];
    }
    set right(value) {
      this[right] = value;
    }
    get bottom() {
      return this[bottom];
    }
    set bottom(value) {
      this[bottom] = value;
    }
    get left() {
      return this[left];
    }
    set left(value) {
      this[left] = value;
    }
    get width() {
      return this[width];
    }
    set width(value) {
      this[width] = value;
    }
    get height() {
      return this[height];
    }
    set height(value) {
      this[height] = value;
    }
    get rect() {
      return new stack.RelativeRect.fromLTRB(this.left, this.top, this.right, this.bottom);
    }
    set rect(value) {
      this.top = value.top;
      this.right = value.right;
      this.bottom = value.bottom;
      this.left = value.left;
    }
    get isPositioned() {
      return this.top != null || this.right != null || this.bottom != null || this.left != null || this.width != null || this.height != null;
    }
    toString() {
      let values = (() => {
        let t12 = JSArrayOfString().of([]);
        if (this.top != null) t12[$add]("top=" + dart.str(debug.debugFormatDouble(this.top)));
        if (this.right != null) t12[$add]("right=" + dart.str(debug.debugFormatDouble(this.right)));
        if (this.bottom != null) t12[$add]("bottom=" + dart.str(debug.debugFormatDouble(this.bottom)));
        if (this.left != null) t12[$add]("left=" + dart.str(debug.debugFormatDouble(this.left)));
        if (this.width != null) t12[$add]("width=" + dart.str(debug.debugFormatDouble(this.width)));
        if (this.height != null) t12[$add]("height=" + dart.str(debug.debugFormatDouble(this.height)));
        return t12;
      })();
      if (dart.test(values[$isEmpty])) values[$add]("not positioned");
      values[$add](super.toString());
      return values[$join]("; ");
    }
  };
  (stack.StackParentData.new = function() {
    this[top] = null;
    this[right] = null;
    this[bottom] = null;
    this[left] = null;
    this[width] = null;
    this[height] = null;
    stack.StackParentData.__proto__.new.call(this);
    ;
  }).prototype = stack.StackParentData.prototype;
  dart.addTypeTests(stack.StackParentData);
  dart.setGetterSignature(stack.StackParentData, () => ({
    __proto__: dart.getGetters(stack.StackParentData.__proto__),
    rect: stack.RelativeRect,
    isPositioned: core.bool
  }));
  dart.setSetterSignature(stack.StackParentData, () => ({
    __proto__: dart.getSetters(stack.StackParentData.__proto__),
    rect: stack.RelativeRect
  }));
  dart.setLibraryUri(stack.StackParentData, "package:flutter/src/rendering/stack.dart");
  dart.setFieldSignature(stack.StackParentData, () => ({
    __proto__: dart.getFields(stack.StackParentData.__proto__),
    top: dart.fieldType(core.double),
    right: dart.fieldType(core.double),
    bottom: dart.fieldType(core.double),
    left: dart.fieldType(core.double),
    width: dart.fieldType(core.double),
    height: dart.fieldType(core.double)
  }));
  dart.defineExtensionMethods(stack.StackParentData, ['toString']);
  const _name$3 = dart.privateName(stack, "_name");
  let C44;
  let C45;
  let C46;
  let C47;
  stack.StackFit = class StackFit extends core.Object {
    toString() {
      return this[_name$3];
    }
  };
  (stack.StackFit.new = function(index, _name) {
    this.index = index;
    this[_name$3] = _name;
    ;
  }).prototype = stack.StackFit.prototype;
  dart.addTypeTests(stack.StackFit);
  dart.setLibraryUri(stack.StackFit, "package:flutter/src/rendering/stack.dart");
  dart.setFieldSignature(stack.StackFit, () => ({
    __proto__: dart.getFields(stack.StackFit.__proto__),
    index: dart.finalFieldType(core.int),
    [_name$3]: dart.finalFieldType(core.String)
  }));
  dart.defineExtensionMethods(stack.StackFit, ['toString']);
  stack.StackFit.loose = C44 || CT.C44;
  stack.StackFit.expand = C45 || CT.C45;
  stack.StackFit.passthrough = C46 || CT.C46;
  stack.StackFit.values = C47 || CT.C47;
  let C48;
  let C49;
  let C50;
  stack.Overflow = class Overflow extends core.Object {
    toString() {
      return this[_name$3];
    }
  };
  (stack.Overflow.new = function(index, _name) {
    this.index = index;
    this[_name$3] = _name;
    ;
  }).prototype = stack.Overflow.prototype;
  dart.addTypeTests(stack.Overflow);
  dart.setLibraryUri(stack.Overflow, "package:flutter/src/rendering/stack.dart");
  dart.setFieldSignature(stack.Overflow, () => ({
    __proto__: dart.getFields(stack.Overflow.__proto__),
    index: dart.finalFieldType(core.int),
    [_name$3]: dart.finalFieldType(core.String)
  }));
  dart.defineExtensionMethods(stack.Overflow, ['toString']);
  stack.Overflow.visible = C48 || CT.C48;
  stack.Overflow.clip = C49 || CT.C49;
  stack.Overflow.values = C50 || CT.C50;
  const AlignmentDirectional_y = dart.privateName(alignment, "AlignmentDirectional.y");
  const AlignmentDirectional_start = dart.privateName(alignment, "AlignmentDirectional.start");
  let C51;
  const _hasVisualOverflow = dart.privateName(stack, "_hasVisualOverflow");
  const _resolvedAlignment$ = dart.privateName(stack, "_resolvedAlignment");
  const _alignment$ = dart.privateName(stack, "_alignment");
  const _textDirection$ = dart.privateName(stack, "_textDirection");
  const _fit = dart.privateName(stack, "_fit");
  const _overflow = dart.privateName(stack, "_overflow");
  const _resolve$ = dart.privateName(stack, "_resolve");
  const _markNeedResolution$ = dart.privateName(stack, "_markNeedResolution");
  const RenderBox_ContainerRenderObjectMixin$36 = class RenderBox_ContainerRenderObjectMixin extends box.RenderBox {};
  (RenderBox_ContainerRenderObjectMixin$36.new = function() {
    object$.ContainerRenderObjectMixin$(box.RenderBox, stack.StackParentData)[dart.mixinNew].call(this);
    RenderBox_ContainerRenderObjectMixin$36.__proto__.new.call(this);
  }).prototype = RenderBox_ContainerRenderObjectMixin$36.prototype;
  dart.applyMixin(RenderBox_ContainerRenderObjectMixin$36, object$.ContainerRenderObjectMixin$(box.RenderBox, stack.StackParentData));
  const RenderBox_RenderBoxContainerDefaultsMixin$36 = class RenderBox_RenderBoxContainerDefaultsMixin extends RenderBox_ContainerRenderObjectMixin$36 {};
  (RenderBox_RenderBoxContainerDefaultsMixin$36.new = function() {
    RenderBox_RenderBoxContainerDefaultsMixin$36.__proto__.new.call(this);
  }).prototype = RenderBox_RenderBoxContainerDefaultsMixin$36.prototype;
  dart.applyMixin(RenderBox_RenderBoxContainerDefaultsMixin$36, box.RenderBoxContainerDefaultsMixin$(box.RenderBox, stack.StackParentData));
  stack.RenderStack = class RenderStack extends RenderBox_RenderBoxContainerDefaultsMixin$36 {
    setupParentData(child) {
      box.RenderBox._check(child);
      if (!stack.StackParentData.is(child.parentData)) child.parentData = new stack.StackParentData.new();
    }
    [_resolve$]() {
      if (this[_resolvedAlignment$] != null) return;
      this[_resolvedAlignment$] = this.alignment.resolve(this.textDirection);
    }
    [_markNeedResolution$]() {
      this[_resolvedAlignment$] = null;
      this.markNeedsLayout();
    }
    get alignment() {
      return this[_alignment$];
    }
    set alignment(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/stack.dart", 379, 12, "value != null");
      if (dart.equals(this[_alignment$], value)) return;
      this[_alignment$] = value;
      this[_markNeedResolution$]();
    }
    get textDirection() {
      return this[_textDirection$];
    }
    set textDirection(value) {
      if (dart.equals(this[_textDirection$], value)) return;
      this[_textDirection$] = value;
      this[_markNeedResolution$]();
    }
    get fit() {
      return this[_fit];
    }
    set fit(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/stack.dart", 407, 12, "value != null");
      if (!dart.equals(this[_fit], value)) {
        this[_fit] = value;
        this.markNeedsLayout();
      }
    }
    get overflow() {
      return this[_overflow];
    }
    set overflow(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/stack.dart", 421, 12, "value != null");
      if (!dart.equals(this[_overflow], value)) {
        this[_overflow] = value;
        this.markNeedsPaint();
      }
    }
    static getIntrinsicDimension(firstChild, mainChildSizeGetter) {
      let extent = 0.0;
      let child = firstChild;
      while (child != null) {
        let childParentData = stack.StackParentData.as(child.parentData);
        if (!dart.test(childParentData.isPositioned)) extent = math.max(core.double, extent, mainChildSizeGetter(child));
        if (!dart.equals(child.parentData, childParentData)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/stack.dart", 436, 14, "child.parentData == childParentData");
        child = childParentData.nextSibling;
      }
      return extent;
    }
    computeMinIntrinsicWidth(height) {
      return stack.RenderStack.getIntrinsicDimension(this.firstChild, dart.fn(child => child.getMinIntrinsicWidth(height), RenderBoxTodouble()));
    }
    computeMaxIntrinsicWidth(height) {
      return stack.RenderStack.getIntrinsicDimension(this.firstChild, dart.fn(child => child.getMaxIntrinsicWidth(height), RenderBoxTodouble()));
    }
    computeMinIntrinsicHeight(width) {
      return stack.RenderStack.getIntrinsicDimension(this.firstChild, dart.fn(child => child.getMinIntrinsicHeight(width), RenderBoxTodouble()));
    }
    computeMaxIntrinsicHeight(width) {
      return stack.RenderStack.getIntrinsicDimension(this.firstChild, dart.fn(child => child.getMaxIntrinsicHeight(width), RenderBoxTodouble()));
    }
    computeDistanceToActualBaseline(baseline) {
      return this.defaultComputeDistanceToHighestActualBaseline(baseline);
    }
    static layoutPositionedChild(child, childParentData, size, alignment) {
      if (!dart.test(childParentData.isPositioned)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/stack.dart", 471, 12, "childParentData.isPositioned");
      if (!dart.equals(child.parentData, childParentData)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/stack.dart", 472, 12, "child.parentData == childParentData");
      let hasVisualOverflow = false;
      let childConstraints = C32 || CT.C32;
      if (childParentData.left != null && childParentData.right != null)
        childConstraints = childConstraints.tighten({width: dart.notNull(size.width) - dart.notNull(childParentData.right) - dart.notNull(childParentData.left)});
      else if (childParentData.width != null) childConstraints = childConstraints.tighten({width: childParentData.width});
      if (childParentData.top != null && childParentData.bottom != null)
        childConstraints = childConstraints.tighten({height: dart.notNull(size.height) - dart.notNull(childParentData.bottom) - dart.notNull(childParentData.top)});
      else if (childParentData.height != null) childConstraints = childConstraints.tighten({height: childParentData.height});
      child.layout(childConstraints, {parentUsesSize: true});
      let x = null;
      if (childParentData.left != null) {
        x = childParentData.left;
      } else if (childParentData.right != null) {
        x = dart.notNull(size.width) - dart.notNull(childParentData.right) - dart.notNull(child.size.width);
      } else {
        x = alignment.alongOffset(ui.Offset.as(size['-'](child.size))).dx;
      }
      if (dart.notNull(x) < 0.0 || dart.notNull(x) + dart.notNull(child.size.width) > dart.notNull(size.width)) hasVisualOverflow = true;
      let y = null;
      if (childParentData.top != null) {
        y = childParentData.top;
      } else if (childParentData.bottom != null) {
        y = dart.notNull(size.height) - dart.notNull(childParentData.bottom) - dart.notNull(child.size.height);
      } else {
        y = alignment.alongOffset(ui.Offset.as(size['-'](child.size))).dy;
      }
      if (dart.notNull(y) < 0.0 || dart.notNull(y) + dart.notNull(child.size.height) > dart.notNull(size.height)) hasVisualOverflow = true;
      childParentData.offset = new ui.Offset.new(x, y);
      return hasVisualOverflow;
    }
    performLayout() {
      this[_resolve$]();
      if (!(this[_resolvedAlignment$] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/stack.dart", 521, 12, "_resolvedAlignment != null");
      this[_hasVisualOverflow] = false;
      let hasNonPositionedChildren = false;
      if (this.childCount === 0) {
        this.size = this.constraints.biggest;
        if (!dart.test(this.size.isFinite)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/stack.dart", 526, 14, "size.isFinite");
        return;
      }
      let width = this.constraints.minWidth;
      let height = this.constraints.minHeight;
      let nonPositionedConstraints = null;
      if (!(this.fit != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/stack.dart", 534, 12, "fit != null");
      switch (this.fit) {
        case C44 || CT.C44:
        {
          nonPositionedConstraints = this.constraints.loosen();
          break;
        }
        case C45 || CT.C45:
        {
          nonPositionedConstraints = new box.BoxConstraints.tight(this.constraints.biggest);
          break;
        }
        case C46 || CT.C46:
        {
          nonPositionedConstraints = this.constraints;
          break;
        }
      }
      if (!(nonPositionedConstraints != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/stack.dart", 546, 12, "nonPositionedConstraints != null");
      let child = this.firstChild;
      while (child != null) {
        let childParentData = stack.StackParentData.as(child.parentData);
        if (!dart.test(childParentData.isPositioned)) {
          hasNonPositionedChildren = true;
          child.layout(nonPositionedConstraints, {parentUsesSize: true});
          let childSize = child.size;
          width = math.max(core.double, width, childSize.width);
          height = math.max(core.double, height, childSize.height);
        }
        child = childParentData.nextSibling;
      }
      if (hasNonPositionedChildren) {
        this.size = new ui.Size.new(width, height);
        if (!(this.size.width == this.constraints.constrainWidth(width))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/stack.dart", 567, 14, "size.width == constraints.constrainWidth(width)");
        if (!(this.size.height == this.constraints.constrainHeight(height))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/stack.dart", 568, 14, "size.height == constraints.constrainHeight(height)");
      } else {
        this.size = this.constraints.biggest;
      }
      if (!dart.test(this.size.isFinite)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/stack.dart", 573, 12, "size.isFinite");
      child = this.firstChild;
      while (child != null) {
        let childParentData = stack.StackParentData.as(child.parentData);
        if (!dart.test(childParentData.isPositioned)) {
          childParentData.offset = this[_resolvedAlignment$].alongOffset(ui.Offset.as(this.size['-'](child.size)));
        } else {
          this[_hasVisualOverflow] = dart.test(stack.RenderStack.layoutPositionedChild(child, childParentData, this.size, this[_resolvedAlignment$])) || dart.test(this[_hasVisualOverflow]);
        }
        if (!dart.equals(child.parentData, childParentData)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/stack.dart", 585, 14, "child.parentData == childParentData");
        child = childParentData.nextSibling;
      }
    }
    hitTestChildren(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      return this.defaultHitTestChildren(result, {position: position});
    }
    paintStack(context, offset) {
      this.defaultPaint(context, offset);
    }
    paint(context, offset) {
      if (dart.equals(this[_overflow], stack.Overflow.clip) && dart.test(this[_hasVisualOverflow])) {
        context.pushClipRect(this.needsCompositing, offset, ui.Offset.zero['&'](this.size), dart.bind(this, 'paintStack'));
      } else {
        this.paintStack(context, offset);
      }
    }
    describeApproximatePaintClip(child) {
      object$.RenderObject._check(child);
      return dart.test(this[_hasVisualOverflow]) ? ui.Offset.zero['&'](this.size) : null;
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfAlignmentGeometry()).new("alignment", this.alignment));
      properties.add(new (EnumPropertyOfTextDirection()).new("textDirection", this.textDirection));
      properties.add(new (EnumPropertyOfStackFit()).new("fit", this.fit));
      properties.add(new (EnumPropertyOfOverflow()).new("overflow", this.overflow));
    }
  };
  (stack.RenderStack.new = function(opts) {
    let children = opts && 'children' in opts ? opts.children : null;
    let alignment = opts && 'alignment' in opts ? opts.alignment : C51 || CT.C51;
    let textDirection = opts && 'textDirection' in opts ? opts.textDirection : null;
    let fit = opts && 'fit' in opts ? opts.fit : C44 || CT.C44;
    let overflow = opts && 'overflow' in opts ? opts.overflow : C49 || CT.C49;
    this[_hasVisualOverflow] = false;
    this[_resolvedAlignment$] = null;
    if (!(alignment != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/stack.dart", 330, 15, "alignment != null");
    if (!(fit != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/stack.dart", 331, 15, "fit != null");
    if (!(overflow != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/stack.dart", 332, 15, "overflow != null");
    this[_alignment$] = alignment;
    this[_textDirection$] = textDirection;
    this[_fit] = fit;
    this[_overflow] = overflow;
    stack.RenderStack.__proto__.new.call(this);
    this.addAll(children);
  }).prototype = stack.RenderStack.prototype;
  dart.addTypeTests(stack.RenderStack);
  dart.setMethodSignature(stack.RenderStack, () => ({
    __proto__: dart.getMethods(stack.RenderStack.__proto__),
    [_resolve$]: dart.fnType(dart.void, []),
    [_markNeedResolution$]: dart.fnType(dart.void, []),
    paintStack: dart.fnType(dart.void, [object$.PaintingContext, ui.Offset])
  }));
  dart.setGetterSignature(stack.RenderStack, () => ({
    __proto__: dart.getGetters(stack.RenderStack.__proto__),
    alignment: alignment.AlignmentGeometry,
    textDirection: ui.TextDirection,
    fit: stack.StackFit,
    overflow: stack.Overflow
  }));
  dart.setSetterSignature(stack.RenderStack, () => ({
    __proto__: dart.getSetters(stack.RenderStack.__proto__),
    alignment: alignment.AlignmentGeometry,
    textDirection: ui.TextDirection,
    fit: stack.StackFit,
    overflow: stack.Overflow
  }));
  dart.setLibraryUri(stack.RenderStack, "package:flutter/src/rendering/stack.dart");
  dart.setFieldSignature(stack.RenderStack, () => ({
    __proto__: dart.getFields(stack.RenderStack.__proto__),
    [_hasVisualOverflow]: dart.fieldType(core.bool),
    [_resolvedAlignment$]: dart.fieldType(alignment.Alignment),
    [_alignment$]: dart.fieldType(alignment.AlignmentGeometry),
    [_textDirection$]: dart.fieldType(ui.TextDirection),
    [_fit]: dart.fieldType(stack.StackFit),
    [_overflow]: dart.fieldType(stack.Overflow)
  }));
  const _index = dart.privateName(stack, "_index");
  const _childAtIndex = dart.privateName(stack, "_childAtIndex");
  stack.RenderIndexedStack = class RenderIndexedStack extends stack.RenderStack {
    visitChildrenForSemantics(visitor) {
      if (this.index != null && this.firstChild != null) visitor(this[_childAtIndex]());
    }
    get index() {
      return this[_index];
    }
    set index(value) {
      if (this[_index] != value) {
        this[_index] = value;
        this.markNeedsLayout();
      }
    }
    [_childAtIndex]() {
      if (!(this.index != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/stack.dart", 664, 12, "index != null");
      let child = this.firstChild;
      let i = 0;
      while (child != null && i < dart.notNull(this.index)) {
        let childParentData = stack.StackParentData.as(child.parentData);
        child = childParentData.nextSibling;
        i = i + 1;
      }
      if (!(i === this.index)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/stack.dart", 672, 12, "i == index");
      if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/stack.dart", 673, 12, "child != null");
      return child;
    }
    hitTestChildren(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      if (this.firstChild == null || this.index == null) return false;
      if (!(position != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/stack.dart", 681, 12, "position != null");
      let child = this[_childAtIndex]();
      let childParentData = stack.StackParentData.as(child.parentData);
      return result.addWithPaintOffset({offset: childParentData.offset, position: position, hitTest: dart.fn((result, transformed) => {
          if (!dart.equals(transformed, position['-'](childParentData.offset))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/stack.dart", 688, 16, "transformed == position - childParentData.offset");
          return child.hitTest(result, {position: transformed});
        }, BoxHitTestResultAndOffsetTobool())});
    }
    paintStack(context, offset) {
      if (this.firstChild == null || this.index == null) return;
      let child = this[_childAtIndex]();
      let childParentData = stack.StackParentData.as(child.parentData);
      context.paintChild(child, childParentData.offset['+'](offset));
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new diagnostics.IntProperty.new("index", this.index));
    }
  };
  (stack.RenderIndexedStack.new = function(opts) {
    let children = opts && 'children' in opts ? opts.children : null;
    let alignment = opts && 'alignment' in opts ? opts.alignment : C51 || CT.C51;
    let textDirection = opts && 'textDirection' in opts ? opts.textDirection : null;
    let index = opts && 'index' in opts ? opts.index : 0;
    this[_index] = index;
    stack.RenderIndexedStack.__proto__.new.call(this, {children: children, alignment: alignment, textDirection: textDirection});
    ;
  }).prototype = stack.RenderIndexedStack.prototype;
  dart.addTypeTests(stack.RenderIndexedStack);
  dart.setMethodSignature(stack.RenderIndexedStack, () => ({
    __proto__: dart.getMethods(stack.RenderIndexedStack.__proto__),
    [_childAtIndex]: dart.fnType(box.RenderBox, [])
  }));
  dart.setGetterSignature(stack.RenderIndexedStack, () => ({
    __proto__: dart.getGetters(stack.RenderIndexedStack.__proto__),
    index: core.int
  }));
  dart.setSetterSignature(stack.RenderIndexedStack, () => ({
    __proto__: dart.getSetters(stack.RenderIndexedStack.__proto__),
    index: core.int
  }));
  dart.setLibraryUri(stack.RenderIndexedStack, "package:flutter/src/rendering/stack.dart");
  dart.setFieldSignature(stack.RenderIndexedStack, () => ({
    __proto__: dart.getFields(stack.RenderIndexedStack.__proto__),
    [_index]: dart.fieldType(core.int)
  }));
  const _name$4 = dart.privateName(debug_overflow_indicator, "_name");
  let C52;
  let C53;
  let C54;
  let C55;
  let C56;
  debug_overflow_indicator._OverflowSide = class _OverflowSide extends core.Object {
    toString() {
      return this[_name$4];
    }
  };
  (debug_overflow_indicator._OverflowSide.new = function(index, _name) {
    this.index = index;
    this[_name$4] = _name;
    ;
  }).prototype = debug_overflow_indicator._OverflowSide.prototype;
  dart.addTypeTests(debug_overflow_indicator._OverflowSide);
  dart.setLibraryUri(debug_overflow_indicator._OverflowSide, "package:flutter/src/rendering/debug_overflow_indicator.dart");
  dart.setFieldSignature(debug_overflow_indicator._OverflowSide, () => ({
    __proto__: dart.getFields(debug_overflow_indicator._OverflowSide.__proto__),
    index: dart.finalFieldType(core.int),
    [_name$4]: dart.finalFieldType(core.String)
  }));
  dart.defineExtensionMethods(debug_overflow_indicator._OverflowSide, ['toString']);
  debug_overflow_indicator._OverflowSide.left = C52 || CT.C52;
  debug_overflow_indicator._OverflowSide.top = C53 || CT.C53;
  debug_overflow_indicator._OverflowSide.bottom = C54 || CT.C54;
  debug_overflow_indicator._OverflowSide.right = C55 || CT.C55;
  debug_overflow_indicator._OverflowSide.values = C56 || CT.C56;
  const rect$1 = dart.privateName(debug_overflow_indicator, "_OverflowRegionData.rect");
  const label$ = dart.privateName(debug_overflow_indicator, "_OverflowRegionData.label");
  const labelOffset$ = dart.privateName(debug_overflow_indicator, "_OverflowRegionData.labelOffset");
  const rotation$ = dart.privateName(debug_overflow_indicator, "_OverflowRegionData.rotation");
  const side$ = dart.privateName(debug_overflow_indicator, "_OverflowRegionData.side");
  debug_overflow_indicator._OverflowRegionData = class _OverflowRegionData extends core.Object {
    get rect() {
      return this[rect$1];
    }
    set rect(value) {
      super.rect = value;
    }
    get label() {
      return this[label$];
    }
    set label(value) {
      super.label = value;
    }
    get labelOffset() {
      return this[labelOffset$];
    }
    set labelOffset(value) {
      super.labelOffset = value;
    }
    get rotation() {
      return this[rotation$];
    }
    set rotation(value) {
      super.rotation = value;
    }
    get side() {
      return this[side$];
    }
    set side(value) {
      super.side = value;
    }
  };
  (debug_overflow_indicator._OverflowRegionData.new = function(opts) {
    let rect = opts && 'rect' in opts ? opts.rect : null;
    let label = opts && 'label' in opts ? opts.label : "";
    let labelOffset = opts && 'labelOffset' in opts ? opts.labelOffset : C7 || CT.C7;
    let rotation = opts && 'rotation' in opts ? opts.rotation : 0;
    let side = opts && 'side' in opts ? opts.side : null;
    this[rect$1] = rect;
    this[label$] = label;
    this[labelOffset$] = labelOffset;
    this[rotation$] = rotation;
    this[side$] = side;
    ;
  }).prototype = debug_overflow_indicator._OverflowRegionData.prototype;
  dart.addTypeTests(debug_overflow_indicator._OverflowRegionData);
  dart.setLibraryUri(debug_overflow_indicator._OverflowRegionData, "package:flutter/src/rendering/debug_overflow_indicator.dart");
  dart.setFieldSignature(debug_overflow_indicator._OverflowRegionData, () => ({
    __proto__: dart.getFields(debug_overflow_indicator._OverflowRegionData.__proto__),
    rect: dart.finalFieldType(ui.Rect),
    label: dart.finalFieldType(core.String),
    labelOffset: dart.finalFieldType(ui.Offset),
    rotation: dart.finalFieldType(core.double),
    side: dart.finalFieldType(debug_overflow_indicator._OverflowSide)
  }));
  const _name$5 = dart.privateName(paragraph, "_name");
  let C57;
  let C58;
  let C59;
  let C60;
  let C61;
  paragraph.TextOverflow = class TextOverflow extends core.Object {
    toString() {
      return this[_name$5];
    }
  };
  (paragraph.TextOverflow.new = function(index, _name) {
    this.index = index;
    this[_name$5] = _name;
    ;
  }).prototype = paragraph.TextOverflow.prototype;
  dart.addTypeTests(paragraph.TextOverflow);
  dart.setLibraryUri(paragraph.TextOverflow, "package:flutter/src/rendering/paragraph.dart");
  dart.setFieldSignature(paragraph.TextOverflow, () => ({
    __proto__: dart.getFields(paragraph.TextOverflow.__proto__),
    index: dart.finalFieldType(core.int),
    [_name$5]: dart.finalFieldType(core.String)
  }));
  dart.defineExtensionMethods(paragraph.TextOverflow, ['toString']);
  paragraph.TextOverflow.clip = C57 || CT.C57;
  paragraph.TextOverflow.fade = C58 || CT.C58;
  paragraph.TextOverflow.ellipsis = C59 || CT.C59;
  paragraph.TextOverflow.visible = C60 || CT.C60;
  paragraph.TextOverflow.values = C61 || CT.C61;
  const scale = dart.privateName(paragraph, "TextParentData.scale");
  paragraph.TextParentData = class TextParentData extends box.ContainerBoxParentData$(box.RenderBox) {
    get scale() {
      return this[scale];
    }
    set scale(value) {
      this[scale] = value;
    }
    toString() {
      let values = (() => {
        let t13 = JSArrayOfString().of([]);
        if (this.offset != null) t13[$add]("offset=" + dart.str(this.offset));
        if (this.scale != null) t13[$add]("scale=" + dart.str(this.scale));
        t13[$add](super.toString());
        return t13;
      })();
      return values[$join]("; ");
    }
  };
  (paragraph.TextParentData.new = function() {
    this[scale] = null;
    paragraph.TextParentData.__proto__.new.call(this);
    ;
  }).prototype = paragraph.TextParentData.prototype;
  dart.addTypeTests(paragraph.TextParentData);
  dart.setLibraryUri(paragraph.TextParentData, "package:flutter/src/rendering/paragraph.dart");
  dart.setFieldSignature(paragraph.TextParentData, () => ({
    __proto__: dart.getFields(paragraph.TextParentData.__proto__),
    scale: dart.fieldType(core.double)
  }));
  dart.defineExtensionMethods(paragraph.TextParentData, ['toString']);
  let C62;
  const _name$6 = dart.privateName(text_painter, "_name");
  let C63;
  const _placeholderSpans = dart.privateName(paragraph, "_placeholderSpans");
  const _needsClipping = dart.privateName(paragraph, "_needsClipping");
  const _overflowShader = dart.privateName(paragraph, "_overflowShader");
  const _placeholderDimensions = dart.privateName(paragraph, "_placeholderDimensions");
  const _semanticsInfo = dart.privateName(paragraph, "_semanticsInfo");
  const _softWrap = dart.privateName(paragraph, "_softWrap");
  const _overflow$ = dart.privateName(paragraph, "_overflow");
  const _textPainter = dart.privateName(paragraph, "_textPainter");
  const _extractPlaceholderSpans = dart.privateName(paragraph, "_extractPlaceholderSpans");
  let C64;
  let C65;
  let C66;
  let C67;
  const _canComputeIntrinsics = dart.privateName(paragraph, "_canComputeIntrinsics");
  const _computeChildrenWidthWithMinIntrinsics = dart.privateName(paragraph, "_computeChildrenWidthWithMinIntrinsics");
  const _layoutText = dart.privateName(paragraph, "_layoutText");
  const _computeChildrenWidthWithMaxIntrinsics = dart.privateName(paragraph, "_computeChildrenWidthWithMaxIntrinsics");
  const _computeChildrenHeightWithMinIntrinsics = dart.privateName(paragraph, "_computeChildrenHeightWithMinIntrinsics");
  const _computeIntrinsicHeight = dart.privateName(paragraph, "_computeIntrinsicHeight");
  const _layoutTextWithConstraints = dart.privateName(paragraph, "_layoutTextWithConstraints");
  let C68;
  let C69;
  let C70;
  let C71;
  let C72;
  let C73;
  const _layoutChildren = dart.privateName(paragraph, "_layoutChildren");
  const _setParentData = dart.privateName(paragraph, "_setParentData");
  let C74;
  let C75;
  let C76;
  const _combineSemanticsInfo = dart.privateName(paragraph, "_combineSemanticsInfo");
  const RenderBox_ContainerRenderObjectMixin$36$ = class RenderBox_ContainerRenderObjectMixin extends box.RenderBox {};
  (RenderBox_ContainerRenderObjectMixin$36$.new = function() {
    object$.ContainerRenderObjectMixin$(box.RenderBox, paragraph.TextParentData)[dart.mixinNew].call(this);
    RenderBox_ContainerRenderObjectMixin$36$.__proto__.new.call(this);
  }).prototype = RenderBox_ContainerRenderObjectMixin$36$.prototype;
  dart.applyMixin(RenderBox_ContainerRenderObjectMixin$36$, object$.ContainerRenderObjectMixin$(box.RenderBox, paragraph.TextParentData));
  const RenderBox_RenderBoxContainerDefaultsMixin$36$ = class RenderBox_RenderBoxContainerDefaultsMixin extends RenderBox_ContainerRenderObjectMixin$36$ {};
  (RenderBox_RenderBoxContainerDefaultsMixin$36$.new = function() {
    RenderBox_RenderBoxContainerDefaultsMixin$36$.__proto__.new.call(this);
  }).prototype = RenderBox_RenderBoxContainerDefaultsMixin$36$.prototype;
  dart.applyMixin(RenderBox_RenderBoxContainerDefaultsMixin$36$, box.RenderBoxContainerDefaultsMixin$(box.RenderBox, paragraph.TextParentData));
  const RenderBox_RelayoutWhenSystemFontsChangeMixin$36 = class RenderBox_RelayoutWhenSystemFontsChangeMixin extends RenderBox_RenderBoxContainerDefaultsMixin$36$ {};
  (RenderBox_RelayoutWhenSystemFontsChangeMixin$36.new = function() {
    RenderBox_RelayoutWhenSystemFontsChangeMixin$36.__proto__.new.call(this);
  }).prototype = RenderBox_RelayoutWhenSystemFontsChangeMixin$36.prototype;
  dart.applyMixin(RenderBox_RelayoutWhenSystemFontsChangeMixin$36, object$.RelayoutWhenSystemFontsChangeMixin);
  paragraph.RenderParagraph = class RenderParagraph extends RenderBox_RelayoutWhenSystemFontsChangeMixin$36 {
    setupParentData(child) {
      box.RenderBox._check(child);
      if (!paragraph.TextParentData.is(child.parentData)) child.parentData = new paragraph.TextParentData.new();
    }
    get text() {
      return this[_textPainter].text;
    }
    set text(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 116, 12, "value != null");
      switch (this[_textPainter].text.compareTo(value)) {
        case C64 || CT.C64:
        case C65 || CT.C65:
        {
          return;
        }
        case C66 || CT.C66:
        {
          this[_textPainter].text = value;
          this[_extractPlaceholderSpans](value);
          this.markNeedsPaint();
          this.markNeedsSemanticsUpdate();
          break;
        }
        case C67 || CT.C67:
        {
          this[_textPainter].text = value;
          this[_overflowShader] = null;
          this[_extractPlaceholderSpans](value);
          this.markNeedsLayout();
          break;
        }
      }
    }
    [_extractPlaceholderSpans](span) {
      this[_placeholderSpans] = JSArrayOfPlaceholderSpan().of([]);
      span.visitChildren(dart.fn(span => {
        if (placeholder_span.PlaceholderSpan.is(span)) {
          let placeholderSpan = span;
          this[_placeholderSpans][$add](placeholderSpan);
        }
        return true;
      }, InlineSpanTobool()));
    }
    get textAlign() {
      return this[_textPainter].textAlign;
    }
    set textAlign(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 151, 12, "value != null");
      if (dart.equals(this[_textPainter].textAlign, value)) return;
      this[_textPainter].textAlign = value;
      this.markNeedsPaint();
    }
    get textDirection() {
      return this[_textPainter].textDirection;
    }
    set textDirection(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 173, 12, "value != null");
      if (dart.equals(this[_textPainter].textDirection, value)) return;
      this[_textPainter].textDirection = value;
      this.markNeedsLayout();
    }
    get softWrap() {
      return this[_softWrap];
    }
    set softWrap(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 190, 12, "value != null");
      if (dart.equals(this[_softWrap], value)) return;
      this[_softWrap] = value;
      this.markNeedsLayout();
    }
    get overflow() {
      return this[_overflow$];
    }
    set overflow(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 201, 12, "value != null");
      if (dart.equals(this[_overflow$], value)) return;
      this[_overflow$] = value;
      this[_textPainter].ellipsis = dart.equals(value, paragraph.TextOverflow.ellipsis) ? "…" : null;
      this.markNeedsLayout();
    }
    get textScaleFactor() {
      return this[_textPainter].textScaleFactor;
    }
    set textScaleFactor(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 215, 12, "value != null");
      if (this[_textPainter].textScaleFactor == value) return;
      this[_textPainter].textScaleFactor = value;
      this[_overflowShader] = null;
      this.markNeedsLayout();
    }
    get maxLines() {
      return this[_textPainter].maxLines;
    }
    set maxLines(value) {
      if (!(value == null || dart.notNull(value) > 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 230, 12, "value == null || value > 0");
      if (this[_textPainter].maxLines == value) return;
      this[_textPainter].maxLines = value;
      this[_overflowShader] = null;
      this.markNeedsLayout();
    }
    get locale() {
      return this[_textPainter].locale;
    }
    set locale(value) {
      if (dart.equals(this[_textPainter].locale, value)) return;
      this[_textPainter].locale = value;
      this[_overflowShader] = null;
      this.markNeedsLayout();
    }
    get strutStyle() {
      return this[_textPainter].strutStyle;
    }
    set strutStyle(value) {
      if (dart.equals(this[_textPainter].strutStyle, value)) return;
      this[_textPainter].strutStyle = value;
      this[_overflowShader] = null;
      this.markNeedsLayout();
    }
    get textWidthBasis() {
      return this[_textPainter].textWidthBasis;
    }
    set textWidthBasis(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 270, 12, "value != null");
      if (dart.equals(this[_textPainter].textWidthBasis, value)) return;
      this[_textPainter].textWidthBasis = value;
      this[_overflowShader] = null;
      this.markNeedsLayout();
    }
    computeMinIntrinsicWidth(height) {
      if (!dart.test(this[_canComputeIntrinsics]())) {
        return 0.0;
      }
      this[_computeChildrenWidthWithMinIntrinsics](height);
      this[_layoutText]();
      return this[_textPainter].minIntrinsicWidth;
    }
    computeMaxIntrinsicWidth(height) {
      if (!dart.test(this[_canComputeIntrinsics]())) {
        return 0.0;
      }
      this[_computeChildrenWidthWithMaxIntrinsics](height);
      this[_layoutText]();
      return this[_textPainter].maxIntrinsicWidth;
    }
    [_computeIntrinsicHeight](width) {
      if (!dart.test(this[_canComputeIntrinsics]())) {
        return 0.0;
      }
      this[_computeChildrenHeightWithMinIntrinsics](width);
      this[_layoutText]({minWidth: width, maxWidth: width});
      return this[_textPainter].height;
    }
    computeMinIntrinsicHeight(width) {
      return this[_computeIntrinsicHeight](width);
    }
    computeMaxIntrinsicHeight(width) {
      return this[_computeIntrinsicHeight](width);
    }
    computeDistanceToActualBaseline(baseline) {
      if (!!dart.test(this.debugNeedsLayout)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 319, 12, "!debugNeedsLayout");
      if (!(this.constraints != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 320, 12, "constraints != null");
      if (!dart.test(this.constraints.debugAssertIsValid())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 321, 12, "constraints.debugAssertIsValid()");
      this[_layoutTextWithConstraints](this.constraints);
      return this[_textPainter].computeDistanceToActualBaseline(ui.TextBaseline.alphabetic);
    }
    [_canComputeIntrinsics]() {
      for (let span of this[_placeholderSpans]) {
        switch (span.alignment) {
          case C68 || CT.C68:
          case C69 || CT.C69:
          case C70 || CT.C70:
          {
            {
              if (!dart.test(object$.RenderObject.debugCheckingIntrinsics)) dart.assertFailed("Intrinsics are not available for PlaceholderAlignment.baseline, " + "PlaceholderAlignment.aboveBaseline, or PlaceholderAlignment.belowBaseline,", "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 341, 18, "RenderObject.debugCheckingIntrinsics");
              return false;
            }
          }
          case C71 || CT.C71:
          case C72 || CT.C72:
          case C73 || CT.C73:
          {
            {
              continue;
            }
          }
        }
      }
      return true;
    }
    [_computeChildrenWidthWithMaxIntrinsics](height) {
      let child = this.firstChild;
      let placeholderDimensions = ListOfPlaceholderDimensions().new(this.childCount);
      let childIndex = 0;
      while (child != null) {
        placeholderDimensions[$_set](childIndex, new text_painter.PlaceholderDimensions.new({size: new ui.Size.new(child.getMaxIntrinsicWidth(height), height), alignment: this[_placeholderSpans][$_get](childIndex).alignment, baseline: this[_placeholderSpans][$_get](childIndex).baseline}));
        child = this.childAfter(child);
        childIndex = childIndex + 1;
      }
      this[_textPainter].setPlaceholderDimensions(placeholderDimensions);
    }
    [_computeChildrenWidthWithMinIntrinsics](height) {
      let child = this.firstChild;
      let placeholderDimensions = ListOfPlaceholderDimensions().new(this.childCount);
      let childIndex = 0;
      while (child != null) {
        let intrinsicWidth = child.getMinIntrinsicWidth(height);
        let intrinsicHeight = child.getMinIntrinsicHeight(intrinsicWidth);
        placeholderDimensions[$_set](childIndex, new text_painter.PlaceholderDimensions.new({size: new ui.Size.new(intrinsicWidth, intrinsicHeight), alignment: this[_placeholderSpans][$_get](childIndex).alignment, baseline: this[_placeholderSpans][$_get](childIndex).baseline}));
        child = this.childAfter(child);
        childIndex = childIndex + 1;
      }
      this[_textPainter].setPlaceholderDimensions(placeholderDimensions);
    }
    [_computeChildrenHeightWithMinIntrinsics](width) {
      let child = this.firstChild;
      let placeholderDimensions = ListOfPlaceholderDimensions().new(this.childCount);
      let childIndex = 0;
      while (child != null) {
        let intrinsicHeight = child.getMinIntrinsicHeight(width);
        let intrinsicWidth = child.getMinIntrinsicWidth(intrinsicHeight);
        placeholderDimensions[$_set](childIndex, new text_painter.PlaceholderDimensions.new({size: new ui.Size.new(intrinsicWidth, intrinsicHeight), alignment: this[_placeholderSpans][$_get](childIndex).alignment, baseline: this[_placeholderSpans][$_get](childIndex).baseline}));
        child = this.childAfter(child);
        childIndex = childIndex + 1;
      }
      this[_textPainter].setPlaceholderDimensions(placeholderDimensions);
    }
    hitTestSelf(position) {
      return true;
    }
    hitTestChildren(result, opts) {
      let t14;
      let position = opts && 'position' in opts ? opts.position : null;
      let child = this.firstChild;
      while (child != null) {
        let textParentData = paragraph.TextParentData.as(child.parentData);
        let transform = (t14 = vector_math_64.Matrix4.translationValues(textParentData.offset.dx, textParentData.offset.dy, 0.0), t14.scale(textParentData.scale, textParentData.scale, textParentData.scale), t14);
        let isHit = result.addWithPaintTransform({transform: transform, position: position, hitTest: dart.fn((result, transformed) => {
            if (!dart.test(dart.fn(() => {
              let manualPosition = position['-'](textParentData.offset)['/'](textParentData.scale);
              return (dart.notNull(transformed.dx) - dart.notNull(manualPosition.dx))[$abs]() < 1e-10 && (dart.notNull(transformed.dy) - dart.notNull(manualPosition.dy))[$abs]() < 1e-10;
            }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 431, 18, "() {\r\n            final Offset manualPosition = (position - textParentData.offset) / textParentData.scale;\r\n            return (transformed.dx - manualPosition.dx).abs() < precisionErrorTolerance\r\n              && (transformed.dy - manualPosition.dy).abs() < precisionErrorTolerance;\r\n          }()");
            return child.hitTest(result, {position: transformed});
          }, BoxHitTestResultAndOffsetTobool())});
        if (dart.test(isHit)) {
          return true;
        }
        child = this.childAfter(child);
      }
      return false;
    }
    handleEvent(event, entry) {
      let t14;
      box.BoxHitTestEntry._check(entry);
      if (!dart.test(this.debugHandleEvent(event, entry))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 449, 12, "debugHandleEvent(event, entry)");
      if (!events.PointerDownEvent.is(event)) return;
      this[_layoutTextWithConstraints](this.constraints);
      let offset = entry.localPosition;
      let position = this[_textPainter].getPositionForOffset(offset);
      let span = this[_textPainter].text.getSpanForPosition(position);
      if (span == null) {
        return;
      }
      if (text_span.TextSpan.is(span)) {
        let textSpan = span;
        t14 = textSpan.recognizer;
        t14 == null ? null : t14.addPointer(events.PointerDownEvent.as(event));
      }
    }
    get debugHasOverflowShader() {
      return this[_overflowShader] != null;
    }
    [_layoutText](opts) {
      let minWidth = opts && 'minWidth' in opts ? opts.minWidth : 0;
      let maxWidth = opts && 'maxWidth' in opts ? opts.maxWidth : 1 / 0;
      let widthMatters = dart.test(this.softWrap) || dart.equals(this.overflow, paragraph.TextOverflow.ellipsis);
      this[_textPainter].layout({minWidth: minWidth, maxWidth: widthMatters ? maxWidth : 1 / 0});
    }
    systemFontsDidChange() {
      super.systemFontsDidChange();
      this[_textPainter].markNeedsLayout();
    }
    [_layoutTextWithConstraints](constraints) {
      this[_textPainter].setPlaceholderDimensions(this[_placeholderDimensions]);
      this[_layoutText]({minWidth: constraints.minWidth, maxWidth: constraints.maxWidth});
    }
    [_layoutChildren](constraints) {
      if (this.childCount === 0) {
        return;
      }
      let child = this.firstChild;
      this[_placeholderDimensions] = ListOfPlaceholderDimensions().new(this.childCount);
      let childIndex = 0;
      while (child != null) {
        child.layout(new box.BoxConstraints.new({maxWidth: constraints.maxWidth}), {parentUsesSize: true});
        let baselineOffset = null;
        switch (this[_placeholderSpans][$_get](childIndex).alignment) {
          case C68 || CT.C68:
          {
            {
              baselineOffset = child.getDistanceToBaseline(this[_placeholderSpans][$_get](childIndex).baseline);
              break;
            }
          }
          default:
          {
            {
              baselineOffset = null;
              break;
            }
          }
        }
        this[_placeholderDimensions][$_set](childIndex, new text_painter.PlaceholderDimensions.new({size: child.size, alignment: this[_placeholderSpans][$_get](childIndex).alignment, baseline: this[_placeholderSpans][$_get](childIndex).baseline, baselineOffset: baselineOffset}));
        child = this.childAfter(child);
        childIndex = childIndex + 1;
      }
    }
    [_setParentData]() {
      let child = this.firstChild;
      let childIndex = 0;
      while (child != null && childIndex < dart.notNull(this[_textPainter].inlinePlaceholderBoxes[$length])) {
        let textParentData = paragraph.TextParentData.as(child.parentData);
        textParentData.offset = new ui.Offset.new(this[_textPainter].inlinePlaceholderBoxes[$_get](childIndex).left, this[_textPainter].inlinePlaceholderBoxes[$_get](childIndex).top);
        textParentData.scale = this[_textPainter].inlinePlaceholderScales[$_get](childIndex);
        child = this.childAfter(child);
        childIndex = childIndex + 1;
      }
    }
    performLayout() {
      let t14;
      this[_layoutChildren](this.constraints);
      this[_layoutTextWithConstraints](this.constraints);
      this[_setParentData]();
      let textSize = this[_textPainter].size;
      let textDidExceedMaxLines = this[_textPainter].didExceedMaxLines;
      this.size = this.constraints.constrain(textSize);
      let didOverflowHeight = dart.notNull(this.size.height) < dart.notNull(textSize.height) || dart.test(textDidExceedMaxLines);
      let didOverflowWidth = dart.notNull(this.size.width) < dart.notNull(textSize.width);
      let hasVisualOverflow = didOverflowWidth || didOverflowHeight;
      if (hasVisualOverflow) {
        switch (this[_overflow$]) {
          case C60 || CT.C60:
          {
            this[_needsClipping] = false;
            this[_overflowShader] = null;
            break;
          }
          case C57 || CT.C57:
          case C59 || CT.C59:
          {
            this[_needsClipping] = true;
            this[_overflowShader] = null;
            break;
          }
          case C58 || CT.C58:
          {
            if (!(this.textDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 599, 18, "textDirection != null");
            this[_needsClipping] = true;
            let fadeSizePainter = (t14 = new text_painter.TextPainter.new({text: new text_span.TextSpan.new({style: this[_textPainter].text.style, text: "…"}), textDirection: this.textDirection, textScaleFactor: this.textScaleFactor, locale: this.locale}), t14.layout(), t14);
            if (didOverflowWidth) {
              let fadeEnd = null;
              let fadeStart = null;
              switch (this.textDirection) {
                case C74 || CT.C74:
                {
                  fadeEnd = 0.0;
                  fadeStart = fadeSizePainter.width;
                  break;
                }
                case C75 || CT.C75:
                {
                  fadeEnd = this.size.width;
                  fadeStart = dart.notNull(fadeEnd) - dart.notNull(fadeSizePainter.width);
                  break;
                }
              }
              this[_overflowShader] = ui.Gradient.linear(new ui.Offset.new(fadeStart, 0.0), new ui.Offset.new(fadeEnd, 0.0), JSArrayOfColor().of([C42 || CT.C42, C76 || CT.C76]));
            } else {
              let fadeEnd = this.size.height;
              let fadeStart = dart.notNull(fadeEnd) - dart.notNull(fadeSizePainter.height) / 2.0;
              this[_overflowShader] = ui.Gradient.linear(new ui.Offset.new(0.0, fadeStart), new ui.Offset.new(0.0, fadeEnd), JSArrayOfColor().of([C42 || CT.C42, C76 || CT.C76]));
            }
            break;
          }
        }
      } else {
        this[_needsClipping] = false;
        this[_overflowShader] = null;
      }
    }
    paint(context, offset) {
      let t14;
      this[_layoutTextWithConstraints](this.constraints);
      if (!dart.test(dart.fn(() => {
        let t14;
        if (dart.test(debug$0.debugRepaintTextRainbowEnabled)) {
          let paint = (t14 = ui.Paint.new(), t14.color = debug$0.debugCurrentRepaintColor.toColor(), t14);
          context.canvas.drawRect(offset['&'](this.size), paint);
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 655, 12, "() {\r\n      if (debugRepaintTextRainbowEnabled) {\r\n        final Paint paint = Paint()\r\n          ..color = debugCurrentRepaintColor.toColor();\r\n        context.canvas.drawRect(offset & size, paint);\r\n      }\r\n      return true;\r\n    }()");
      if (dart.test(this[_needsClipping])) {
        let bounds = offset['&'](this.size);
        if (this[_overflowShader] != null) {
          context.canvas.saveLayer(bounds, ui.Paint.new());
        } else {
          context.canvas.save();
        }
        context.canvas.clipRect(bounds);
      }
      this[_textPainter].paint(context.canvas, offset);
      let child = this.firstChild;
      let childIndex = 0;
      while (child != null && childIndex < dart.notNull(this[_textPainter].inlinePlaceholderBoxes[$length])) {
        let textParentData = paragraph.TextParentData.as(child.parentData);
        let scale = textParentData.scale;
        context.pushTransform(this.needsCompositing, offset['+'](textParentData.offset), vector_math_64.Matrix4.diagonal3Values(scale, scale, scale), dart.fn((context, offset) => {
          context.paintChild(child, offset);
        }, PaintingContextAndOffsetToNull()));
        child = this.childAfter(child);
        childIndex = childIndex + 1;
      }
      if (dart.test(this[_needsClipping])) {
        if (this[_overflowShader] != null) {
          context.canvas.translate(offset.dx, offset.dy);
          let paint = (t14 = ui.Paint.new(), t14.blendMode = ui.BlendMode.modulate, t14.shader = this[_overflowShader], t14);
          context.canvas.drawRect(ui.Offset.zero['&'](this.size), paint);
        }
        context.canvas.restore();
      }
    }
    getOffsetForCaret(position, caretPrototype) {
      if (!!dart.test(this.debugNeedsLayout)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 717, 12, "!debugNeedsLayout");
      this[_layoutTextWithConstraints](this.constraints);
      return this[_textPainter].getOffsetForCaret(position, caretPrototype);
    }
    getBoxesForSelection(selection) {
      if (!!dart.test(this.debugNeedsLayout)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 730, 12, "!debugNeedsLayout");
      this[_layoutTextWithConstraints](this.constraints);
      return this[_textPainter].getBoxesForSelection(selection);
    }
    getPositionForOffset(offset) {
      if (!!dart.test(this.debugNeedsLayout)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 739, 12, "!debugNeedsLayout");
      this[_layoutTextWithConstraints](this.constraints);
      return this[_textPainter].getPositionForOffset(offset);
    }
    getWordBoundary(position) {
      if (!!dart.test(this.debugNeedsLayout)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 754, 12, "!debugNeedsLayout");
      this[_layoutTextWithConstraints](this.constraints);
      return this[_textPainter].getWordBoundary(position);
    }
    get textSize() {
      if (!!dart.test(this.debugNeedsLayout)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 769, 12, "!debugNeedsLayout");
      return this[_textPainter].size;
    }
    [_combineSemanticsInfo]() {
      let t14;
      if (!(this[_semanticsInfo] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 780, 12, "_semanticsInfo != null");
      let combined = JSArrayOfInlineSpanSemanticsInformation().of([]);
      let workingText = "";
      let workingLabel = null;
      for (let info of this[_semanticsInfo]) {
        if (dart.test(info.requiresOwnNode)) {
          if (workingText !== null) {
            combined[$add](new inline_span.InlineSpanSemanticsInformation.new(workingText, {semanticsLabel: (t14 = workingLabel, t14 == null ? workingText : t14)}));
            workingText = "";
            workingLabel = null;
          }
          combined[$add](info);
        } else {
          workingText = workingText + dart.notNull(info.text);
          workingLabel == null ? workingLabel = "" : null;
          if (info.semanticsLabel != null) {
            workingLabel = dart.notNull(workingLabel) + dart.notNull(info.semanticsLabel);
          } else {
            workingLabel = dart.notNull(workingLabel) + dart.notNull(info.text);
          }
        }
      }
      if (workingText !== null) {
        combined[$add](new inline_span.InlineSpanSemanticsInformation.new(workingText, {semanticsLabel: workingLabel}));
      } else {
        if (!(workingLabel != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 811, 14, "workingLabel != null");
      }
      return combined;
    }
    describeSemanticsConfiguration(config) {
      let t14;
      super.describeSemanticsConfiguration(config);
      this[_semanticsInfo] = this.text.getSemanticsInformation();
      if (dart.test(this[_semanticsInfo][$any](dart.fn(info => info.recognizer != null, InlineSpanSemanticsInformationTobool())))) {
        config.explicitChildNodes = true;
        config.isSemanticBoundary = true;
      } else {
        let buffer = new core.StringBuffer.new();
        for (let info of this[_semanticsInfo]) {
          buffer.write((t14 = info.semanticsLabel, t14 == null ? info.text : t14));
        }
        config.label = buffer.toString();
        config.textDirection = this.textDirection;
      }
    }
    assembleSemanticsNode(node, config, children) {
      let t14, t15, t15$, t14$, t14$0;
      if (!(this[_semanticsInfo] != null && dart.test(this[_semanticsInfo][$isNotEmpty]))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 836, 12, "_semanticsInfo != null && _semanticsInfo.isNotEmpty");
      let newChildren = JSArrayOfSemanticsNode().of([]);
      let currentDirection = this.textDirection;
      let currentRect = null;
      let ordinal = 0.0;
      let start = 0;
      let placeholderIndex = 0;
      let child = this.firstChild;
      for (let info of this[_combineSemanticsInfo]()) {
        let initialDirection = currentDirection;
        let selection = new text_editing.TextSelection.new({baseOffset: start, extentOffset: start + info.text.length});
        let rects = this.getBoxesForSelection(selection);
        if (dart.test(rects[$isEmpty])) {
          continue;
        }
        let rect = rects[$first].toRect();
        currentDirection = rects[$first].direction;
        for (let textBox of rects[$skip](1)) {
          rect = rect.expandToInclude(textBox.toRect());
          currentDirection = textBox.direction;
        }
        rect = new ui.Rect.fromLTWH(math.max(core.double, 0.0, rect.left), math.max(core.double, 0.0, rect.top), math.min(core.double, rect.width, this.constraints.maxWidth), math.min(core.double, rect.height, this.constraints.maxHeight));
        currentRect = new ui.Rect.fromLTRB(rect.left[$floorToDouble]() - 4.0, rect.top[$floorToDouble]() - 4.0, rect.right[$ceilToDouble]() + 4.0, rect.bottom[$ceilToDouble]() + 4.0);
        if (dart.test(info.isPlaceholder)) {
          let childNode = children[$elementAt]((t14 = placeholderIndex, placeholderIndex = t14 + 1, t14));
          let parentData = paragraph.TextParentData.as(child.parentData);
          childNode.rect = new ui.Rect.fromLTWH(childNode.rect.left, childNode.rect.top, dart.notNull(childNode.rect.width) * dart.notNull(parentData.scale), dart.notNull(childNode.rect.height) * dart.notNull(parentData.scale));
          newChildren[$add](childNode);
          child = this.childAfter(child);
        } else {
          let configuration = (t14$ = new semantics.SemanticsConfiguration.new(), t14$.sortKey = new semantics.OrdinalSortKey.new((t15 = ordinal, ordinal = t15 + 1, t15)), t14$.textDirection = initialDirection, t14$.label = (t15$ = info.semanticsLabel, t15$ == null ? info.text : t15$), t14$);
          let recognizer = info.recognizer;
          if (recognizer != null) {
            if (tap.TapGestureRecognizer.is(recognizer)) {
              configuration.onTap = recognizer.onTap;
              configuration.isLink = true;
            } else if (long_press.LongPressGestureRecognizer.is(recognizer)) {
              configuration.onLongPress = recognizer.onLongPress;
            } else {
              if (!false) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 901, 20, "false");
            }
          }
          newChildren[$add]((t14$0 = new semantics.SemanticsNode.new(), t14$0.updateWith({config: configuration}), t14$0.rect = currentRect, t14$0));
        }
        start = start + info.text.length;
      }
      node.updateWith({config: config, childrenInInversePaintOrder: newChildren});
    }
    debugDescribeChildren() {
      return JSArrayOfDiagnosticsNode().of([this.text.toDiagnosticsNode({name: "text", style: diagnostics.DiagnosticsTreeStyle.transition})]);
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (EnumPropertyOfTextAlign()).new("textAlign", this.textAlign));
      properties.add(new (EnumPropertyOfTextDirection()).new("textDirection", this.textDirection));
      properties.add(new diagnostics.FlagProperty.new("softWrap", {value: this.softWrap, ifTrue: "wrapping at box width", ifFalse: "no wrapping except at line break characters", showName: true}));
      properties.add(new (EnumPropertyOfTextOverflow()).new("overflow", this.overflow));
      properties.add(new diagnostics.DoubleProperty.new("textScaleFactor", this.textScaleFactor, {defaultValue: 1.0}));
      properties.add(new (DiagnosticsPropertyOfLocale()).new("locale", this.locale, {defaultValue: null}));
      properties.add(new diagnostics.IntProperty.new("maxLines", this.maxLines, {ifNull: "unlimited"}));
    }
  };
  (paragraph.RenderParagraph.new = function(text, opts) {
    let textAlign = opts && 'textAlign' in opts ? opts.textAlign : C62 || CT.C62;
    let textDirection = opts && 'textDirection' in opts ? opts.textDirection : null;
    let softWrap = opts && 'softWrap' in opts ? opts.softWrap : true;
    let overflow = opts && 'overflow' in opts ? opts.overflow : C57 || CT.C57;
    let textScaleFactor = opts && 'textScaleFactor' in opts ? opts.textScaleFactor : 1;
    let maxLines = opts && 'maxLines' in opts ? opts.maxLines : null;
    let textWidthBasis = opts && 'textWidthBasis' in opts ? opts.textWidthBasis : C63 || CT.C63;
    let locale = opts && 'locale' in opts ? opts.locale : null;
    let strutStyle = opts && 'strutStyle' in opts ? opts.strutStyle : null;
    let children = opts && 'children' in opts ? opts.children : null;
    this[_placeholderSpans] = null;
    this[_needsClipping] = false;
    this[_overflowShader] = null;
    this[_placeholderDimensions] = null;
    this[_semanticsInfo] = null;
    if (!(text != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 79, 15, "text != null");
    if (!dart.test(text.debugAssertIsValid())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 80, 15, "text.debugAssertIsValid()");
    if (!(textAlign != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 81, 15, "textAlign != null");
    if (!(textDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 82, 15, "textDirection != null");
    if (!(softWrap != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 83, 15, "softWrap != null");
    if (!(overflow != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 84, 15, "overflow != null");
    if (!(textScaleFactor != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 85, 15, "textScaleFactor != null");
    if (!(maxLines == null || dart.notNull(maxLines) > 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 86, 15, "maxLines == null || maxLines > 0");
    if (!(textWidthBasis != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/paragraph.dart", 87, 15, "textWidthBasis != null");
    this[_softWrap] = softWrap;
    this[_overflow$] = overflow;
    this[_textPainter] = new text_painter.TextPainter.new({text: text, textAlign: textAlign, textDirection: textDirection, textScaleFactor: textScaleFactor, maxLines: maxLines, ellipsis: dart.equals(overflow, paragraph.TextOverflow.ellipsis) ? "…" : null, locale: locale, strutStyle: strutStyle, textWidthBasis: textWidthBasis});
    paragraph.RenderParagraph.__proto__.new.call(this);
    this.addAll(children);
    this[_extractPlaceholderSpans](text);
  }).prototype = paragraph.RenderParagraph.prototype;
  dart.addTypeTests(paragraph.RenderParagraph);
  dart.setMethodSignature(paragraph.RenderParagraph, () => ({
    __proto__: dart.getMethods(paragraph.RenderParagraph.__proto__),
    [_extractPlaceholderSpans]: dart.fnType(dart.void, [inline_span.InlineSpan]),
    [_computeIntrinsicHeight]: dart.fnType(core.double, [core.double]),
    [_canComputeIntrinsics]: dart.fnType(core.bool, []),
    [_computeChildrenWidthWithMaxIntrinsics]: dart.fnType(dart.void, [core.double]),
    [_computeChildrenWidthWithMinIntrinsics]: dart.fnType(dart.void, [core.double]),
    [_computeChildrenHeightWithMinIntrinsics]: dart.fnType(dart.void, [core.double]),
    [_layoutText]: dart.fnType(dart.void, [], {maxWidth: core.double, minWidth: core.double}, {}),
    [_layoutTextWithConstraints]: dart.fnType(dart.void, [box.BoxConstraints]),
    [_layoutChildren]: dart.fnType(dart.void, [box.BoxConstraints]),
    [_setParentData]: dart.fnType(dart.void, []),
    getOffsetForCaret: dart.fnType(ui.Offset, [ui.TextPosition, ui.Rect]),
    getBoxesForSelection: dart.fnType(core.List$(ui.TextBox), [text_editing.TextSelection]),
    getPositionForOffset: dart.fnType(ui.TextPosition, [ui.Offset]),
    getWordBoundary: dart.fnType(ui.TextRange, [ui.TextPosition]),
    [_combineSemanticsInfo]: dart.fnType(core.List$(inline_span.InlineSpanSemanticsInformation), [])
  }));
  dart.setGetterSignature(paragraph.RenderParagraph, () => ({
    __proto__: dart.getGetters(paragraph.RenderParagraph.__proto__),
    text: inline_span.InlineSpan,
    textAlign: ui.TextAlign,
    textDirection: ui.TextDirection,
    softWrap: core.bool,
    overflow: paragraph.TextOverflow,
    textScaleFactor: core.double,
    maxLines: core.int,
    locale: ui.Locale,
    strutStyle: strut_style.StrutStyle,
    textWidthBasis: text_painter.TextWidthBasis,
    debugHasOverflowShader: core.bool,
    textSize: ui.Size
  }));
  dart.setSetterSignature(paragraph.RenderParagraph, () => ({
    __proto__: dart.getSetters(paragraph.RenderParagraph.__proto__),
    text: inline_span.InlineSpan,
    textAlign: ui.TextAlign,
    textDirection: ui.TextDirection,
    softWrap: core.bool,
    overflow: paragraph.TextOverflow,
    textScaleFactor: core.double,
    maxLines: core.int,
    locale: ui.Locale,
    strutStyle: strut_style.StrutStyle,
    textWidthBasis: text_painter.TextWidthBasis
  }));
  dart.setLibraryUri(paragraph.RenderParagraph, "package:flutter/src/rendering/paragraph.dart");
  dart.setFieldSignature(paragraph.RenderParagraph, () => ({
    __proto__: dart.getFields(paragraph.RenderParagraph.__proto__),
    [_textPainter]: dart.finalFieldType(text_painter.TextPainter),
    [_placeholderSpans]: dart.fieldType(core.List$(placeholder_span.PlaceholderSpan)),
    [_softWrap]: dart.fieldType(core.bool),
    [_overflow$]: dart.fieldType(paragraph.TextOverflow),
    [_needsClipping]: dart.fieldType(core.bool),
    [_overflowShader]: dart.fieldType(ui.Shader),
    [_placeholderDimensions]: dart.fieldType(core.List$(text_painter.PlaceholderDimensions)),
    [_semanticsInfo]: dart.fieldType(core.List$(inline_span.InlineSpanSemanticsInformation))
  }));
  dart.defineLazy(paragraph, {
    /*paragraph._kEllipsis*/get _kEllipsis() {
      return "…";
    }
  });
  const _is_RenderProxyBoxMixin_default = Symbol('_is_RenderProxyBoxMixin_default');
  proxy_box.RenderProxyBoxMixin$ = dart.generic(T => {
    class RenderProxyBoxMixin extends core.Object {}
    RenderProxyBoxMixin[dart.mixinOn] = _RenderProxyBoxMixin$36RenderBox$36RenderObjectWithChildMixin => class RenderProxyBoxMixin extends _RenderProxyBoxMixin$36RenderBox$36RenderObjectWithChildMixin {
      setupParentData(child) {
        object$.RenderObject._check(child);
        if (!object$.ParentData.is(child.parentData)) child.parentData = new object$.ParentData.new();
      }
      computeMinIntrinsicWidth(height) {
        if (this.child != null) return this.child.getMinIntrinsicWidth(height);
        return 0.0;
      }
      computeMaxIntrinsicWidth(height) {
        if (this.child != null) return this.child.getMaxIntrinsicWidth(height);
        return 0.0;
      }
      computeMinIntrinsicHeight(width) {
        if (this.child != null) return this.child.getMinIntrinsicHeight(width);
        return 0.0;
      }
      computeMaxIntrinsicHeight(width) {
        if (this.child != null) return this.child.getMaxIntrinsicHeight(width);
        return 0.0;
      }
      computeDistanceToActualBaseline(baseline) {
        if (this.child != null) return this.child.getDistanceToActualBaseline(baseline);
        return super.computeDistanceToActualBaseline(baseline);
      }
      performLayout() {
        if (this.child != null) {
          this.child.layout(this.constraints, {parentUsesSize: true});
          this.size = this.child.size;
        } else {
          this.performResize();
        }
      }
      hitTestChildren(result, opts) {
        let t14, t14$;
        let position = opts && 'position' in opts ? opts.position : null;
        t14$ = (t14 = this.child, t14 == null ? null : t14.hitTest(result, {position: position}));
        return t14$ == null ? false : t14$;
      }
      applyPaintTransform(child, transform) {
        object$.RenderObject._check(child);
      }
      paint(context, offset) {
        if (this.child != null) context.paintChild(this.child, offset);
      }
    };
    dart.addTypeTests(RenderProxyBoxMixin);
    RenderProxyBoxMixin.prototype[_is_RenderProxyBoxMixin_default] = true;
    RenderProxyBoxMixin[dart.implements] = () => [object$.RenderObjectWithChildMixin$(T), box.RenderBox];
    dart.setMethodSignature(RenderProxyBoxMixin, () => ({
      __proto__: dart.getMethods(RenderProxyBoxMixin.__proto__),
      setupParentData: dart.fnType(dart.void, [core.Object]),
      computeMinIntrinsicWidth: dart.fnType(core.double, [core.double]),
      computeMaxIntrinsicWidth: dart.fnType(core.double, [core.double]),
      computeMinIntrinsicHeight: dart.fnType(core.double, [core.double]),
      computeMaxIntrinsicHeight: dart.fnType(core.double, [core.double]),
      computeDistanceToActualBaseline: dart.fnType(core.double, [ui.TextBaseline]),
      performLayout: dart.fnType(dart.void, []),
      hitTestChildren: dart.fnType(core.bool, [box.BoxHitTestResult], {position: ui.Offset}, {}),
      applyPaintTransform: dart.fnType(dart.void, [core.Object, vector_math_64.Matrix4]),
      paint: dart.fnType(dart.void, [object$.PaintingContext, ui.Offset])
    }));
    dart.setLibraryUri(RenderProxyBoxMixin, "package:flutter/src/rendering/proxy_box.dart");
    return RenderProxyBoxMixin;
  });
  proxy_box.RenderProxyBoxMixin = proxy_box.RenderProxyBoxMixin$();
  dart.addTypeTests(proxy_box.RenderProxyBoxMixin, _is_RenderProxyBoxMixin_default);
  const RenderBox_RenderObjectWithChildMixin$36$ = class RenderBox_RenderObjectWithChildMixin extends box.RenderBox {};
  (RenderBox_RenderObjectWithChildMixin$36$.new = function() {
    object$.RenderObjectWithChildMixin$(box.RenderBox)[dart.mixinNew].call(this);
    RenderBox_RenderObjectWithChildMixin$36$.__proto__.new.call(this);
  }).prototype = RenderBox_RenderObjectWithChildMixin$36$.prototype;
  dart.applyMixin(RenderBox_RenderObjectWithChildMixin$36$, object$.RenderObjectWithChildMixin$(box.RenderBox));
  const RenderBox_RenderProxyBoxMixin$36 = class RenderBox_RenderProxyBoxMixin extends RenderBox_RenderObjectWithChildMixin$36$ {};
  (RenderBox_RenderProxyBoxMixin$36.new = function() {
    RenderBox_RenderProxyBoxMixin$36.__proto__.new.call(this);
  }).prototype = RenderBox_RenderProxyBoxMixin$36.prototype;
  dart.applyMixin(RenderBox_RenderProxyBoxMixin$36, proxy_box.RenderProxyBoxMixin$(box.RenderBox));
  proxy_box.RenderProxyBox = class RenderProxyBox extends RenderBox_RenderProxyBoxMixin$36 {};
  (proxy_box.RenderProxyBox.new = function(child = null) {
    proxy_box.RenderProxyBox.__proto__.new.call(this);
    this.child = child;
  }).prototype = proxy_box.RenderProxyBox.prototype;
  dart.addTypeTests(proxy_box.RenderProxyBox);
  dart.setLibraryUri(proxy_box.RenderProxyBox, "package:flutter/src/rendering/proxy_box.dart");
  const _name$7 = dart.privateName(proxy_box, "_name");
  let C77;
  let C78;
  let C79;
  let C80;
  proxy_box.HitTestBehavior = class HitTestBehavior extends core.Object {
    toString() {
      return this[_name$7];
    }
  };
  (proxy_box.HitTestBehavior.new = function(index, _name) {
    this.index = index;
    this[_name$7] = _name;
    ;
  }).prototype = proxy_box.HitTestBehavior.prototype;
  dart.addTypeTests(proxy_box.HitTestBehavior);
  dart.setLibraryUri(proxy_box.HitTestBehavior, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.HitTestBehavior, () => ({
    __proto__: dart.getFields(proxy_box.HitTestBehavior.__proto__),
    index: dart.finalFieldType(core.int),
    [_name$7]: dart.finalFieldType(core.String)
  }));
  dart.defineExtensionMethods(proxy_box.HitTestBehavior, ['toString']);
  proxy_box.HitTestBehavior.deferToChild = C77 || CT.C77;
  proxy_box.HitTestBehavior.opaque = C78 || CT.C78;
  proxy_box.HitTestBehavior.translucent = C79 || CT.C79;
  proxy_box.HitTestBehavior.values = C80 || CT.C80;
  const behavior$ = dart.privateName(proxy_box, "RenderProxyBoxWithHitTestBehavior.behavior");
  proxy_box.RenderProxyBoxWithHitTestBehavior = class RenderProxyBoxWithHitTestBehavior extends proxy_box.RenderProxyBox {
    get behavior() {
      return this[behavior$];
    }
    set behavior(value) {
      this[behavior$] = value;
    }
    hitTest(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      let hitTarget = false;
      if (dart.test(this.size.contains(position))) {
        hitTarget = dart.test(this.hitTestChildren(result, {position: position})) || dart.test(this.hitTestSelf(position));
        if (hitTarget || dart.equals(this.behavior, proxy_box.HitTestBehavior.translucent)) result.add(new box.BoxHitTestEntry.new(this, position));
      }
      return hitTarget;
    }
    hitTestSelf(position) {
      return dart.equals(this.behavior, proxy_box.HitTestBehavior.opaque);
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (EnumPropertyOfHitTestBehavior()).new("behavior", this.behavior, {defaultValue: null}));
    }
  };
  (proxy_box.RenderProxyBoxWithHitTestBehavior.new = function(opts) {
    let behavior = opts && 'behavior' in opts ? opts.behavior : C77 || CT.C77;
    let child = opts && 'child' in opts ? opts.child : null;
    this[behavior$] = behavior;
    proxy_box.RenderProxyBoxWithHitTestBehavior.__proto__.new.call(this, child);
    ;
  }).prototype = proxy_box.RenderProxyBoxWithHitTestBehavior.prototype;
  dart.addTypeTests(proxy_box.RenderProxyBoxWithHitTestBehavior);
  dart.setLibraryUri(proxy_box.RenderProxyBoxWithHitTestBehavior, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderProxyBoxWithHitTestBehavior, () => ({
    __proto__: dart.getFields(proxy_box.RenderProxyBoxWithHitTestBehavior.__proto__),
    behavior: dart.fieldType(proxy_box.HitTestBehavior)
  }));
  const _additionalConstraints = dart.privateName(proxy_box, "_additionalConstraints");
  proxy_box.RenderConstrainedBox = class RenderConstrainedBox extends proxy_box.RenderProxyBox {
    get additionalConstraints() {
      return this[_additionalConstraints];
    }
    set additionalConstraints(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 209, 12, "value != null");
      if (!dart.test(value.debugAssertIsValid())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 210, 12, "value.debugAssertIsValid()");
      if (dart.equals(this[_additionalConstraints], value)) return;
      this[_additionalConstraints] = value;
      this.markNeedsLayout();
    }
    computeMinIntrinsicWidth(height) {
      if (dart.test(this[_additionalConstraints].hasBoundedWidth) && dart.test(this[_additionalConstraints].hasTightWidth)) return this[_additionalConstraints].minWidth;
      let width = super.computeMinIntrinsicWidth(height);
      if (!width[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 222, 12, "width.isFinite");
      if (!dart.test(this[_additionalConstraints].hasInfiniteWidth)) return this[_additionalConstraints].constrainWidth(width);
      return width;
    }
    computeMaxIntrinsicWidth(height) {
      if (dart.test(this[_additionalConstraints].hasBoundedWidth) && dart.test(this[_additionalConstraints].hasTightWidth)) return this[_additionalConstraints].minWidth;
      let width = super.computeMaxIntrinsicWidth(height);
      if (!width[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 233, 12, "width.isFinite");
      if (!dart.test(this[_additionalConstraints].hasInfiniteWidth)) return this[_additionalConstraints].constrainWidth(width);
      return width;
    }
    computeMinIntrinsicHeight(width) {
      if (dart.test(this[_additionalConstraints].hasBoundedHeight) && dart.test(this[_additionalConstraints].hasTightHeight)) return this[_additionalConstraints].minHeight;
      let height = super.computeMinIntrinsicHeight(width);
      if (!height[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 244, 12, "height.isFinite");
      if (!dart.test(this[_additionalConstraints].hasInfiniteHeight)) return this[_additionalConstraints].constrainHeight(height);
      return height;
    }
    computeMaxIntrinsicHeight(width) {
      if (dart.test(this[_additionalConstraints].hasBoundedHeight) && dart.test(this[_additionalConstraints].hasTightHeight)) return this[_additionalConstraints].minHeight;
      let height = super.computeMaxIntrinsicHeight(width);
      if (!height[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 255, 12, "height.isFinite");
      if (!dart.test(this[_additionalConstraints].hasInfiniteHeight)) return this[_additionalConstraints].constrainHeight(height);
      return height;
    }
    performLayout() {
      if (this.child != null) {
        this.child.layout(this[_additionalConstraints].enforce(this.constraints), {parentUsesSize: true});
        this.size = this.child.size;
      } else {
        this.size = this[_additionalConstraints].enforce(this.constraints).constrain(ui.Size.zero);
      }
    }
    debugPaintSize(context, offset) {
      super.debugPaintSize(context, offset);
      if (!dart.test(dart.fn(() => {
        let t14;
        let paint = null;
        if (this.child == null || dart.test(this.child.size.isEmpty)) {
          paint = (t14 = ui.Paint.new(), t14.color = C12 || CT.C12, t14);
          context.canvas.drawRect(offset['&'](this.size), paint);
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 274, 12, "() {\r\n      Paint paint;\r\n      if (child == null || child.size.isEmpty) {\r\n        paint = Paint()\r\n          ..color = const Color(0x90909090);\r\n        context.canvas.drawRect(offset & size, paint);\r\n      }\r\n      return true;\r\n    }()");
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfBoxConstraints()).new("additionalConstraints", this.additionalConstraints));
    }
  };
  (proxy_box.RenderConstrainedBox.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let additionalConstraints = opts && 'additionalConstraints' in opts ? opts.additionalConstraints : null;
    if (!(additionalConstraints != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 200, 15, "additionalConstraints != null");
    if (!dart.test(additionalConstraints.debugAssertIsValid())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 201, 15, "additionalConstraints.debugAssertIsValid()");
    this[_additionalConstraints] = additionalConstraints;
    proxy_box.RenderConstrainedBox.__proto__.new.call(this, child);
    ;
  }).prototype = proxy_box.RenderConstrainedBox.prototype;
  dart.addTypeTests(proxy_box.RenderConstrainedBox);
  dart.setGetterSignature(proxy_box.RenderConstrainedBox, () => ({
    __proto__: dart.getGetters(proxy_box.RenderConstrainedBox.__proto__),
    additionalConstraints: box.BoxConstraints
  }));
  dart.setSetterSignature(proxy_box.RenderConstrainedBox, () => ({
    __proto__: dart.getSetters(proxy_box.RenderConstrainedBox.__proto__),
    additionalConstraints: box.BoxConstraints
  }));
  dart.setLibraryUri(proxy_box.RenderConstrainedBox, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderConstrainedBox, () => ({
    __proto__: dart.getFields(proxy_box.RenderConstrainedBox.__proto__),
    [_additionalConstraints]: dart.fieldType(box.BoxConstraints)
  }));
  const _maxWidth$ = dart.privateName(proxy_box, "_maxWidth");
  const _maxHeight$ = dart.privateName(proxy_box, "_maxHeight");
  const _limitConstraints = dart.privateName(proxy_box, "_limitConstraints");
  proxy_box.RenderLimitedBox = class RenderLimitedBox extends proxy_box.RenderProxyBox {
    get maxWidth() {
      return this[_maxWidth$];
    }
    set maxWidth(value) {
      if (!(value != null && dart.notNull(value) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 324, 12, "value != null && value >= 0.0");
      if (this[_maxWidth$] == value) return;
      this[_maxWidth$] = value;
      this.markNeedsLayout();
    }
    get maxHeight() {
      return this[_maxHeight$];
    }
    set maxHeight(value) {
      if (!(value != null && dart.notNull(value) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 335, 12, "value != null && value >= 0.0");
      if (this[_maxHeight$] == value) return;
      this[_maxHeight$] = value;
      this.markNeedsLayout();
    }
    [_limitConstraints](constraints) {
      return new box.BoxConstraints.new({minWidth: constraints.minWidth, maxWidth: dart.test(constraints.hasBoundedWidth) ? constraints.maxWidth : constraints.constrainWidth(this.maxWidth), minHeight: constraints.minHeight, maxHeight: dart.test(constraints.hasBoundedHeight) ? constraints.maxHeight : constraints.constrainHeight(this.maxHeight)});
    }
    performLayout() {
      if (this.child != null) {
        this.child.layout(this[_limitConstraints](this.constraints), {parentUsesSize: true});
        this.size = this.constraints.constrain(this.child.size);
      } else {
        this.size = this[_limitConstraints](this.constraints).constrain(ui.Size.zero);
      }
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new diagnostics.DoubleProperty.new("maxWidth", this.maxWidth, {defaultValue: 1 / 0}));
      properties.add(new diagnostics.DoubleProperty.new("maxHeight", this.maxHeight, {defaultValue: 1 / 0}));
    }
  };
  (proxy_box.RenderLimitedBox.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let maxWidth = opts && 'maxWidth' in opts ? opts.maxWidth : 1 / 0;
    let maxHeight = opts && 'maxHeight' in opts ? opts.maxHeight : 1 / 0;
    if (!(maxWidth != null && dart.notNull(maxWidth) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 314, 15, "maxWidth != null && maxWidth >= 0.0");
    if (!(maxHeight != null && dart.notNull(maxHeight) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 315, 15, "maxHeight != null && maxHeight >= 0.0");
    this[_maxWidth$] = maxWidth;
    this[_maxHeight$] = maxHeight;
    proxy_box.RenderLimitedBox.__proto__.new.call(this, child);
    ;
  }).prototype = proxy_box.RenderLimitedBox.prototype;
  dart.addTypeTests(proxy_box.RenderLimitedBox);
  dart.setMethodSignature(proxy_box.RenderLimitedBox, () => ({
    __proto__: dart.getMethods(proxy_box.RenderLimitedBox.__proto__),
    [_limitConstraints]: dart.fnType(box.BoxConstraints, [box.BoxConstraints])
  }));
  dart.setGetterSignature(proxy_box.RenderLimitedBox, () => ({
    __proto__: dart.getGetters(proxy_box.RenderLimitedBox.__proto__),
    maxWidth: core.double,
    maxHeight: core.double
  }));
  dart.setSetterSignature(proxy_box.RenderLimitedBox, () => ({
    __proto__: dart.getSetters(proxy_box.RenderLimitedBox.__proto__),
    maxWidth: core.double,
    maxHeight: core.double
  }));
  dart.setLibraryUri(proxy_box.RenderLimitedBox, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderLimitedBox, () => ({
    __proto__: dart.getFields(proxy_box.RenderLimitedBox.__proto__),
    [_maxWidth$]: dart.fieldType(core.double),
    [_maxHeight$]: dart.fieldType(core.double)
  }));
  const _aspectRatio = dart.privateName(proxy_box, "_aspectRatio");
  const _applyAspectRatio = dart.privateName(proxy_box, "_applyAspectRatio");
  proxy_box.RenderAspectRatio = class RenderAspectRatio extends proxy_box.RenderProxyBox {
    get aspectRatio() {
      return this[_aspectRatio];
    }
    set aspectRatio(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 415, 12, "value != null");
      if (!(dart.notNull(value) > 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 416, 12, "value > 0.0");
      if (!value[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 417, 12, "value.isFinite");
      if (this[_aspectRatio] == value) return;
      this[_aspectRatio] = value;
      this.markNeedsLayout();
    }
    computeMinIntrinsicWidth(height) {
      if (height[$isFinite]) return dart.notNull(height) * dart.notNull(this[_aspectRatio]);
      if (this.child != null) return this.child.getMinIntrinsicWidth(height);
      return 0.0;
    }
    computeMaxIntrinsicWidth(height) {
      if (height[$isFinite]) return dart.notNull(height) * dart.notNull(this[_aspectRatio]);
      if (this.child != null) return this.child.getMaxIntrinsicWidth(height);
      return 0.0;
    }
    computeMinIntrinsicHeight(width) {
      if (width[$isFinite]) return dart.notNull(width) / dart.notNull(this[_aspectRatio]);
      if (this.child != null) return this.child.getMinIntrinsicHeight(width);
      return 0.0;
    }
    computeMaxIntrinsicHeight(width) {
      if (width[$isFinite]) return dart.notNull(width) / dart.notNull(this[_aspectRatio]);
      if (this.child != null) return this.child.getMaxIntrinsicHeight(width);
      return 0.0;
    }
    [_applyAspectRatio](constraints) {
      if (!dart.test(constraints.debugAssertIsValid())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 461, 12, "constraints.debugAssertIsValid()");
      if (!dart.test(dart.fn(() => {
        if (!dart.test(constraints.hasBoundedWidth) && !dart.test(constraints.hasBoundedHeight)) {
          dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new(dart.str(this[$runtimeType]) + " has unbounded constraints."), new assertions.ErrorDescription.new("This " + dart.str(this[$runtimeType]) + " was given an aspect ratio of " + dart.str(this.aspectRatio) + " but was given " + "both unbounded width and unbounded height constraints. Because both " + "constraints were unbounded, this render object doesn't know how much " + "size to consume.")])));
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 462, 12, "() {\r\n      if (!constraints.hasBoundedWidth && !constraints.hasBoundedHeight) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('$runtimeType has unbounded constraints.'),\r\n          ErrorDescription(\r\n            'This $runtimeType was given an aspect ratio of $aspectRatio but was given '\r\n            'both unbounded width and unbounded height constraints. Because both '\r\n            'constraints were unbounded, this render object doesn\\'t know how much '\r\n            'size to consume.'\r\n          )\r\n        ]);\r\n      }\r\n      return true;\r\n    }()");
      if (dart.test(constraints.isTight)) return constraints.smallest;
      let width = constraints.maxWidth;
      let height = null;
      if (width[$isFinite]) {
        height = dart.notNull(width) / dart.notNull(this[_aspectRatio]);
      } else {
        height = constraints.maxHeight;
        width = dart.notNull(height) * dart.notNull(this[_aspectRatio]);
      }
      if (dart.notNull(width) > dart.notNull(constraints.maxWidth)) {
        width = constraints.maxWidth;
        height = dart.notNull(width) / dart.notNull(this[_aspectRatio]);
      }
      if (dart.notNull(height) > dart.notNull(constraints.maxHeight)) {
        height = constraints.maxHeight;
        width = dart.notNull(height) * dart.notNull(this[_aspectRatio]);
      }
      if (dart.notNull(width) < dart.notNull(constraints.minWidth)) {
        width = constraints.minWidth;
        height = dart.notNull(width) / dart.notNull(this[_aspectRatio]);
      }
      if (dart.notNull(height) < dart.notNull(constraints.minHeight)) {
        height = constraints.minHeight;
        width = dart.notNull(height) * dart.notNull(this[_aspectRatio]);
      }
      return constraints.constrain(new ui.Size.new(width, height));
    }
    performLayout() {
      this.size = this[_applyAspectRatio](this.constraints);
      if (this.child != null) this.child.layout(new box.BoxConstraints.tight(this.size));
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new diagnostics.DoubleProperty.new("aspectRatio", this.aspectRatio));
    }
  };
  (proxy_box.RenderAspectRatio.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let aspectRatio = opts && 'aspectRatio' in opts ? opts.aspectRatio : null;
    if (!(aspectRatio != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 402, 15, "aspectRatio != null");
    if (!(dart.notNull(aspectRatio) > 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 403, 15, "aspectRatio > 0.0");
    if (!aspectRatio[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 404, 15, "aspectRatio.isFinite");
    this[_aspectRatio] = aspectRatio;
    proxy_box.RenderAspectRatio.__proto__.new.call(this, child);
    ;
  }).prototype = proxy_box.RenderAspectRatio.prototype;
  dart.addTypeTests(proxy_box.RenderAspectRatio);
  dart.setMethodSignature(proxy_box.RenderAspectRatio, () => ({
    __proto__: dart.getMethods(proxy_box.RenderAspectRatio.__proto__),
    [_applyAspectRatio]: dart.fnType(ui.Size, [box.BoxConstraints])
  }));
  dart.setGetterSignature(proxy_box.RenderAspectRatio, () => ({
    __proto__: dart.getGetters(proxy_box.RenderAspectRatio.__proto__),
    aspectRatio: core.double
  }));
  dart.setSetterSignature(proxy_box.RenderAspectRatio, () => ({
    __proto__: dart.getSetters(proxy_box.RenderAspectRatio.__proto__),
    aspectRatio: core.double
  }));
  dart.setLibraryUri(proxy_box.RenderAspectRatio, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderAspectRatio, () => ({
    __proto__: dart.getFields(proxy_box.RenderAspectRatio.__proto__),
    [_aspectRatio]: dart.fieldType(core.double)
  }));
  const _stepWidth = dart.privateName(proxy_box, "_stepWidth");
  const _stepHeight = dart.privateName(proxy_box, "_stepHeight");
  proxy_box.RenderIntrinsicWidth = class RenderIntrinsicWidth extends proxy_box.RenderProxyBox {
    get stepWidth() {
      return this[_stepWidth];
    }
    set stepWidth(value) {
      if (!(value == null || dart.notNull(value) > 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 571, 12, "value == null || value > 0.0");
      if (value == this[_stepWidth]) return;
      this[_stepWidth] = value;
      this.markNeedsLayout();
    }
    get stepHeight() {
      return this[_stepHeight];
    }
    set stepHeight(value) {
      if (!(value == null || dart.notNull(value) > 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 584, 12, "value == null || value > 0.0");
      if (value == this[_stepHeight]) return;
      this[_stepHeight] = value;
      this.markNeedsLayout();
    }
    static _applyStep(input, step) {
      if (!input[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 592, 12, "input.isFinite");
      if (step == null) return input;
      return (dart.notNull(input) / dart.notNull(step))[$ceil]() * dart.notNull(step);
    }
    computeMinIntrinsicWidth(height) {
      return this.computeMaxIntrinsicWidth(height);
    }
    computeMaxIntrinsicWidth(height) {
      if (this.child == null) return 0.0;
      let width = this.child.getMaxIntrinsicWidth(height);
      return proxy_box.RenderIntrinsicWidth._applyStep(width, this[_stepWidth]);
    }
    computeMinIntrinsicHeight(width) {
      if (this.child == null) return 0.0;
      if (!width[$isFinite]) width = this.computeMaxIntrinsicWidth(1 / 0);
      if (!width[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 617, 12, "width.isFinite");
      let height = this.child.getMinIntrinsicHeight(width);
      return proxy_box.RenderIntrinsicWidth._applyStep(height, this[_stepHeight]);
    }
    computeMaxIntrinsicHeight(width) {
      if (this.child == null) return 0.0;
      if (!width[$isFinite]) width = this.computeMaxIntrinsicWidth(1 / 0);
      if (!width[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 628, 12, "width.isFinite");
      let height = this.child.getMaxIntrinsicHeight(width);
      return proxy_box.RenderIntrinsicWidth._applyStep(height, this[_stepHeight]);
    }
    performLayout() {
      if (this.child != null) {
        let childConstraints = this.constraints;
        if (!dart.test(childConstraints.hasTightWidth)) {
          let width = this.child.getMaxIntrinsicWidth(childConstraints.maxHeight);
          if (!width[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 639, 16, "width.isFinite");
          childConstraints = childConstraints.tighten({width: proxy_box.RenderIntrinsicWidth._applyStep(width, this[_stepWidth])});
        }
        if (this[_stepHeight] != null) {
          let height = this.child.getMaxIntrinsicHeight(childConstraints.maxWidth);
          if (!height[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 644, 16, "height.isFinite");
          childConstraints = childConstraints.tighten({height: proxy_box.RenderIntrinsicWidth._applyStep(height, this[_stepHeight])});
        }
        this.child.layout(childConstraints, {parentUsesSize: true});
        this.size = this.child.size;
      } else {
        this.performResize();
      }
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new diagnostics.DoubleProperty.new("stepWidth", this.stepWidth));
      properties.add(new diagnostics.DoubleProperty.new("stepHeight", this.stepHeight));
    }
  };
  (proxy_box.RenderIntrinsicWidth.new = function(opts) {
    let stepWidth = opts && 'stepWidth' in opts ? opts.stepWidth : null;
    let stepHeight = opts && 'stepHeight' in opts ? opts.stepHeight : null;
    let child = opts && 'child' in opts ? opts.child : null;
    if (!(stepWidth == null || dart.notNull(stepWidth) > 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 559, 15, "stepWidth == null || stepWidth > 0.0");
    if (!(stepHeight == null || dart.notNull(stepHeight) > 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 560, 15, "stepHeight == null || stepHeight > 0.0");
    this[_stepWidth] = stepWidth;
    this[_stepHeight] = stepHeight;
    proxy_box.RenderIntrinsicWidth.__proto__.new.call(this, child);
    ;
  }).prototype = proxy_box.RenderIntrinsicWidth.prototype;
  dart.addTypeTests(proxy_box.RenderIntrinsicWidth);
  dart.setGetterSignature(proxy_box.RenderIntrinsicWidth, () => ({
    __proto__: dart.getGetters(proxy_box.RenderIntrinsicWidth.__proto__),
    stepWidth: core.double,
    stepHeight: core.double
  }));
  dart.setSetterSignature(proxy_box.RenderIntrinsicWidth, () => ({
    __proto__: dart.getSetters(proxy_box.RenderIntrinsicWidth.__proto__),
    stepWidth: core.double,
    stepHeight: core.double
  }));
  dart.setLibraryUri(proxy_box.RenderIntrinsicWidth, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderIntrinsicWidth, () => ({
    __proto__: dart.getFields(proxy_box.RenderIntrinsicWidth.__proto__),
    [_stepWidth]: dart.fieldType(core.double),
    [_stepHeight]: dart.fieldType(core.double)
  }));
  proxy_box.RenderIntrinsicHeight = class RenderIntrinsicHeight extends proxy_box.RenderProxyBox {
    computeMinIntrinsicWidth(height) {
      if (this.child == null) return 0.0;
      if (!height[$isFinite]) height = this.child.getMaxIntrinsicHeight(1 / 0);
      if (!height[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 684, 12, "height.isFinite");
      return this.child.getMinIntrinsicWidth(height);
    }
    computeMaxIntrinsicWidth(height) {
      if (this.child == null) return 0.0;
      if (!height[$isFinite]) height = this.child.getMaxIntrinsicHeight(1 / 0);
      if (!height[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 694, 12, "height.isFinite");
      return this.child.getMaxIntrinsicWidth(height);
    }
    computeMinIntrinsicHeight(width) {
      return this.computeMaxIntrinsicHeight(width);
    }
    performLayout() {
      if (this.child != null) {
        let childConstraints = this.constraints;
        if (!dart.test(childConstraints.hasTightHeight)) {
          let height = this.child.getMaxIntrinsicHeight(childConstraints.maxWidth);
          if (!height[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 709, 16, "height.isFinite");
          childConstraints = childConstraints.tighten({height: height});
        }
        this.child.layout(childConstraints, {parentUsesSize: true});
        this.size = this.child.size;
      } else {
        this.performResize();
      }
    }
  };
  (proxy_box.RenderIntrinsicHeight.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    proxy_box.RenderIntrinsicHeight.__proto__.new.call(this, child);
    ;
  }).prototype = proxy_box.RenderIntrinsicHeight.prototype;
  dart.addTypeTests(proxy_box.RenderIntrinsicHeight);
  dart.setLibraryUri(proxy_box.RenderIntrinsicHeight, "package:flutter/src/rendering/proxy_box.dart");
  const _opacity = dart.privateName(proxy_box, "_opacity");
  const _alwaysIncludeSemantics = dart.privateName(proxy_box, "_alwaysIncludeSemantics");
  const _alpha$ = dart.privateName(proxy_box, "_alpha");
  proxy_box.RenderOpacity = class RenderOpacity extends proxy_box.RenderProxyBox {
    get alwaysNeedsCompositing() {
      return this.child != null && this[_alpha$] !== 0 && this[_alpha$] !== 255;
    }
    get opacity() {
      return this[_opacity];
    }
    set opacity(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 764, 12, "value != null");
      if (!(dart.notNull(value) >= 0.0 && dart.notNull(value) <= 1.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 765, 12, "value >= 0.0 && value <= 1.0");
      if (this[_opacity] == value) return;
      let didNeedCompositing = this.alwaysNeedsCompositing;
      let wasVisible = this[_alpha$] !== 0;
      this[_opacity] = value;
      this[_alpha$] = ui.Color.getAlphaFromOpacity(this[_opacity]);
      if (!dart.equals(didNeedCompositing, this.alwaysNeedsCompositing)) this.markNeedsCompositingBitsUpdate();
      this.markNeedsPaint();
      if (!wasVisible[$_equals](this[_alpha$] !== 0) && !dart.test(this.alwaysIncludeSemantics)) this.markNeedsSemanticsUpdate();
    }
    get alwaysIncludeSemantics() {
      return this[_alwaysIncludeSemantics];
    }
    set alwaysIncludeSemantics(value) {
      if (dart.equals(value, this[_alwaysIncludeSemantics])) return;
      this[_alwaysIncludeSemantics] = value;
      this.markNeedsSemanticsUpdate();
    }
    paint(context, offset) {
      if (this.child != null) {
        if (this[_alpha$] === 0) {
          this.layer = null;
          return;
        }
        if (this[_alpha$] === 255) {
          this.layer = null;
          context.paintChild(this.child, offset);
          return;
        }
        if (!dart.test(this.needsCompositing)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 807, 14, "needsCompositing");
        this.layer = context.pushOpacity(offset, this[_alpha$], dart.bind(this, 'paint', super.paint), {oldLayer: layer$.OpacityLayer.as(this.layer)});
      }
    }
    visitChildrenForSemantics(visitor) {
      if (this.child != null && (this[_alpha$] !== 0 || dart.test(this.alwaysIncludeSemantics))) visitor(this.child);
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new diagnostics.DoubleProperty.new("opacity", this.opacity));
      properties.add(new diagnostics.FlagProperty.new("alwaysIncludeSemantics", {value: this.alwaysIncludeSemantics, ifTrue: "alwaysIncludeSemantics"}));
    }
  };
  (proxy_box.RenderOpacity.new = function(opts) {
    let opacity = opts && 'opacity' in opts ? opts.opacity : 1;
    let alwaysIncludeSemantics = opts && 'alwaysIncludeSemantics' in opts ? opts.alwaysIncludeSemantics : false;
    let child = opts && 'child' in opts ? opts.child : null;
    if (!(opacity != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 738, 15, "opacity != null");
    if (!(dart.notNull(opacity) >= 0.0 && dart.notNull(opacity) <= 1.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 739, 15, "opacity >= 0.0 && opacity <= 1.0");
    if (!(alwaysIncludeSemantics != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 740, 15, "alwaysIncludeSemantics != null");
    this[_opacity] = opacity;
    this[_alwaysIncludeSemantics] = alwaysIncludeSemantics;
    this[_alpha$] = ui.Color.getAlphaFromOpacity(opacity);
    proxy_box.RenderOpacity.__proto__.new.call(this, child);
    ;
  }).prototype = proxy_box.RenderOpacity.prototype;
  dart.addTypeTests(proxy_box.RenderOpacity);
  dart.setGetterSignature(proxy_box.RenderOpacity, () => ({
    __proto__: dart.getGetters(proxy_box.RenderOpacity.__proto__),
    opacity: core.double,
    alwaysIncludeSemantics: core.bool
  }));
  dart.setSetterSignature(proxy_box.RenderOpacity, () => ({
    __proto__: dart.getSetters(proxy_box.RenderOpacity.__proto__),
    opacity: core.double,
    alwaysIncludeSemantics: core.bool
  }));
  dart.setLibraryUri(proxy_box.RenderOpacity, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderOpacity, () => ({
    __proto__: dart.getFields(proxy_box.RenderOpacity.__proto__),
    [_alpha$]: dart.fieldType(core.int),
    [_opacity]: dart.fieldType(core.double),
    [_alwaysIncludeSemantics]: dart.fieldType(core.bool)
  }));
  const _currentlyNeedsCompositing = dart.privateName(proxy_box, "_currentlyNeedsCompositing");
  const _updateOpacity = dart.privateName(proxy_box, "_updateOpacity");
  const _is_RenderAnimatedOpacityMixin_default = Symbol('_is_RenderAnimatedOpacityMixin_default');
  proxy_box.RenderAnimatedOpacityMixin$ = dart.generic(T => {
    class RenderAnimatedOpacityMixin extends object$.RenderObjectWithChildMixin$(T) {}
    RenderAnimatedOpacityMixin[dart.mixinOn] = RenderObjectWithChildMixin => class RenderAnimatedOpacityMixin extends RenderObjectWithChildMixin {
      get alwaysNeedsCompositing() {
        return this.child != null && dart.test(this[_currentlyNeedsCompositing]);
      }
      get opacity() {
        return this[_opacity];
      }
      set opacity(value) {
        if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 848, 12, "value != null");
        if (dart.equals(this[_opacity], value)) return;
        if (dart.test(this.attached) && this[_opacity] != null) this[_opacity].removeListener(dart.bind(this, _updateOpacity));
        this[_opacity] = value;
        if (dart.test(this.attached)) this[_opacity].addListener(dart.bind(this, _updateOpacity));
        this[_updateOpacity]();
      }
      get alwaysIncludeSemantics() {
        return this[_alwaysIncludeSemantics];
      }
      set alwaysIncludeSemantics(value) {
        if (dart.equals(value, this[_alwaysIncludeSemantics])) return;
        this[_alwaysIncludeSemantics] = value;
        this.markNeedsSemanticsUpdate();
      }
      attach(owner) {
        object$.PipelineOwner._check(owner);
        super.attach(owner);
        this[_opacity].addListener(dart.bind(this, _updateOpacity));
        this[_updateOpacity]();
      }
      detach() {
        this[_opacity].removeListener(dart.bind(this, _updateOpacity));
        super.detach();
      }
      [_updateOpacity]() {
        let oldAlpha = this[_alpha$];
        this[_alpha$] = ui.Color.getAlphaFromOpacity(this[_opacity].value);
        if (oldAlpha != this[_alpha$]) {
          let didNeedCompositing = this[_currentlyNeedsCompositing];
          this[_currentlyNeedsCompositing] = dart.notNull(this[_alpha$]) > 0 && dart.notNull(this[_alpha$]) < 255;
          if (this.child != null && !dart.equals(didNeedCompositing, this[_currentlyNeedsCompositing])) this.markNeedsCompositingBitsUpdate();
          this.markNeedsPaint();
          if (oldAlpha === 0 || this[_alpha$] === 0) this.markNeedsSemanticsUpdate();
        }
      }
      paint(context, offset) {
        if (this.child != null) {
          if (this[_alpha$] === 0) {
            this.layer = null;
            return;
          }
          if (this[_alpha$] === 255) {
            this.layer = null;
            context.paintChild(this.child, offset);
            return;
          }
          if (!dart.test(this.needsCompositing)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 914, 14, "needsCompositing");
          this.layer = context.pushOpacity(offset, this[_alpha$], dart.bind(this, 'paint', super.paint), {oldLayer: layer$.OpacityLayer.as(this.layer)});
        }
      }
      visitChildrenForSemantics(visitor) {
        if (this.child != null && (this[_alpha$] !== 0 || dart.test(this.alwaysIncludeSemantics))) visitor(this.child);
      }
      debugFillProperties(properties) {
        super.debugFillProperties(properties);
        properties.add(new (DiagnosticsPropertyOfAnimationOfdouble()).new("opacity", this.opacity));
        properties.add(new diagnostics.FlagProperty.new("alwaysIncludeSemantics", {value: this.alwaysIncludeSemantics, ifTrue: "alwaysIncludeSemantics"}));
      }
    };
    (RenderAnimatedOpacityMixin[dart.mixinNew] = function() {
      this[_alpha$] = null;
      this[_currentlyNeedsCompositing] = null;
      this[_opacity] = null;
      this[_alwaysIncludeSemantics] = null;
    }).prototype = RenderAnimatedOpacityMixin.prototype;
    dart.addTypeTests(RenderAnimatedOpacityMixin);
    RenderAnimatedOpacityMixin.prototype[_is_RenderAnimatedOpacityMixin_default] = true;
    RenderAnimatedOpacityMixin[dart.implements] = () => [object$.RenderObjectWithChildMixin$(T)];
    dart.setMethodSignature(RenderAnimatedOpacityMixin, () => ({
      __proto__: dart.getMethods(RenderAnimatedOpacityMixin.__proto__),
      [_updateOpacity]: dart.fnType(dart.void, [])
    }));
    dart.setGetterSignature(RenderAnimatedOpacityMixin, () => ({
      __proto__: dart.getGetters(RenderAnimatedOpacityMixin.__proto__),
      opacity: animation.Animation$(core.double),
      alwaysIncludeSemantics: core.bool
    }));
    dart.setSetterSignature(RenderAnimatedOpacityMixin, () => ({
      __proto__: dart.getSetters(RenderAnimatedOpacityMixin.__proto__),
      opacity: animation.Animation$(core.double),
      alwaysIncludeSemantics: core.bool
    }));
    dart.setLibraryUri(RenderAnimatedOpacityMixin, "package:flutter/src/rendering/proxy_box.dart");
    dart.setFieldSignature(RenderAnimatedOpacityMixin, () => ({
      __proto__: dart.getFields(RenderAnimatedOpacityMixin.__proto__),
      [_alpha$]: dart.fieldType(core.int),
      [_currentlyNeedsCompositing]: dart.fieldType(core.bool),
      [_opacity]: dart.fieldType(animation.Animation$(core.double)),
      [_alwaysIncludeSemantics]: dart.fieldType(core.bool)
    }));
    return RenderAnimatedOpacityMixin;
  });
  proxy_box.RenderAnimatedOpacityMixin = proxy_box.RenderAnimatedOpacityMixin$();
  dart.addTypeTests(proxy_box.RenderAnimatedOpacityMixin, _is_RenderAnimatedOpacityMixin_default);
  const RenderProxyBox_RenderProxyBoxMixin$36 = class RenderProxyBox_RenderProxyBoxMixin extends proxy_box.RenderProxyBox {};
  (RenderProxyBox_RenderProxyBoxMixin$36.new = function(child) {
    RenderProxyBox_RenderProxyBoxMixin$36.__proto__.new.call(this, child);
  }).prototype = RenderProxyBox_RenderProxyBoxMixin$36.prototype;
  dart.applyMixin(RenderProxyBox_RenderProxyBoxMixin$36, proxy_box.RenderProxyBoxMixin$(box.RenderBox));
  const RenderProxyBox_RenderAnimatedOpacityMixin$36 = class RenderProxyBox_RenderAnimatedOpacityMixin extends RenderProxyBox_RenderProxyBoxMixin$36 {};
  (RenderProxyBox_RenderAnimatedOpacityMixin$36.new = function(child) {
    proxy_box.RenderAnimatedOpacityMixin$(box.RenderBox)[dart.mixinNew].call(this);
    RenderProxyBox_RenderAnimatedOpacityMixin$36.__proto__.new.call(this, child);
  }).prototype = RenderProxyBox_RenderAnimatedOpacityMixin$36.prototype;
  dart.applyMixin(RenderProxyBox_RenderAnimatedOpacityMixin$36, proxy_box.RenderAnimatedOpacityMixin$(box.RenderBox));
  proxy_box.RenderAnimatedOpacity = class RenderAnimatedOpacity extends RenderProxyBox_RenderAnimatedOpacityMixin$36 {};
  (proxy_box.RenderAnimatedOpacity.new = function(opts) {
    let opacity = opts && 'opacity' in opts ? opts.opacity : null;
    let alwaysIncludeSemantics = opts && 'alwaysIncludeSemantics' in opts ? opts.alwaysIncludeSemantics : false;
    let child = opts && 'child' in opts ? opts.child : null;
    if (!(opacity != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 945, 15, "opacity != null");
    if (!(alwaysIncludeSemantics != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 946, 15, "alwaysIncludeSemantics != null");
    proxy_box.RenderAnimatedOpacity.__proto__.new.call(this, child);
    this.opacity = opacity;
    this.alwaysIncludeSemantics = alwaysIncludeSemantics;
  }).prototype = proxy_box.RenderAnimatedOpacity.prototype;
  dart.addTypeTests(proxy_box.RenderAnimatedOpacity);
  dart.setLibraryUri(proxy_box.RenderAnimatedOpacity, "package:flutter/src/rendering/proxy_box.dart");
  let C81;
  const _shaderCallback = dart.privateName(proxy_box, "_shaderCallback");
  const _blendMode$ = dart.privateName(proxy_box, "_blendMode");
  proxy_box.RenderShaderMask = class RenderShaderMask extends proxy_box.RenderProxyBox {
    get layer() {
      return layer$.ShaderMaskLayer.as(super.layer);
    }
    set layer(value) {
      super.layer = value;
    }
    get shaderCallback() {
      return this[_shaderCallback];
    }
    set shaderCallback(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 991, 12, "value != null");
      if (dart.equals(this[_shaderCallback], value)) return;
      this[_shaderCallback] = value;
      this.markNeedsPaint();
    }
    get blendMode() {
      return this[_blendMode$];
    }
    set blendMode(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1005, 12, "value != null");
      if (dart.equals(this[_blendMode$], value)) return;
      this[_blendMode$] = value;
      this.markNeedsPaint();
    }
    get alwaysNeedsCompositing() {
      return this.child != null;
    }
    paint(context, offset) {
      let t14;
      if (this.child != null) {
        if (!dart.test(this.needsCompositing)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1018, 14, "needsCompositing");
        this.layer == null ? this.layer = new layer$.ShaderMaskLayer.new() : null;
        t14 = this.layer;
        t14.shader = this[_shaderCallback](ui.Offset.zero['&'](this.size));
        t14.maskRect = offset['&'](this.size);
        t14.blendMode = this[_blendMode$];
        t14;
        context.pushLayer(this.layer, dart.bind(this, 'paint', super.paint), offset);
      } else {
        this.layer = null;
      }
    }
  };
  (proxy_box.RenderShaderMask.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let shaderCallback = opts && 'shaderCallback' in opts ? opts.shaderCallback : null;
    let blendMode = opts && 'blendMode' in opts ? opts.blendMode : C81 || CT.C81;
    if (!(shaderCallback != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 970, 15, "shaderCallback != null");
    if (!(blendMode != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 971, 15, "blendMode != null");
    this[_shaderCallback] = shaderCallback;
    this[_blendMode$] = blendMode;
    proxy_box.RenderShaderMask.__proto__.new.call(this, child);
    ;
  }).prototype = proxy_box.RenderShaderMask.prototype;
  dart.addTypeTests(proxy_box.RenderShaderMask);
  dart.setGetterSignature(proxy_box.RenderShaderMask, () => ({
    __proto__: dart.getGetters(proxy_box.RenderShaderMask.__proto__),
    layer: layer$.ShaderMaskLayer,
    shaderCallback: dart.fnType(ui.Shader, [ui.Rect]),
    blendMode: ui.BlendMode
  }));
  dart.setSetterSignature(proxy_box.RenderShaderMask, () => ({
    __proto__: dart.getSetters(proxy_box.RenderShaderMask.__proto__),
    shaderCallback: dart.fnType(ui.Shader, [ui.Rect]),
    blendMode: ui.BlendMode
  }));
  dart.setLibraryUri(proxy_box.RenderShaderMask, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderShaderMask, () => ({
    __proto__: dart.getFields(proxy_box.RenderShaderMask.__proto__),
    [_shaderCallback]: dart.fieldType(dart.fnType(ui.Shader, [ui.Rect])),
    [_blendMode$]: dart.fieldType(ui.BlendMode)
  }));
  const _filter$ = dart.privateName(proxy_box, "_filter");
  proxy_box.RenderBackdropFilter = class RenderBackdropFilter extends proxy_box.RenderProxyBox {
    get layer() {
      return layer$.BackdropFilterLayer.as(super.layer);
    }
    set layer(value) {
      super.layer = value;
    }
    get filter() {
      return this[_filter$];
    }
    set filter(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1055, 12, "value != null");
      if (dart.equals(this[_filter$], value)) return;
      this[_filter$] = value;
      this.markNeedsPaint();
    }
    get alwaysNeedsCompositing() {
      return this.child != null;
    }
    paint(context, offset) {
      if (this.child != null) {
        if (!dart.test(this.needsCompositing)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1068, 14, "needsCompositing");
        this.layer == null ? this.layer = new layer$.BackdropFilterLayer.new() : null;
        this.layer.filter = this[_filter$];
        context.pushLayer(this.layer, dart.bind(this, 'paint', super.paint), offset);
      } else {
        this.layer = null;
      }
    }
  };
  (proxy_box.RenderBackdropFilter.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let filter = opts && 'filter' in opts ? opts.filter : null;
    if (!(filter != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1040, 14, "filter != null");
    this[_filter$] = filter;
    proxy_box.RenderBackdropFilter.__proto__.new.call(this, child);
    ;
  }).prototype = proxy_box.RenderBackdropFilter.prototype;
  dart.addTypeTests(proxy_box.RenderBackdropFilter);
  dart.setGetterSignature(proxy_box.RenderBackdropFilter, () => ({
    __proto__: dart.getGetters(proxy_box.RenderBackdropFilter.__proto__),
    layer: layer$.BackdropFilterLayer,
    filter: ui.ImageFilter
  }));
  dart.setSetterSignature(proxy_box.RenderBackdropFilter, () => ({
    __proto__: dart.getSetters(proxy_box.RenderBackdropFilter.__proto__),
    filter: ui.ImageFilter
  }));
  dart.setLibraryUri(proxy_box.RenderBackdropFilter, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderBackdropFilter, () => ({
    __proto__: dart.getFields(proxy_box.RenderBackdropFilter.__proto__),
    [_filter$]: dart.fieldType(ui.ImageFilter)
  }));
  const _reclip = dart.privateName(proxy_box, "_reclip");
  const _is_CustomClipper_default = Symbol('_is_CustomClipper_default');
  const _reclip$ = dart.privateName(proxy_box, "CustomClipper._reclip");
  proxy_box.CustomClipper$ = dart.generic(T => {
    class CustomClipper extends core.Object {
      get [_reclip]() {
        return this[_reclip$];
      }
      set [_reclip](value) {
        super[_reclip] = value;
      }
      getApproximateClipRect(size) {
        return ui.Offset.zero['&'](size);
      }
      toString() {
        return dart.str(object.objectRuntimeType(this, "CustomClipper"));
      }
    }
    (CustomClipper.new = function(opts) {
      let reclip = opts && 'reclip' in opts ? opts.reclip : null;
      this[_reclip$] = reclip;
      ;
    }).prototype = CustomClipper.prototype;
    dart.addTypeTests(CustomClipper);
    CustomClipper.prototype[_is_CustomClipper_default] = true;
    dart.setMethodSignature(CustomClipper, () => ({
      __proto__: dart.getMethods(CustomClipper.__proto__),
      getApproximateClipRect: dart.fnType(ui.Rect, [ui.Size])
    }));
    dart.setLibraryUri(CustomClipper, "package:flutter/src/rendering/proxy_box.dart");
    dart.setFieldSignature(CustomClipper, () => ({
      __proto__: dart.getFields(CustomClipper.__proto__),
      [_reclip]: dart.finalFieldType(change_notifier.Listenable)
    }));
    dart.defineExtensionMethods(CustomClipper, ['toString']);
    return CustomClipper;
  });
  proxy_box.CustomClipper = proxy_box.CustomClipper$();
  dart.addTypeTests(proxy_box.CustomClipper, _is_CustomClipper_default);
  const shape$ = dart.privateName(proxy_box, "ShapeBorderClipper.shape");
  const textDirection$ = dart.privateName(proxy_box, "ShapeBorderClipper.textDirection");
  proxy_box.ShapeBorderClipper = class ShapeBorderClipper extends proxy_box.CustomClipper$(ui.Path) {
    get shape() {
      return this[shape$];
    }
    set shape(value) {
      super.shape = value;
    }
    get textDirection() {
      return this[textDirection$];
    }
    set textDirection(value) {
      super.textDirection = value;
    }
    getClip(size) {
      return this.shape.getOuterPath(ui.Offset.zero['&'](size), {textDirection: this.textDirection});
    }
    shouldReclip(oldClipper) {
      CustomClipperOfPath()._check(oldClipper);
      if (!dart.equals(dart.runtimeType(oldClipper), dart.wrapType(proxy_box.ShapeBorderClipper))) return true;
      let typedOldClipper = proxy_box.ShapeBorderClipper.as(oldClipper);
      return !dart.equals(typedOldClipper.shape, this.shape) || !dart.equals(typedOldClipper.textDirection, this.textDirection);
    }
  };
  (proxy_box.ShapeBorderClipper.new = function(opts) {
    let shape = opts && 'shape' in opts ? opts.shape : null;
    let textDirection = opts && 'textDirection' in opts ? opts.textDirection : null;
    this[shape$] = shape;
    this[textDirection$] = textDirection;
    if (!(shape != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1157, 15, "shape != null");
    proxy_box.ShapeBorderClipper.__proto__.new.call(this);
    ;
  }).prototype = proxy_box.ShapeBorderClipper.prototype;
  dart.addTypeTests(proxy_box.ShapeBorderClipper);
  dart.setMethodSignature(proxy_box.ShapeBorderClipper, () => ({
    __proto__: dart.getMethods(proxy_box.ShapeBorderClipper.__proto__),
    getClip: dart.fnType(ui.Path, [ui.Size]),
    shouldReclip: dart.fnType(core.bool, [core.Object])
  }));
  dart.setLibraryUri(proxy_box.ShapeBorderClipper, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.ShapeBorderClipper, () => ({
    __proto__: dart.getFields(proxy_box.ShapeBorderClipper.__proto__),
    shape: dart.finalFieldType(borders.ShapeBorder),
    textDirection: dart.finalFieldType(ui.TextDirection)
  }));
  const _clip = dart.privateName(proxy_box, "_clip");
  const _debugPaint = dart.privateName(proxy_box, "_debugPaint");
  const _debugText = dart.privateName(proxy_box, "_debugText");
  const _clipper = dart.privateName(proxy_box, "_clipper");
  const _clipBehavior$ = dart.privateName(proxy_box, "_clipBehavior");
  const _markNeedsClip = dart.privateName(proxy_box, "_markNeedsClip");
  const _defaultClip = dart.privateName(proxy_box, "_defaultClip");
  const _updateClip = dart.privateName(proxy_box, "_updateClip");
  let C82;
  let C83;
  let C85;
  const InlineSpan_style = dart.privateName(inline_span, "InlineSpan.style");
  const TextSpan_semanticsLabel = dart.privateName(text_span, "TextSpan.semanticsLabel");
  const TextSpan_recognizer = dart.privateName(text_span, "TextSpan.recognizer");
  const TextSpan_children = dart.privateName(text_span, "TextSpan.children");
  const TextSpan_text = dart.privateName(text_span, "TextSpan.text");
  let C84;
  const _is__RenderCustomClip_default = Symbol('_is__RenderCustomClip_default');
  proxy_box._RenderCustomClip$ = dart.generic(T => {
    let CustomClipperOfT = () => (CustomClipperOfT = dart.constFn(proxy_box.CustomClipper$(T)))();
    class _RenderCustomClip extends proxy_box.RenderProxyBox {
      get clipper() {
        return this[_clipper];
      }
      set clipper(newClipper) {
        let t14, t14$, t14$0, t14$1;
        CustomClipperOfT()._check(newClipper);
        if (dart.equals(this[_clipper], newClipper)) return;
        let oldClipper = this[_clipper];
        this[_clipper] = newClipper;
        if (!(newClipper != null || oldClipper != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1202, 12, "newClipper != null || oldClipper != null");
        if (newClipper == null || oldClipper == null || !dart.equals(dart.runtimeType(newClipper), dart.runtimeType(oldClipper)) || dart.test(newClipper.shouldReclip(oldClipper))) {
          this[_markNeedsClip]();
        }
        if (dart.test(this.attached)) {
          t14$ = (t14 = oldClipper, t14 == null ? null : t14[_reclip]);
          t14$ == null ? null : t14$.removeListener(dart.bind(this, _markNeedsClip));
          t14$1 = (t14$0 = newClipper, t14$0 == null ? null : t14$0[_reclip]);
          t14$1 == null ? null : t14$1.addListener(dart.bind(this, _markNeedsClip));
        }
      }
      attach(owner) {
        let t14, t14$;
        object$.PipelineOwner._check(owner);
        super.attach(owner);
        t14$ = (t14 = this[_clipper], t14 == null ? null : t14[_reclip]);
        t14$ == null ? null : t14$.addListener(dart.bind(this, _markNeedsClip));
      }
      detach() {
        let t14, t14$;
        t14$ = (t14 = this[_clipper], t14 == null ? null : t14[_reclip]);
        t14$ == null ? null : t14$.removeListener(dart.bind(this, _markNeedsClip));
        super.detach();
      }
      [_markNeedsClip]() {
        this[_clip] = null;
        this.markNeedsPaint();
        this.markNeedsSemanticsUpdate();
      }
      get clipBehavior() {
        return this[_clipBehavior$];
      }
      set clipBehavior(value) {
        if (!dart.equals(value, this[_clipBehavior$])) {
          this[_clipBehavior$] = value;
          this.markNeedsPaint();
        }
      }
      performLayout() {
        let oldSize = dart.test(this.hasSize) ? this.size : null;
        super.performLayout();
        if (!dart.equals(oldSize, this.size)) this[_clip] = null;
      }
      [_updateClip]() {
        let t14, t14$;
        this[_clip] == null ? this[_clip] = (t14$ = (t14 = this[_clipper], t14 == null ? null : t14.getClip(this.size)), t14$ == null ? this[_defaultClip] : t14$) : null;
      }
      describeApproximatePaintClip(child) {
        let t14, t14$;
        object$.RenderObject._check(child);
        t14$ = (t14 = this[_clipper], t14 == null ? null : t14.getApproximateClipRect(this.size));
        return t14$ == null ? ui.Offset.zero['&'](this.size) : t14$;
      }
      debugPaintSize(context, offset) {
        if (!dart.test(dart.fn(() => {
          let t14, t14$;
          this[_debugPaint] == null ? this[_debugPaint] = (t14 = ui.Paint.new(), t14.shader = ui.Gradient.linear(C7 || CT.C7, C41 || CT.C41, JSArrayOfColor().of([C82 || CT.C82, C83 || CT.C83, C83 || CT.C83, C82 || CT.C82]), JSArrayOfdouble().of([0.25, 0.25, 0.75, 0.75]), ui.TileMode.repeated), t14.strokeWidth = 2.0, t14.style = ui.PaintingStyle.stroke, t14) : null;
          this[_debugText] == null ? this[_debugText] = (t14$ = new text_painter.TextPainter.new({text: C84 || CT.C84, textDirection: ui.TextDirection.rtl}), t14$.layout(), t14$) : null;
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1265, 12, "() {\r\n      _debugPaint ??= Paint()\r\n        ..shader = ui.Gradient.linear(\r\n          const Offset(0.0, 0.0),\r\n          const Offset(10.0, 10.0),\r\n          <Color>[const Color(0x00000000), const Color(0xFFFF00FF), const Color(0xFFFF00FF), const Color(0x00000000)],\r\n          <double>[0.25, 0.25, 0.75, 0.75],\r\n          TileMode.repeated,\r\n        )\r\n        ..strokeWidth = 2.0\r\n        ..style = PaintingStyle.stroke;\r\n      _debugText ??= TextPainter(\r\n        text: const TextSpan(\r\n          text: '✂',\r\n          style: TextStyle(\r\n            color: Color(0xFFFF00FF),\r\n              fontSize: 14.0,\r\n            ),\r\n          ),\r\n          textDirection: TextDirection.rtl, // doesn't matter, it's one character\r\n        )\r\n        ..layout();\r\n      return true;\r\n    }()");
      }
    }
    (_RenderCustomClip.new = function(opts) {
      let child = opts && 'child' in opts ? opts.child : null;
      let clipper = opts && 'clipper' in opts ? opts.clipper : null;
      let clipBehavior = opts && 'clipBehavior' in opts ? opts.clipBehavior : C2 || CT.C2;
      this[_clip] = null;
      this[_debugPaint] = null;
      this[_debugText] = null;
      if (!(clipBehavior != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1189, 15, "clipBehavior != null");
      this[_clipper] = clipper;
      this[_clipBehavior$] = clipBehavior;
      _RenderCustomClip.__proto__.new.call(this, child);
      ;
    }).prototype = _RenderCustomClip.prototype;
    dart.addTypeTests(_RenderCustomClip);
    _RenderCustomClip.prototype[_is__RenderCustomClip_default] = true;
    dart.setMethodSignature(_RenderCustomClip, () => ({
      __proto__: dart.getMethods(_RenderCustomClip.__proto__),
      [_markNeedsClip]: dart.fnType(dart.void, []),
      [_updateClip]: dart.fnType(dart.void, [])
    }));
    dart.setGetterSignature(_RenderCustomClip, () => ({
      __proto__: dart.getGetters(_RenderCustomClip.__proto__),
      clipper: proxy_box.CustomClipper$(T),
      clipBehavior: ui.Clip
    }));
    dart.setSetterSignature(_RenderCustomClip, () => ({
      __proto__: dart.getSetters(_RenderCustomClip.__proto__),
      clipper: core.Object,
      clipBehavior: ui.Clip
    }));
    dart.setLibraryUri(_RenderCustomClip, "package:flutter/src/rendering/proxy_box.dart");
    dart.setFieldSignature(_RenderCustomClip, () => ({
      __proto__: dart.getFields(_RenderCustomClip.__proto__),
      [_clipper]: dart.fieldType(proxy_box.CustomClipper$(T)),
      [_clip]: dart.fieldType(T),
      [_clipBehavior$]: dart.fieldType(ui.Clip),
      [_debugPaint]: dart.fieldType(ui.Paint),
      [_debugText]: dart.fieldType(text_painter.TextPainter)
    }));
    return _RenderCustomClip;
  });
  proxy_box._RenderCustomClip = proxy_box._RenderCustomClip$();
  dart.addTypeTests(proxy_box._RenderCustomClip, _is__RenderCustomClip_default);
  proxy_box.RenderClipRect = class RenderClipRect extends proxy_box._RenderCustomClip$(ui.Rect) {
    get [_defaultClip]() {
      return ui.Offset.zero['&'](this.size);
    }
    hitTest(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      if (this[_clipper] != null) {
        this[_updateClip]();
        if (!(this[_clip] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1319, 14, "_clip != null");
        if (!dart.test(this[_clip].contains(position))) return false;
      }
      return super.hitTest(result, {position: position});
    }
    paint(context, offset) {
      if (this.child != null) {
        this[_updateClip]();
        this.layer = context.pushClipRect(this.needsCompositing, offset, this[_clip], dart.bind(this, 'paint', super.paint), {clipBehavior: this.clipBehavior, oldLayer: layer$.ClipRectLayer.as(this.layer)});
      } else {
        this.layer = null;
      }
    }
    debugPaintSize(context, offset) {
      if (!dart.test(dart.fn(() => {
        if (this.child != null) {
          super.debugPaintSize(context, offset);
          context.canvas.drawRect(this[_clip].shift(offset), this[_debugPaint]);
          this[_debugText].paint(context.canvas, offset['+'](new ui.Offset.new(dart.notNull(this[_clip].width) / 8.0, -dart.notNull(this[_debugText].text.style.fontSize) * 1.1)));
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1345, 12, "() {\r\n      if (child != null) {\r\n        super.debugPaintSize(context, offset);\r\n        context.canvas.drawRect(_clip.shift(offset), _debugPaint);\r\n        _debugText.paint(context.canvas, offset + Offset(_clip.width / 8.0, -_debugText.text.style.fontSize * 1.1));\r\n      }\r\n      return true;\r\n    }()");
    }
  };
  (proxy_box.RenderClipRect.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let clipper = opts && 'clipper' in opts ? opts.clipper : null;
    let clipBehavior = opts && 'clipBehavior' in opts ? opts.clipBehavior : C2 || CT.C2;
    if (!(clipBehavior != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1308, 15, "clipBehavior != null");
    if (!!dart.equals(clipBehavior, ui.Clip.none)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1309, 15, "clipBehavior != Clip.none");
    proxy_box.RenderClipRect.__proto__.new.call(this, {child: child, clipper: clipper, clipBehavior: clipBehavior});
    ;
  }).prototype = proxy_box.RenderClipRect.prototype;
  dart.addTypeTests(proxy_box.RenderClipRect);
  dart.setGetterSignature(proxy_box.RenderClipRect, () => ({
    __proto__: dart.getGetters(proxy_box.RenderClipRect.__proto__),
    [_defaultClip]: ui.Rect
  }));
  dart.setLibraryUri(proxy_box.RenderClipRect, "package:flutter/src/rendering/proxy_box.dart");
  const Radius_y = dart.privateName(ui, "Radius.y");
  const Radius_x = dart.privateName(ui, "Radius.x");
  let C87;
  const BorderRadius_bottomRight = dart.privateName(border_radius, "BorderRadius.bottomRight");
  const BorderRadius_bottomLeft = dart.privateName(border_radius, "BorderRadius.bottomLeft");
  const BorderRadius_topRight = dart.privateName(border_radius, "BorderRadius.topRight");
  const BorderRadius_topLeft = dart.privateName(border_radius, "BorderRadius.topLeft");
  let C86;
  const _borderRadius = dart.privateName(proxy_box, "_borderRadius");
  proxy_box.RenderClipRRect = class RenderClipRRect extends proxy_box._RenderCustomClip$(ui.RRect) {
    get borderRadius() {
      return this[_borderRadius];
    }
    set borderRadius(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1391, 12, "value != null");
      if (dart.equals(this[_borderRadius], value)) return;
      this[_borderRadius] = value;
      this[_markNeedsClip]();
    }
    get [_defaultClip]() {
      return this[_borderRadius].toRRect(ui.Offset.zero['&'](this.size));
    }
    hitTest(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      if (this[_clipper] != null) {
        this[_updateClip]();
        if (!(this[_clip] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1405, 14, "_clip != null");
        if (!dart.test(this[_clip].contains(position))) return false;
      }
      return super.hitTest(result, {position: position});
    }
    paint(context, offset) {
      if (this.child != null) {
        this[_updateClip]();
        this.layer = context.pushClipRRect(this.needsCompositing, offset, this[_clip].outerRect, this[_clip], dart.bind(this, 'paint', super.paint), {clipBehavior: this.clipBehavior, oldLayer: layer$.ClipRRectLayer.as(this.layer)});
      } else {
        this.layer = null;
      }
    }
    debugPaintSize(context, offset) {
      if (!dart.test(dart.fn(() => {
        if (this.child != null) {
          super.debugPaintSize(context, offset);
          context.canvas.drawRRect(this[_clip].shift(offset), this[_debugPaint]);
          this[_debugText].paint(context.canvas, offset['+'](new ui.Offset.new(this[_clip].tlRadiusX, -dart.notNull(this[_debugText].text.style.fontSize) * 1.1)));
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1430, 12, "() {\r\n      if (child != null) {\r\n        super.debugPaintSize(context, offset);\r\n        context.canvas.drawRRect(_clip.shift(offset), _debugPaint);\r\n        _debugText.paint(context.canvas, offset + Offset(_clip.tlRadiusX, -_debugText.text.style.fontSize * 1.1));\r\n      }\r\n      return true;\r\n    }()");
    }
  };
  (proxy_box.RenderClipRRect.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let borderRadius = opts && 'borderRadius' in opts ? opts.borderRadius : C86 || CT.C86;
    let clipper = opts && 'clipper' in opts ? opts.clipper : null;
    let clipBehavior = opts && 'clipBehavior' in opts ? opts.clipBehavior : C2 || CT.C2;
    if (!(clipBehavior != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1375, 15, "clipBehavior != null");
    if (!!dart.equals(clipBehavior, ui.Clip.none)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1376, 15, "clipBehavior != Clip.none");
    this[_borderRadius] = borderRadius;
    proxy_box.RenderClipRRect.__proto__.new.call(this, {child: child, clipper: clipper, clipBehavior: clipBehavior});
    if (!(this[_borderRadius] != null || clipper != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1379, 12, "_borderRadius != null || clipper != null");
  }).prototype = proxy_box.RenderClipRRect.prototype;
  dart.addTypeTests(proxy_box.RenderClipRRect);
  dart.setGetterSignature(proxy_box.RenderClipRRect, () => ({
    __proto__: dart.getGetters(proxy_box.RenderClipRRect.__proto__),
    borderRadius: border_radius.BorderRadius,
    [_defaultClip]: ui.RRect
  }));
  dart.setSetterSignature(proxy_box.RenderClipRRect, () => ({
    __proto__: dart.getSetters(proxy_box.RenderClipRRect.__proto__),
    borderRadius: border_radius.BorderRadius
  }));
  dart.setLibraryUri(proxy_box.RenderClipRRect, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderClipRRect, () => ({
    __proto__: dart.getFields(proxy_box.RenderClipRRect.__proto__),
    [_borderRadius]: dart.fieldType(border_radius.BorderRadius)
  }));
  const _cachedRect = dart.privateName(proxy_box, "_cachedRect");
  const _cachedPath = dart.privateName(proxy_box, "_cachedPath");
  const _getClipPath = dart.privateName(proxy_box, "_getClipPath");
  proxy_box.RenderClipOval = class RenderClipOval extends proxy_box._RenderCustomClip$(ui.Rect) {
    [_getClipPath](rect) {
      let t14;
      if (!dart.equals(rect, this[_cachedRect])) {
        this[_cachedRect] = rect;
        this[_cachedPath] = (t14 = ui.Path.new(), t14.addOval(this[_cachedRect]), t14);
      }
      return this[_cachedPath];
    }
    get [_defaultClip]() {
      return ui.Offset.zero['&'](this.size);
    }
    hitTest(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      this[_updateClip]();
      if (!(this[_clip] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1478, 12, "_clip != null");
      let center = this[_clip].center;
      let offset = new ui.Offset.new((dart.notNull(position.dx) - dart.notNull(center.dx)) / dart.notNull(this[_clip].width), (dart.notNull(position.dy) - dart.notNull(center.dy)) / dart.notNull(this[_clip].height));
      if (dart.notNull(offset.distanceSquared) > 0.25) return false;
      return super.hitTest(result, {position: position});
    }
    paint(context, offset) {
      if (this.child != null) {
        this[_updateClip]();
        this.layer = context.pushClipPath(this.needsCompositing, offset, this[_clip], this[_getClipPath](this[_clip]), dart.bind(this, 'paint', super.paint), {clipBehavior: this.clipBehavior, oldLayer: layer$.ClipPathLayer.as(this.layer)});
      } else {
        this.layer = null;
      }
    }
    debugPaintSize(context, offset) {
      if (!dart.test(dart.fn(() => {
        if (this.child != null) {
          super.debugPaintSize(context, offset);
          context.canvas.drawPath(this[_getClipPath](this[_clip]).shift(offset), this[_debugPaint]);
          this[_debugText].paint(context.canvas, offset['+'](new ui.Offset.new((dart.notNull(this[_clip].width) - dart.notNull(this[_debugText].width)) / 2.0, -dart.notNull(this[_debugText].text.style.fontSize) * 1.1)));
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1509, 12, "() {\r\n      if (child != null) {\r\n        super.debugPaintSize(context, offset);\r\n        context.canvas.drawPath(_getClipPath(_clip).shift(offset), _debugPaint);\r\n        _debugText.paint(context.canvas, offset + Offset((_clip.width - _debugText.width) / 2.0, -_debugText.text.style.fontSize * 1.1));\r\n      }\r\n      return true;\r\n    }()");
    }
  };
  (proxy_box.RenderClipOval.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let clipper = opts && 'clipper' in opts ? opts.clipper : null;
    let clipBehavior = opts && 'clipBehavior' in opts ? opts.clipBehavior : C2 || CT.C2;
    this[_cachedRect] = null;
    this[_cachedPath] = null;
    if (!(clipBehavior != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1457, 15, "clipBehavior != null");
    if (!!dart.equals(clipBehavior, ui.Clip.none)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1458, 15, "clipBehavior != Clip.none");
    proxy_box.RenderClipOval.__proto__.new.call(this, {child: child, clipper: clipper, clipBehavior: clipBehavior});
    ;
  }).prototype = proxy_box.RenderClipOval.prototype;
  dart.addTypeTests(proxy_box.RenderClipOval);
  dart.setMethodSignature(proxy_box.RenderClipOval, () => ({
    __proto__: dart.getMethods(proxy_box.RenderClipOval.__proto__),
    [_getClipPath]: dart.fnType(ui.Path, [ui.Rect])
  }));
  dart.setGetterSignature(proxy_box.RenderClipOval, () => ({
    __proto__: dart.getGetters(proxy_box.RenderClipOval.__proto__),
    [_defaultClip]: ui.Rect
  }));
  dart.setLibraryUri(proxy_box.RenderClipOval, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderClipOval, () => ({
    __proto__: dart.getFields(proxy_box.RenderClipOval.__proto__),
    [_cachedRect]: dart.fieldType(ui.Rect),
    [_cachedPath]: dart.fieldType(ui.Path)
  }));
  proxy_box.RenderClipPath = class RenderClipPath extends proxy_box._RenderCustomClip$(ui.Path) {
    get [_defaultClip]() {
      let t14;
      t14 = ui.Path.new();
      t14.addRect(ui.Offset.zero['&'](this.size));
      return t14;
    }
    hitTest(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      if (this[_clipper] != null) {
        this[_updateClip]();
        if (!(this[_clip] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1555, 14, "_clip != null");
        if (!dart.test(this[_clip].contains(position))) return false;
      }
      return super.hitTest(result, {position: position});
    }
    paint(context, offset) {
      if (this.child != null) {
        this[_updateClip]();
        this.layer = context.pushClipPath(this.needsCompositing, offset, ui.Offset.zero['&'](this.size), this[_clip], dart.bind(this, 'paint', super.paint), {clipBehavior: this.clipBehavior, oldLayer: layer$.ClipPathLayer.as(this.layer)});
      } else {
        this.layer = null;
      }
    }
    debugPaintSize(context, offset) {
      if (!dart.test(dart.fn(() => {
        if (this.child != null) {
          super.debugPaintSize(context, offset);
          context.canvas.drawPath(this[_clip].shift(offset), this[_debugPaint]);
          this[_debugText].paint(context.canvas, offset);
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1582, 12, "() {\r\n      if (child != null) {\r\n        super.debugPaintSize(context, offset);\r\n        context.canvas.drawPath(_clip.shift(offset), _debugPaint);\r\n        _debugText.paint(context.canvas, offset);\r\n      }\r\n      return true;\r\n    }()");
    }
  };
  (proxy_box.RenderClipPath.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let clipper = opts && 'clipper' in opts ? opts.clipper : null;
    let clipBehavior = opts && 'clipBehavior' in opts ? opts.clipBehavior : C2 || CT.C2;
    if (!(clipBehavior != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1544, 15, "clipBehavior != null");
    if (!!dart.equals(clipBehavior, ui.Clip.none)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1545, 15, "clipBehavior != Clip.none");
    proxy_box.RenderClipPath.__proto__.new.call(this, {child: child, clipper: clipper, clipBehavior: clipBehavior});
    ;
  }).prototype = proxy_box.RenderClipPath.prototype;
  dart.addTypeTests(proxy_box.RenderClipPath);
  dart.setGetterSignature(proxy_box.RenderClipPath, () => ({
    __proto__: dart.getGetters(proxy_box.RenderClipPath.__proto__),
    [_defaultClip]: ui.Path
  }));
  dart.setLibraryUri(proxy_box.RenderClipPath, "package:flutter/src/rendering/proxy_box.dart");
  const _elevation$ = dart.privateName(proxy_box, "_elevation");
  const _color$ = dart.privateName(proxy_box, "_color");
  const _shadowColor$ = dart.privateName(proxy_box, "_shadowColor");
  const _is__RenderPhysicalModelBase_default = Symbol('_is__RenderPhysicalModelBase_default');
  proxy_box._RenderPhysicalModelBase$ = dart.generic(T => {
    class _RenderPhysicalModelBase extends proxy_box._RenderCustomClip$(T) {
      get elevation() {
        return this[_elevation$];
      }
      set elevation(value) {
        if (!(value != null && dart.notNull(value) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1625, 12, "value != null && value >= 0.0");
        if (this.elevation == value) return;
        let didNeedCompositing = this.alwaysNeedsCompositing;
        this[_elevation$] = value;
        if (!dart.equals(didNeedCompositing, this.alwaysNeedsCompositing)) this.markNeedsCompositingBitsUpdate();
        this.markNeedsPaint();
      }
      get shadowColor() {
        return this[_shadowColor$];
      }
      set shadowColor(value) {
        if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1639, 12, "value != null");
        if (dart.equals(this.shadowColor, value)) return;
        this[_shadowColor$] = value;
        this.markNeedsPaint();
      }
      get color() {
        return this[_color$];
      }
      set color(value) {
        if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1650, 12, "value != null");
        if (dart.equals(this.color, value)) return;
        this[_color$] = value;
        this.markNeedsPaint();
      }
      get alwaysNeedsCompositing() {
        return true;
      }
      describeSemanticsConfiguration(config) {
        super.describeSemanticsConfiguration(config);
        config.elevation = this.elevation;
      }
      debugFillProperties(description) {
        super.debugFillProperties(description);
        description.add(new diagnostics.DoubleProperty.new("elevation", this.elevation));
        description.add(new colors.ColorProperty.new("color", this.color));
        description.add(new colors.ColorProperty.new("shadowColor", this.color));
      }
    }
    (_RenderPhysicalModelBase.new = function(opts) {
      let child = opts && 'child' in opts ? opts.child : null;
      let elevation = opts && 'elevation' in opts ? opts.elevation : null;
      let color = opts && 'color' in opts ? opts.color : null;
      let shadowColor = opts && 'shadowColor' in opts ? opts.shadowColor : null;
      let clipBehavior = opts && 'clipBehavior' in opts ? opts.clipBehavior : C9 || CT.C9;
      let clipper = opts && 'clipper' in opts ? opts.clipper : null;
      if (!(elevation != null && dart.notNull(elevation) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1607, 15, "elevation != null && elevation >= 0.0");
      if (!(color != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1608, 15, "color != null");
      if (!(shadowColor != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1609, 15, "shadowColor != null");
      if (!(clipBehavior != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1610, 15, "clipBehavior != null");
      this[_elevation$] = elevation;
      this[_color$] = color;
      this[_shadowColor$] = shadowColor;
      _RenderPhysicalModelBase.__proto__.new.call(this, {child: child, clipBehavior: clipBehavior, clipper: clipper});
      ;
    }).prototype = _RenderPhysicalModelBase.prototype;
    dart.addTypeTests(_RenderPhysicalModelBase);
    _RenderPhysicalModelBase.prototype[_is__RenderPhysicalModelBase_default] = true;
    dart.setGetterSignature(_RenderPhysicalModelBase, () => ({
      __proto__: dart.getGetters(_RenderPhysicalModelBase.__proto__),
      elevation: core.double,
      shadowColor: ui.Color,
      color: ui.Color
    }));
    dart.setSetterSignature(_RenderPhysicalModelBase, () => ({
      __proto__: dart.getSetters(_RenderPhysicalModelBase.__proto__),
      elevation: core.double,
      shadowColor: ui.Color,
      color: ui.Color
    }));
    dart.setLibraryUri(_RenderPhysicalModelBase, "package:flutter/src/rendering/proxy_box.dart");
    dart.setFieldSignature(_RenderPhysicalModelBase, () => ({
      __proto__: dart.getFields(_RenderPhysicalModelBase.__proto__),
      [_elevation$]: dart.fieldType(core.double),
      [_shadowColor$]: dart.fieldType(ui.Color),
      [_color$]: dart.fieldType(ui.Color)
    }));
    return _RenderPhysicalModelBase;
  });
  proxy_box._RenderPhysicalModelBase = proxy_box._RenderPhysicalModelBase$();
  dart.addTypeTests(proxy_box._RenderPhysicalModelBase, _is__RenderPhysicalModelBase_default);
  const _name$8 = dart.privateName(box_border, "_name");
  let C88;
  let C89;
  const _shape = dart.privateName(proxy_box, "_shape");
  let C90;
  proxy_box.RenderPhysicalModel = class RenderPhysicalModel extends proxy_box._RenderPhysicalModelBase$(ui.RRect) {
    get layer() {
      return layer$.PhysicalModelLayer.as(super.layer);
    }
    set layer(value) {
      super.layer = value;
    }
    get shape() {
      return this[_shape];
    }
    set shape(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1720, 12, "value != null");
      if (dart.equals(this.shape, value)) return;
      this[_shape] = value;
      this[_markNeedsClip]();
    }
    get borderRadius() {
      return this[_borderRadius];
    }
    set borderRadius(value) {
      if (dart.equals(this.borderRadius, value)) return;
      this[_borderRadius] = value;
      this[_markNeedsClip]();
    }
    get [_defaultClip]() {
      let t14;
      if (!dart.test(this.hasSize)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1746, 12, "hasSize");
      if (!(this[_shape] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1747, 12, "_shape != null");
      switch (this[_shape]) {
        case C88 || CT.C88:
        {
          return (t14 = this.borderRadius, t14 == null ? border_radius.BorderRadius.zero : t14).toRRect(ui.Offset.zero['&'](this.size));
        }
        case C90 || CT.C90:
        {
          let rect = ui.Offset.zero['&'](this.size);
          return new ui.RRect.fromRectXY(rect, dart.notNull(rect.width) / 2, dart.notNull(rect.height) / 2);
        }
      }
      return null;
    }
    hitTest(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      if (this[_clipper] != null) {
        this[_updateClip]();
        if (!(this[_clip] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1762, 14, "_clip != null");
        if (!dart.test(this[_clip].contains(position))) return false;
      }
      return super.hitTest(result, {position: position});
    }
    paint(context, offset) {
      let t14, t14$;
      if (this.child != null) {
        this[_updateClip]();
        let offsetRRect = this[_clip].shift(offset);
        let offsetBounds = offsetRRect.outerRect;
        let offsetRRectAsPath = (t14 = ui.Path.new(), t14.addRRect(offsetRRect), t14);
        let paintShadows = true;
        if (!dart.test(dart.fn(() => {
          let t14;
          if (dart.test(debug$.debugDisableShadows)) {
            if (dart.notNull(this.elevation) > 0.0) {
              context.canvas.drawRRect(offsetRRect, (t14 = ui.Paint.new(), t14.color = this.shadowColor, t14.style = ui.PaintingStyle.stroke, t14.strokeWidth = dart.notNull(this.elevation) * 2.0, t14));
            }
            paintShadows = false;
          }
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1777, 14, "() {\r\n        if (debugDisableShadows) {\r\n          if (elevation > 0.0) {\r\n            context.canvas.drawRRect(\r\n              offsetRRect,\r\n              Paint()\r\n                ..color = shadowColor\r\n                ..style = PaintingStyle.stroke\r\n                ..strokeWidth = elevation * 2.0,\r\n            );\r\n          }\r\n          paintShadows = false;\r\n        }\r\n        return true;\r\n      }()");
        this.layer == null ? this.layer = new layer$.PhysicalModelLayer.new() : null;
        t14$ = this.layer;
        t14$.clipPath = offsetRRectAsPath;
        t14$.clipBehavior = this.clipBehavior;
        t14$.elevation = paintShadows ? this.elevation : 0.0;
        t14$.color = this.color;
        t14$.shadowColor = this.shadowColor;
        t14$;
        context.pushLayer(this.layer, dart.bind(this, 'paint', super.paint), offset, {childPaintBounds: offsetBounds});
        if (!dart.test(dart.fn(() => {
          this.layer.debugCreator = this.debugCreator;
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1800, 14, "() {\r\n        layer.debugCreator = debugCreator;\r\n        return true;\r\n      }()");
      } else {
        this.layer = null;
      }
    }
    debugFillProperties(description) {
      super.debugFillProperties(description);
      description.add(new (DiagnosticsPropertyOfBoxShape()).new("shape", this.shape));
      description.add(new (DiagnosticsPropertyOfBorderRadius()).new("borderRadius", this.borderRadius));
    }
  };
  (proxy_box.RenderPhysicalModel.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let shape = opts && 'shape' in opts ? opts.shape : C88 || CT.C88;
    let clipBehavior = opts && 'clipBehavior' in opts ? opts.clipBehavior : C9 || CT.C9;
    let borderRadius = opts && 'borderRadius' in opts ? opts.borderRadius : null;
    let elevation = opts && 'elevation' in opts ? opts.elevation : 0;
    let color = opts && 'color' in opts ? opts.color : null;
    let shadowColor = opts && 'shadowColor' in opts ? opts.shadowColor : C89 || CT.C89;
    if (!(shape != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1695, 15, "shape != null");
    if (!(clipBehavior != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1696, 15, "clipBehavior != null");
    if (!(elevation != null && dart.notNull(elevation) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1697, 15, "elevation != null && elevation >= 0.0");
    if (!(color != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1698, 15, "color != null");
    if (!(shadowColor != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1699, 15, "shadowColor != null");
    this[_shape] = shape;
    this[_borderRadius] = borderRadius;
    proxy_box.RenderPhysicalModel.__proto__.new.call(this, {clipBehavior: clipBehavior, child: child, elevation: elevation, color: color, shadowColor: shadowColor});
    ;
  }).prototype = proxy_box.RenderPhysicalModel.prototype;
  dart.addTypeTests(proxy_box.RenderPhysicalModel);
  dart.setGetterSignature(proxy_box.RenderPhysicalModel, () => ({
    __proto__: dart.getGetters(proxy_box.RenderPhysicalModel.__proto__),
    layer: layer$.PhysicalModelLayer,
    shape: box_border.BoxShape,
    borderRadius: border_radius.BorderRadius,
    [_defaultClip]: ui.RRect
  }));
  dart.setSetterSignature(proxy_box.RenderPhysicalModel, () => ({
    __proto__: dart.getSetters(proxy_box.RenderPhysicalModel.__proto__),
    shape: box_border.BoxShape,
    borderRadius: border_radius.BorderRadius
  }));
  dart.setLibraryUri(proxy_box.RenderPhysicalModel, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderPhysicalModel, () => ({
    __proto__: dart.getFields(proxy_box.RenderPhysicalModel.__proto__),
    [_shape]: dart.fieldType(box_border.BoxShape),
    [_borderRadius]: dart.fieldType(border_radius.BorderRadius)
  }));
  proxy_box.RenderPhysicalShape = class RenderPhysicalShape extends proxy_box._RenderPhysicalModelBase$(ui.Path) {
    get layer() {
      return layer$.PhysicalModelLayer.as(super.layer);
    }
    set layer(value) {
      super.layer = value;
    }
    get [_defaultClip]() {
      let t14;
      t14 = ui.Path.new();
      t14.addRect(ui.Offset.zero['&'](this.size));
      return t14;
    }
    hitTest(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      if (this[_clipper] != null) {
        this[_updateClip]();
        if (!(this[_clip] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1862, 14, "_clip != null");
        if (!dart.test(this[_clip].contains(position))) return false;
      }
      return super.hitTest(result, {position: position});
    }
    paint(context, offset) {
      let t14;
      if (this.child != null) {
        this[_updateClip]();
        let offsetBounds = offset['&'](this.size);
        let offsetPath = this[_clip].shift(offset);
        let paintShadows = true;
        if (!dart.test(dart.fn(() => {
          let t14;
          if (dart.test(debug$.debugDisableShadows)) {
            if (dart.notNull(this.elevation) > 0.0) {
              context.canvas.drawPath(offsetPath, (t14 = ui.Paint.new(), t14.color = this.shadowColor, t14.style = ui.PaintingStyle.stroke, t14.strokeWidth = dart.notNull(this.elevation) * 2.0, t14));
            }
            paintShadows = false;
          }
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1876, 14, "() {\r\n        if (debugDisableShadows) {\r\n          if (elevation > 0.0) {\r\n            context.canvas.drawPath(\r\n              offsetPath,\r\n              Paint()\r\n                ..color = shadowColor\r\n                ..style = PaintingStyle.stroke\r\n                ..strokeWidth = elevation * 2.0,\r\n            );\r\n          }\r\n          paintShadows = false;\r\n        }\r\n        return true;\r\n      }()");
        this.layer == null ? this.layer = new layer$.PhysicalModelLayer.new() : null;
        t14 = this.layer;
        t14.clipPath = offsetPath;
        t14.clipBehavior = this.clipBehavior;
        t14.elevation = paintShadows ? this.elevation : 0.0;
        t14.color = this.color;
        t14.shadowColor = this.shadowColor;
        t14;
        context.pushLayer(this.layer, dart.bind(this, 'paint', super.paint), offset, {childPaintBounds: offsetBounds});
        if (!dart.test(dart.fn(() => {
          this.layer.debugCreator = this.debugCreator;
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1899, 14, "() {\r\n        layer.debugCreator = debugCreator;\r\n        return true;\r\n      }()");
      } else {
        this.layer = null;
      }
    }
    debugFillProperties(description) {
      super.debugFillProperties(description);
      description.add(new (DiagnosticsPropertyOfCustomClipperOfPath()).new("clipper", this.clipper));
    }
  };
  (proxy_box.RenderPhysicalShape.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let clipper = opts && 'clipper' in opts ? opts.clipper : null;
    let clipBehavior = opts && 'clipBehavior' in opts ? opts.clipBehavior : C9 || CT.C9;
    let elevation = opts && 'elevation' in opts ? opts.elevation : 0;
    let color = opts && 'color' in opts ? opts.color : null;
    let shadowColor = opts && 'shadowColor' in opts ? opts.shadowColor : C89 || CT.C89;
    if (!(clipper != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1839, 15, "clipper != null");
    if (!(elevation != null && dart.notNull(elevation) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1840, 15, "elevation != null && elevation >= 0.0");
    if (!(color != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1841, 15, "color != null");
    if (!(shadowColor != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1842, 15, "shadowColor != null");
    proxy_box.RenderPhysicalShape.__proto__.new.call(this, {child: child, elevation: elevation, color: color, shadowColor: shadowColor, clipper: clipper, clipBehavior: clipBehavior});
    ;
  }).prototype = proxy_box.RenderPhysicalShape.prototype;
  dart.addTypeTests(proxy_box.RenderPhysicalShape);
  dart.setGetterSignature(proxy_box.RenderPhysicalShape, () => ({
    __proto__: dart.getGetters(proxy_box.RenderPhysicalShape.__proto__),
    layer: layer$.PhysicalModelLayer,
    [_defaultClip]: ui.Path
  }));
  dart.setLibraryUri(proxy_box.RenderPhysicalShape, "package:flutter/src/rendering/proxy_box.dart");
  let C91;
  let C92;
  let C93;
  proxy_box.DecorationPosition = class DecorationPosition extends core.Object {
    toString() {
      return this[_name$7];
    }
  };
  (proxy_box.DecorationPosition.new = function(index, _name) {
    this.index = index;
    this[_name$7] = _name;
    ;
  }).prototype = proxy_box.DecorationPosition.prototype;
  dart.addTypeTests(proxy_box.DecorationPosition);
  dart.setLibraryUri(proxy_box.DecorationPosition, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.DecorationPosition, () => ({
    __proto__: dart.getFields(proxy_box.DecorationPosition.__proto__),
    index: dart.finalFieldType(core.int),
    [_name$7]: dart.finalFieldType(core.String)
  }));
  dart.defineExtensionMethods(proxy_box.DecorationPosition, ['toString']);
  proxy_box.DecorationPosition.background = C91 || CT.C91;
  proxy_box.DecorationPosition.foreground = C92 || CT.C92;
  proxy_box.DecorationPosition.values = C93 || CT.C93;
  const ImageConfiguration_platform = dart.privateName(image_provider, "ImageConfiguration.platform");
  const ImageConfiguration_size = dart.privateName(image_provider, "ImageConfiguration.size");
  const ImageConfiguration_textDirection = dart.privateName(image_provider, "ImageConfiguration.textDirection");
  const ImageConfiguration_locale = dart.privateName(image_provider, "ImageConfiguration.locale");
  const ImageConfiguration_devicePixelRatio = dart.privateName(image_provider, "ImageConfiguration.devicePixelRatio");
  const ImageConfiguration_bundle = dart.privateName(image_provider, "ImageConfiguration.bundle");
  let C94;
  const _painter = dart.privateName(proxy_box, "_painter");
  const _decoration = dart.privateName(proxy_box, "_decoration");
  const _position = dart.privateName(proxy_box, "_position");
  const _configuration$ = dart.privateName(proxy_box, "_configuration");
  proxy_box.RenderDecoratedBox = class RenderDecoratedBox extends proxy_box.RenderProxyBox {
    get decoration() {
      return this[_decoration];
    }
    set decoration(value) {
      let t14;
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1954, 12, "value != null");
      if (dart.equals(value, this[_decoration])) return;
      t14 = this[_painter];
      t14 == null ? null : t14.dispose();
      this[_painter] = null;
      this[_decoration] = value;
      this.markNeedsPaint();
    }
    get position() {
      return this[_position];
    }
    set position(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1967, 12, "value != null");
      if (dart.equals(value, this[_position])) return;
      this[_position] = value;
      this.markNeedsPaint();
    }
    get configuration() {
      return this[_configuration$];
    }
    set configuration(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1983, 12, "value != null");
      if (dart.equals(value, this[_configuration$])) return;
      this[_configuration$] = value;
      this.markNeedsPaint();
    }
    detach() {
      let t14;
      t14 = this[_painter];
      t14 == null ? null : t14.dispose();
      this[_painter] = null;
      super.detach();
      this.markNeedsPaint();
    }
    hitTestSelf(position) {
      return this[_decoration].hitTest(this.size, position, {textDirection: this.configuration.textDirection});
    }
    paint(context, offset) {
      if (!(this.size.width != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 2010, 12, "size.width != null");
      if (!(this.size.height != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 2011, 12, "size.height != null");
      this[_painter] == null ? this[_painter] = this[_decoration].createBoxPainter(dart.bind(this, 'markNeedsPaint')) : null;
      let filledConfiguration = this.configuration.copyWith({size: this.size});
      if (dart.equals(this.position, proxy_box.DecorationPosition.background)) {
        let debugSaveCount = null;
        if (!dart.test(dart.fn(() => {
          debugSaveCount = context.canvas.getSaveCount();
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 2016, 14, "() {\r\n        debugSaveCount = context.canvas.getSaveCount();\r\n        return true;\r\n      }()");
        this[_painter].paint(context.canvas, offset, filledConfiguration);
        if (!dart.test(dart.fn(() => {
          if (debugSaveCount != context.canvas.getSaveCount()) {
            dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new(dart.str(dart.runtimeType(this[_decoration])) + " painter had mismatching save and restore calls."), new assertions.ErrorDescription.new("Before painting the decoration, the canvas save count was " + dart.str(debugSaveCount) + ". " + "After painting it, the canvas save count was " + dart.str(context.canvas.getSaveCount()) + ". " + "Every call to save() or saveLayer() must be matched by a call to restore()."), new (DiagnosticsPropertyOfDecoration()).new("The decoration was", this.decoration, {style: diagnostics.DiagnosticsTreeStyle.errorProperty}), new (DiagnosticsPropertyOfBoxPainter()).new("The painter was", this[_painter], {style: diagnostics.DiagnosticsTreeStyle.errorProperty})])));
          }
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 2021, 14, "() {\r\n        if (debugSaveCount != context.canvas.getSaveCount()) {\r\n          throw FlutterError.fromParts(<DiagnosticsNode>[\r\n            ErrorSummary('${_decoration.runtimeType} painter had mismatching save and restore calls.'),\r\n            ErrorDescription(\r\n              'Before painting the decoration, the canvas save count was $debugSaveCount. '\r\n              'After painting it, the canvas save count was ${context.canvas.getSaveCount()}. '\r\n              'Every call to save() or saveLayer() must be matched by a call to restore().'\r\n            ),\r\n            DiagnosticsProperty<Decoration>('The decoration was', decoration, style: DiagnosticsTreeStyle.errorProperty),\r\n            DiagnosticsProperty<BoxPainter>('The painter was', _painter, style: DiagnosticsTreeStyle.errorProperty),\r\n          ]);\r\n        }\r\n        return true;\r\n      }()");
        if (dart.test(this.decoration.isComplex)) context.setIsComplexHint();
      }
      super.paint(context, offset);
      if (dart.equals(this.position, proxy_box.DecorationPosition.foreground)) {
        this[_painter].paint(context.canvas, offset, filledConfiguration);
        if (dart.test(this.decoration.isComplex)) context.setIsComplexHint();
      }
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(this[_decoration].toDiagnosticsNode({name: "decoration"}));
      properties.add(new (DiagnosticsPropertyOfImageConfiguration()).new("configuration", this.configuration));
    }
  };
  (proxy_box.RenderDecoratedBox.new = function(opts) {
    let decoration = opts && 'decoration' in opts ? opts.decoration : null;
    let position = opts && 'position' in opts ? opts.position : C91 || CT.C91;
    let configuration = opts && 'configuration' in opts ? opts.configuration : C94 || CT.C94;
    let child = opts && 'child' in opts ? opts.child : null;
    this[_painter] = null;
    if (!(decoration != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1938, 15, "decoration != null");
    if (!(position != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1939, 15, "position != null");
    if (!(configuration != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 1940, 15, "configuration != null");
    this[_decoration] = decoration;
    this[_position] = position;
    this[_configuration$] = configuration;
    proxy_box.RenderDecoratedBox.__proto__.new.call(this, child);
    ;
  }).prototype = proxy_box.RenderDecoratedBox.prototype;
  dart.addTypeTests(proxy_box.RenderDecoratedBox);
  dart.setGetterSignature(proxy_box.RenderDecoratedBox, () => ({
    __proto__: dart.getGetters(proxy_box.RenderDecoratedBox.__proto__),
    decoration: decoration.Decoration,
    position: proxy_box.DecorationPosition,
    configuration: image_provider.ImageConfiguration
  }));
  dart.setSetterSignature(proxy_box.RenderDecoratedBox, () => ({
    __proto__: dart.getSetters(proxy_box.RenderDecoratedBox.__proto__),
    decoration: decoration.Decoration,
    position: proxy_box.DecorationPosition,
    configuration: image_provider.ImageConfiguration
  }));
  dart.setLibraryUri(proxy_box.RenderDecoratedBox, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderDecoratedBox, () => ({
    __proto__: dart.getFields(proxy_box.RenderDecoratedBox.__proto__),
    [_painter]: dart.fieldType(decoration.BoxPainter),
    [_decoration]: dart.fieldType(decoration.Decoration),
    [_position]: dart.fieldType(proxy_box.DecorationPosition),
    [_configuration$]: dart.fieldType(image_provider.ImageConfiguration)
  }));
  const _origin = dart.privateName(proxy_box, "_origin");
  const _alignment$0 = dart.privateName(proxy_box, "_alignment");
  const _textDirection$0 = dart.privateName(proxy_box, "_textDirection");
  const _transform$0 = dart.privateName(proxy_box, "_transform");
  const _effectiveTransform = dart.privateName(proxy_box, "_effectiveTransform");
  const transformHitTests$ = dart.privateName(proxy_box, "RenderTransform.transformHitTests");
  proxy_box.RenderTransform = class RenderTransform extends proxy_box.RenderProxyBox {
    get transformHitTests() {
      return this[transformHitTests$];
    }
    set transformHitTests(value) {
      this[transformHitTests$] = value;
    }
    get origin() {
      return this[_origin];
    }
    set origin(value) {
      if (dart.equals(this[_origin], value)) return;
      this[_origin] = value;
      this.markNeedsPaint();
      this.markNeedsSemanticsUpdate();
    }
    get alignment() {
      return this[_alignment$0];
    }
    set alignment(value) {
      if (dart.equals(this[_alignment$0], value)) return;
      this[_alignment$0] = value;
      this.markNeedsPaint();
      this.markNeedsSemanticsUpdate();
    }
    get textDirection() {
      return this[_textDirection$0];
    }
    set textDirection(value) {
      if (dart.equals(this[_textDirection$0], value)) return;
      this[_textDirection$0] = value;
      this.markNeedsPaint();
      this.markNeedsSemanticsUpdate();
    }
    set transform(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 2138, 12, "value != null");
      if (dart.equals(this[_transform$0], value)) return;
      this[_transform$0] = vector_math_64.Matrix4.copy(value);
      this.markNeedsPaint();
      this.markNeedsSemanticsUpdate();
    }
    setIdentity() {
      this[_transform$0].setIdentity();
      this.markNeedsPaint();
      this.markNeedsSemanticsUpdate();
    }
    rotateX(radians) {
      this[_transform$0].rotateX(radians);
      this.markNeedsPaint();
      this.markNeedsSemanticsUpdate();
    }
    rotateY(radians) {
      this[_transform$0].rotateY(radians);
      this.markNeedsPaint();
      this.markNeedsSemanticsUpdate();
    }
    rotateZ(radians) {
      this[_transform$0].rotateZ(radians);
      this.markNeedsPaint();
      this.markNeedsSemanticsUpdate();
    }
    translate(x, y = 0, z = 0) {
      this[_transform$0].translate(x, y, z);
      this.markNeedsPaint();
      this.markNeedsSemanticsUpdate();
    }
    scale(x, y = null, z = null) {
      this[_transform$0].scale(x, y, z);
      this.markNeedsPaint();
      this.markNeedsSemanticsUpdate();
    }
    get [_effectiveTransform]() {
      let t14;
      let resolvedAlignment = (t14 = this.alignment, t14 == null ? null : t14.resolve(this.textDirection));
      if (this[_origin] == null && resolvedAlignment == null) return this[_transform$0];
      let result = vector_math_64.Matrix4.identity();
      if (this[_origin] != null) result.translate(this[_origin].dx, this[_origin].dy);
      let translation = null;
      if (resolvedAlignment != null) {
        translation = resolvedAlignment.alongSize(this.size);
        result.translate(translation.dx, translation.dy);
      }
      result.multiply(this[_transform$0]);
      if (resolvedAlignment != null) result.translate(-dart.notNull(translation.dx), -dart.notNull(translation.dy));
      if (this[_origin] != null) result.translate(-dart.notNull(this[_origin].dx), -dart.notNull(this[_origin].dy));
      return result;
    }
    hitTest(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      return this.hitTestChildren(result, {position: position});
    }
    hitTestChildren(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      if (!(!dart.test(this.transformHitTests) || this[_effectiveTransform] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 2219, 12, "!transformHitTests || _effectiveTransform != null");
      return result.addWithPaintTransform({transform: dart.test(this.transformHitTests) ? this[_effectiveTransform] : null, position: position, hitTest: dart.fn((result, position) => super.hitTestChildren(result, {position: position}), BoxHitTestResultAndOffsetTobool())});
    }
    paint(context, offset) {
      if (this.child != null) {
        let transform = this[_effectiveTransform];
        let childOffset = matrix_utils.MatrixUtils.getAsTranslation(transform);
        if (childOffset == null) {
          this.layer = context.pushTransform(this.needsCompositing, offset, transform, dart.bind(this, 'paint', super.paint), {oldLayer: layer$.TransformLayer.as(this.layer)});
        } else {
          super.paint(context, offset['+'](childOffset));
          this.layer = null;
        }
      }
    }
    applyPaintTransform(child, transform) {
      box.RenderBox._check(child);
      transform.multiply(this[_effectiveTransform]);
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new matrix_utils.TransformProperty.new("transform matrix", this[_transform$0]));
      properties.add(new (DiagnosticsPropertyOfOffset()).new("origin", this.origin));
      properties.add(new (DiagnosticsPropertyOfAlignmentGeometry()).new("alignment", this.alignment));
      properties.add(new (EnumPropertyOfTextDirection()).new("textDirection", this.textDirection, {defaultValue: null}));
      properties.add(new (DiagnosticsPropertyOfbool()).new("transformHitTests", this.transformHitTests));
    }
  };
  (proxy_box.RenderTransform.new = function(opts) {
    let transform = opts && 'transform' in opts ? opts.transform : null;
    let origin = opts && 'origin' in opts ? opts.origin : null;
    let alignment = opts && 'alignment' in opts ? opts.alignment : null;
    let textDirection = opts && 'textDirection' in opts ? opts.textDirection : null;
    let transformHitTests = opts && 'transformHitTests' in opts ? opts.transformHitTests : true;
    let child = opts && 'child' in opts ? opts.child : null;
    this[_origin] = null;
    this[_alignment$0] = null;
    this[_textDirection$0] = null;
    this[_transform$0] = null;
    this[transformHitTests$] = transformHitTests;
    if (!(transform != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 2067, 15, "transform != null");
    proxy_box.RenderTransform.__proto__.new.call(this, child);
    this.transform = transform;
    this.alignment = alignment;
    this.textDirection = textDirection;
    this.origin = origin;
  }).prototype = proxy_box.RenderTransform.prototype;
  dart.addTypeTests(proxy_box.RenderTransform);
  dart.setMethodSignature(proxy_box.RenderTransform, () => ({
    __proto__: dart.getMethods(proxy_box.RenderTransform.__proto__),
    setIdentity: dart.fnType(dart.void, []),
    rotateX: dart.fnType(dart.void, [core.double]),
    rotateY: dart.fnType(dart.void, [core.double]),
    rotateZ: dart.fnType(dart.void, [core.double]),
    translate: dart.fnType(dart.void, [core.double], [core.double, core.double]),
    scale: dart.fnType(dart.void, [core.double], [core.double, core.double])
  }));
  dart.setGetterSignature(proxy_box.RenderTransform, () => ({
    __proto__: dart.getGetters(proxy_box.RenderTransform.__proto__),
    origin: ui.Offset,
    alignment: alignment.AlignmentGeometry,
    textDirection: ui.TextDirection,
    [_effectiveTransform]: vector_math_64.Matrix4
  }));
  dart.setSetterSignature(proxy_box.RenderTransform, () => ({
    __proto__: dart.getSetters(proxy_box.RenderTransform.__proto__),
    origin: ui.Offset,
    alignment: alignment.AlignmentGeometry,
    textDirection: ui.TextDirection,
    transform: vector_math_64.Matrix4
  }));
  dart.setLibraryUri(proxy_box.RenderTransform, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderTransform, () => ({
    __proto__: dart.getFields(proxy_box.RenderTransform.__proto__),
    [_origin]: dart.fieldType(ui.Offset),
    [_alignment$0]: dart.fieldType(alignment.AlignmentGeometry),
    [_textDirection$0]: dart.fieldType(ui.TextDirection),
    transformHitTests: dart.fieldType(core.bool),
    [_transform$0]: dart.fieldType(vector_math_64.Matrix4)
  }));
  const _name$9 = dart.privateName(box_fit, "_name");
  let C95;
  const _resolvedAlignment$0 = dart.privateName(proxy_box, "_resolvedAlignment");
  const _hasVisualOverflow$ = dart.privateName(proxy_box, "_hasVisualOverflow");
  const _fit$ = dart.privateName(proxy_box, "_fit");
  const _resolve$0 = dart.privateName(proxy_box, "_resolve");
  const _markNeedResolution$0 = dart.privateName(proxy_box, "_markNeedResolution");
  const _clearPaintData = dart.privateName(proxy_box, "_clearPaintData");
  const _updatePaintData = dart.privateName(proxy_box, "_updatePaintData");
  const _paintChildWithTransform = dart.privateName(proxy_box, "_paintChildWithTransform");
  proxy_box.RenderFittedBox = class RenderFittedBox extends proxy_box.RenderProxyBox {
    [_resolve$0]() {
      if (this[_resolvedAlignment$0] != null) return;
      this[_resolvedAlignment$0] = this.alignment.resolve(this.textDirection);
    }
    [_markNeedResolution$0]() {
      this[_resolvedAlignment$0] = null;
      this.markNeedsPaint();
    }
    get fit() {
      return this[_fit$];
    }
    set fit(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 2299, 12, "value != null");
      if (dart.equals(this[_fit$], value)) return;
      this[_fit$] = value;
      this[_clearPaintData]();
      this.markNeedsPaint();
    }
    get alignment() {
      return this[_alignment$0];
    }
    set alignment(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 2318, 12, "value != null");
      if (dart.equals(this[_alignment$0], value)) return;
      this[_alignment$0] = value;
      this[_clearPaintData]();
      this[_markNeedResolution$0]();
    }
    get textDirection() {
      return this[_textDirection$0];
    }
    set textDirection(value) {
      if (dart.equals(this[_textDirection$0], value)) return;
      this[_textDirection$0] = value;
      this[_clearPaintData]();
      this[_markNeedResolution$0]();
    }
    performLayout() {
      if (this.child != null) {
        this.child.layout(C32 || CT.C32, {parentUsesSize: true});
        this.size = this.constraints.constrainSizeAndAttemptToPreserveAspectRatio(this.child.size);
        this[_clearPaintData]();
      } else {
        this.size = this.constraints.smallest;
      }
    }
    [_clearPaintData]() {
      this[_hasVisualOverflow$] = null;
      this[_transform$0] = null;
    }
    [_updatePaintData]() {
      let t14;
      if (this[_transform$0] != null) return;
      if (this.child == null) {
        this[_hasVisualOverflow$] = false;
        this[_transform$0] = vector_math_64.Matrix4.identity();
      } else {
        this[_resolve$0]();
        let childSize = this.child.size;
        let sizes = box_fit.applyBoxFit(this[_fit$], childSize, this.size);
        let scaleX = dart.notNull(sizes.destination.width) / dart.notNull(sizes.source.width);
        let scaleY = dart.notNull(sizes.destination.height) / dart.notNull(sizes.source.height);
        let sourceRect = this[_resolvedAlignment$0].inscribe(sizes.source, ui.Offset.zero['&'](childSize));
        let destinationRect = this[_resolvedAlignment$0].inscribe(sizes.destination, ui.Offset.zero['&'](this.size));
        this[_hasVisualOverflow$] = dart.notNull(sourceRect.width) < dart.notNull(childSize.width) || dart.notNull(sourceRect.height) < dart.notNull(childSize.height);
        if (!(scaleX[$isFinite] && scaleY[$isFinite])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 2377, 14, "scaleX.isFinite && scaleY.isFinite");
        this[_transform$0] = (t14 = vector_math_64.Matrix4.translationValues(destinationRect.left, destinationRect.top, 0.0), t14.scale(scaleX, scaleY, 1.0), t14.translate(-dart.notNull(sourceRect.left), -dart.notNull(sourceRect.top)), t14);
        if (!dart.test(this[_transform$0].storage[$every](dart.fn(value => value[$isFinite], doubleTobool())))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 2381, 14, "_transform.storage.every((double value) => value.isFinite)");
      }
    }
    [_paintChildWithTransform](context, offset) {
      let childOffset = matrix_utils.MatrixUtils.getAsTranslation(this[_transform$0]);
      if (childOffset == null)
        return context.pushTransform(this.needsCompositing, offset, this[_transform$0], dart.bind(this, 'paint', super.paint), {oldLayer: layer$.TransformLayer.is(this.layer) ? layer$.TransformLayer.as(this.layer) : null});
      else
        super.paint(context, offset['+'](childOffset));
      return null;
    }
    paint(context, offset) {
      if (dart.test(this.size.isEmpty) || dart.test(this.child.size.isEmpty)) return;
      this[_updatePaintData]();
      if (this.child != null) {
        if (dart.test(this[_hasVisualOverflow$]))
          this.layer = context.pushClipRect(this.needsCompositing, offset, ui.Offset.zero['&'](this.size), dart.bind(this, _paintChildWithTransform), {oldLayer: layer$.ClipRectLayer.is(this.layer) ? layer$.ClipRectLayer.as(this.layer) : null});
        else
          this.layer = this[_paintChildWithTransform](context, offset);
      }
    }
    hitTestChildren(result, opts) {
      let t14, t14$;
      let position = opts && 'position' in opts ? opts.position : null;
      if (dart.test(this.size.isEmpty) || dart.equals((t14$ = (t14 = this.child, t14 == null ? null : t14.size), t14$ == null ? null : t14$.isEmpty), true)) return false;
      this[_updatePaintData]();
      return result.addWithPaintTransform({transform: this[_transform$0], position: position, hitTest: dart.fn((result, position) => super.hitTestChildren(result, {position: position}), BoxHitTestResultAndOffsetTobool())});
    }
    applyPaintTransform(child, transform) {
      box.RenderBox._check(child);
      if (dart.test(this.size.isEmpty) || dart.test(child.size.isEmpty)) {
        transform.setZero();
      } else {
        this[_updatePaintData]();
        transform.multiply(this[_transform$0]);
      }
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (EnumPropertyOfBoxFit()).new("fit", this.fit));
      properties.add(new (DiagnosticsPropertyOfAlignmentGeometry()).new("alignment", this.alignment));
      properties.add(new (EnumPropertyOfTextDirection()).new("textDirection", this.textDirection, {defaultValue: null}));
    }
  };
  (proxy_box.RenderFittedBox.new = function(opts) {
    let fit = opts && 'fit' in opts ? opts.fit : C95 || CT.C95;
    let alignment = opts && 'alignment' in opts ? opts.alignment : C28 || CT.C28;
    let textDirection = opts && 'textDirection' in opts ? opts.textDirection : null;
    let child = opts && 'child' in opts ? opts.child : null;
    this[_resolvedAlignment$0] = null;
    this[_hasVisualOverflow$] = null;
    this[_transform$0] = null;
    if (!(fit != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 2275, 15, "fit != null");
    if (!(alignment != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 2276, 15, "alignment != null");
    this[_fit$] = fit;
    this[_alignment$0] = alignment;
    this[_textDirection$0] = textDirection;
    proxy_box.RenderFittedBox.__proto__.new.call(this, child);
    ;
  }).prototype = proxy_box.RenderFittedBox.prototype;
  dart.addTypeTests(proxy_box.RenderFittedBox);
  dart.setMethodSignature(proxy_box.RenderFittedBox, () => ({
    __proto__: dart.getMethods(proxy_box.RenderFittedBox.__proto__),
    [_resolve$0]: dart.fnType(dart.void, []),
    [_markNeedResolution$0]: dart.fnType(dart.void, []),
    [_clearPaintData]: dart.fnType(dart.void, []),
    [_updatePaintData]: dart.fnType(dart.void, []),
    [_paintChildWithTransform]: dart.fnType(layer$.TransformLayer, [object$.PaintingContext, ui.Offset])
  }));
  dart.setGetterSignature(proxy_box.RenderFittedBox, () => ({
    __proto__: dart.getGetters(proxy_box.RenderFittedBox.__proto__),
    fit: box_fit.BoxFit,
    alignment: alignment.AlignmentGeometry,
    textDirection: ui.TextDirection
  }));
  dart.setSetterSignature(proxy_box.RenderFittedBox, () => ({
    __proto__: dart.getSetters(proxy_box.RenderFittedBox.__proto__),
    fit: box_fit.BoxFit,
    alignment: alignment.AlignmentGeometry,
    textDirection: ui.TextDirection
  }));
  dart.setLibraryUri(proxy_box.RenderFittedBox, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderFittedBox, () => ({
    __proto__: dart.getFields(proxy_box.RenderFittedBox.__proto__),
    [_resolvedAlignment$0]: dart.fieldType(alignment.Alignment),
    [_fit$]: dart.fieldType(box_fit.BoxFit),
    [_alignment$0]: dart.fieldType(alignment.AlignmentGeometry),
    [_textDirection$0]: dart.fieldType(ui.TextDirection),
    [_hasVisualOverflow$]: dart.fieldType(core.bool),
    [_transform$0]: dart.fieldType(vector_math_64.Matrix4)
  }));
  const _translation = dart.privateName(proxy_box, "_translation");
  const transformHitTests$0 = dart.privateName(proxy_box, "RenderFractionalTranslation.transformHitTests");
  proxy_box.RenderFractionalTranslation = class RenderFractionalTranslation extends proxy_box.RenderProxyBox {
    get transformHitTests() {
      return this[transformHitTests$0];
    }
    set transformHitTests(value) {
      this[transformHitTests$0] = value;
    }
    get translation() {
      return this[_translation];
    }
    set translation(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 2470, 12, "value != null");
      if (dart.equals(this[_translation], value)) return;
      this[_translation] = value;
      this.markNeedsPaint();
    }
    hitTest(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      return this.hitTestChildren(result, {position: position});
    }
    hitTestChildren(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      if (!!dart.test(this.debugNeedsLayout)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 2496, 12, "!debugNeedsLayout");
      return result.addWithPaintOffset({offset: dart.test(this.transformHitTests) ? new ui.Offset.new(dart.notNull(this.translation.dx) * dart.notNull(this.size.width), dart.notNull(this.translation.dy) * dart.notNull(this.size.height)) : null, position: position, hitTest: dart.fn((result, position) => super.hitTestChildren(result, {position: position}), BoxHitTestResultAndOffsetTobool())});
    }
    paint(context, offset) {
      if (!!dart.test(this.debugNeedsLayout)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 2510, 12, "!debugNeedsLayout");
      if (this.child != null) {
        super.paint(context, new ui.Offset.new(dart.notNull(offset.dx) + dart.notNull(this.translation.dx) * dart.notNull(this.size.width), dart.notNull(offset.dy) + dart.notNull(this.translation.dy) * dart.notNull(this.size.height)));
      }
    }
    applyPaintTransform(child, transform) {
      box.RenderBox._check(child);
      transform.translate(dart.notNull(this.translation.dx) * dart.notNull(this.size.width), dart.notNull(this.translation.dy) * dart.notNull(this.size.height));
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfOffset()).new("translation", this.translation));
      properties.add(new (DiagnosticsPropertyOfbool()).new("transformHitTests", this.transformHitTests));
    }
  };
  (proxy_box.RenderFractionalTranslation.new = function(opts) {
    let translation = opts && 'translation' in opts ? opts.translation : null;
    let transformHitTests = opts && 'transformHitTests' in opts ? opts.transformHitTests : true;
    let child = opts && 'child' in opts ? opts.child : null;
    this[transformHitTests$0] = transformHitTests;
    if (!(translation != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 2459, 15, "translation != null");
    this[_translation] = translation;
    proxy_box.RenderFractionalTranslation.__proto__.new.call(this, child);
    ;
  }).prototype = proxy_box.RenderFractionalTranslation.prototype;
  dart.addTypeTests(proxy_box.RenderFractionalTranslation);
  dart.setGetterSignature(proxy_box.RenderFractionalTranslation, () => ({
    __proto__: dart.getGetters(proxy_box.RenderFractionalTranslation.__proto__),
    translation: ui.Offset
  }));
  dart.setSetterSignature(proxy_box.RenderFractionalTranslation, () => ({
    __proto__: dart.getSetters(proxy_box.RenderFractionalTranslation.__proto__),
    translation: ui.Offset
  }));
  dart.setLibraryUri(proxy_box.RenderFractionalTranslation, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderFractionalTranslation, () => ({
    __proto__: dart.getFields(proxy_box.RenderFractionalTranslation.__proto__),
    [_translation]: dart.fieldType(ui.Offset),
    transformHitTests: dart.fieldType(core.bool)
  }));
  const onPointerDown$ = dart.privateName(proxy_box, "RenderPointerListener.onPointerDown");
  const onPointerMove$ = dart.privateName(proxy_box, "RenderPointerListener.onPointerMove");
  const onPointerUp$ = dart.privateName(proxy_box, "RenderPointerListener.onPointerUp");
  const onPointerCancel$ = dart.privateName(proxy_box, "RenderPointerListener.onPointerCancel");
  const onPointerSignal$ = dart.privateName(proxy_box, "RenderPointerListener.onPointerSignal");
  proxy_box.RenderPointerListener = class RenderPointerListener extends proxy_box.RenderProxyBoxWithHitTestBehavior {
    get onPointerDown() {
      return this[onPointerDown$];
    }
    set onPointerDown(value) {
      this[onPointerDown$] = value;
    }
    get onPointerMove() {
      return this[onPointerMove$];
    }
    set onPointerMove(value) {
      this[onPointerMove$] = value;
    }
    get onPointerUp() {
      return this[onPointerUp$];
    }
    set onPointerUp(value) {
      this[onPointerUp$] = value;
    }
    get onPointerCancel() {
      return this[onPointerCancel$];
    }
    set onPointerCancel(value) {
      this[onPointerCancel$] = value;
    }
    get onPointerSignal() {
      return this[onPointerSignal$];
    }
    set onPointerSignal(value) {
      this[onPointerSignal$] = value;
    }
    performResize() {
      this.size = this.constraints.biggest;
    }
    handleEvent(event, entry) {
      hit_test.HitTestEntry._check(entry);
      if (!dart.test(this.debugHandleEvent(event, entry))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 2612, 12, "debugHandleEvent(event, entry)");
      if (this.onPointerDown != null && events.PointerDownEvent.is(event)) return this.onPointerDown(event);
      if (this.onPointerMove != null && events.PointerMoveEvent.is(event)) return this.onPointerMove(event);
      if (this.onPointerUp != null && events.PointerUpEvent.is(event)) return this.onPointerUp(event);
      if (this.onPointerCancel != null && events.PointerCancelEvent.is(event)) return this.onPointerCancel(event);
      if (this.onPointerSignal != null && events.PointerSignalEvent.is(event)) return this.onPointerSignal(event);
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (FlagsSummaryOfFunction()).new("listeners", new (IdentityMapOfString$Function()).from(["down", this.onPointerDown, "move", this.onPointerMove, "up", this.onPointerUp, "cancel", this.onPointerCancel, "signal", this.onPointerSignal]), {ifEmpty: "<none>"}));
    }
  };
  (proxy_box.RenderPointerListener.new = function(opts) {
    let onPointerDown = opts && 'onPointerDown' in opts ? opts.onPointerDown : null;
    let onPointerMove = opts && 'onPointerMove' in opts ? opts.onPointerMove : null;
    let onPointerUp = opts && 'onPointerUp' in opts ? opts.onPointerUp : null;
    let onPointerCancel = opts && 'onPointerCancel' in opts ? opts.onPointerCancel : null;
    let onPointerSignal = opts && 'onPointerSignal' in opts ? opts.onPointerSignal : null;
    let behavior = opts && 'behavior' in opts ? opts.behavior : C77 || CT.C77;
    let child = opts && 'child' in opts ? opts.child : null;
    this[onPointerDown$] = onPointerDown;
    this[onPointerMove$] = onPointerMove;
    this[onPointerUp$] = onPointerUp;
    this[onPointerCancel$] = onPointerCancel;
    this[onPointerSignal$] = onPointerSignal;
    proxy_box.RenderPointerListener.__proto__.new.call(this, {behavior: behavior, child: child});
    ;
  }).prototype = proxy_box.RenderPointerListener.prototype;
  dart.addTypeTests(proxy_box.RenderPointerListener);
  dart.setLibraryUri(proxy_box.RenderPointerListener, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderPointerListener, () => ({
    __proto__: dart.getFields(proxy_box.RenderPointerListener.__proto__),
    onPointerDown: dart.fieldType(dart.fnType(dart.void, [events.PointerDownEvent])),
    onPointerMove: dart.fieldType(dart.fnType(dart.void, [events.PointerMoveEvent])),
    onPointerUp: dart.fieldType(dart.fnType(dart.void, [events.PointerUpEvent])),
    onPointerCancel: dart.fieldType(dart.fnType(dart.void, [events.PointerCancelEvent])),
    onPointerSignal: dart.fieldType(dart.fnType(dart.void, [events.PointerSignalEvent]))
  }));
  const _hoverAnnotation = dart.privateName(proxy_box, "_hoverAnnotation");
  const _onEnter = dart.privateName(proxy_box, "_onEnter");
  const _onHover = dart.privateName(proxy_box, "_onHover");
  const _onExit = dart.privateName(proxy_box, "_onExit");
  const _opaque = dart.privateName(proxy_box, "_opaque");
  const _annotationIsActive = dart.privateName(proxy_box, "_annotationIsActive");
  const _handleEnter = dart.privateName(proxy_box, "_handleEnter");
  const _handleHover = dart.privateName(proxy_box, "_handleHover");
  const _handleExit = dart.privateName(proxy_box, "_handleExit");
  const _updateAnnotations = dart.privateName(proxy_box, "_updateAnnotations");
  proxy_box.RenderMouseRegion = class RenderMouseRegion extends proxy_box.RenderProxyBox {
    get opaque() {
      return this[_opaque];
    }
    set opaque(value) {
      if (!dart.equals(this[_opaque], value)) {
        this[_opaque] = value;
        this[_updateAnnotations]();
      }
    }
    get onEnter() {
      return this[_onEnter];
    }
    set onEnter(value) {
      if (!dart.equals(this[_onEnter], value)) {
        this[_onEnter] = value;
        this[_updateAnnotations]();
      }
    }
    [_handleEnter](event) {
      if (this[_onEnter] != null) this[_onEnter](event);
    }
    get onHover() {
      return this[_onHover];
    }
    set onHover(value) {
      if (!dart.equals(this[_onHover], value)) {
        this[_onHover] = value;
        this[_updateAnnotations]();
      }
    }
    [_handleHover](event) {
      if (this[_onHover] != null) this[_onHover](event);
    }
    get onExit() {
      return this[_onExit];
    }
    set onExit(value) {
      if (!dart.equals(this[_onExit], value)) {
        this[_onExit] = value;
        this[_updateAnnotations]();
      }
    }
    [_handleExit](event) {
      if (this[_onExit] != null) this[_onExit](event);
    }
    get hoverAnnotation() {
      return this[_hoverAnnotation];
    }
    [_updateAnnotations]() {
      let annotationWasActive = this[_annotationIsActive];
      let annotationWillBeActive = (this[_onEnter] != null || this[_onHover] != null || this[_onExit] != null || dart.test(this.opaque)) && dart.test(binding$4.RendererBinding.instance.mouseTracker.mouseIsConnected);
      if (!dart.equals(annotationWasActive, annotationWillBeActive)) {
        this.markNeedsPaint();
        this.markNeedsCompositingBitsUpdate();
        if (annotationWillBeActive) {
          binding$4.RendererBinding.instance.mouseTracker.attachAnnotation(this[_hoverAnnotation]);
        } else {
          binding$4.RendererBinding.instance.mouseTracker.detachAnnotation(this[_hoverAnnotation]);
        }
        this[_annotationIsActive] = annotationWillBeActive;
      }
    }
    attach(owner) {
      object$.PipelineOwner._check(owner);
      super.attach(owner);
      binding$4.RendererBinding.instance.mouseTracker.addListener(dart.bind(this, _updateAnnotations));
      this[_updateAnnotations]();
    }
    postActivate() {
      if (dart.test(this[_annotationIsActive])) binding$4.RendererBinding.instance.mouseTracker.attachAnnotation(this[_hoverAnnotation]);
    }
    preDeactivate() {
      if (dart.test(this[_annotationIsActive])) binding$4.RendererBinding.instance.mouseTracker.detachAnnotation(this[_hoverAnnotation]);
    }
    detach() {
      binding$4.RendererBinding.instance.mouseTracker.removeListener(dart.bind(this, _updateAnnotations));
      super.detach();
    }
    get needsCompositing() {
      return dart.test(super.needsCompositing) || dart.test(this[_annotationIsActive]);
    }
    paint(context, offset) {
      if (dart.test(this[_annotationIsActive])) {
        let layer = new (AnnotatedRegionLayerOfMouseTrackerAnnotation()).new(this[_hoverAnnotation], {size: this.size, offset: offset, opaque: this.opaque});
        context.pushLayer(layer, dart.bind(this, 'paint', super.paint), offset);
      } else {
        super.paint(context, offset);
      }
    }
    performResize() {
      this.size = this.constraints.biggest;
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (FlagsSummaryOfFunction()).new("listeners", new (IdentityMapOfString$Function()).from(["enter", this.onEnter, "hover", this.onHover, "exit", this.onExit]), {ifEmpty: "<none>"}));
      properties.add(new (DiagnosticsPropertyOfbool()).new("opaque", this.opaque, {defaultValue: true}));
    }
  };
  (proxy_box.RenderMouseRegion.new = function(opts) {
    let onEnter = opts && 'onEnter' in opts ? opts.onEnter : null;
    let onHover = opts && 'onHover' in opts ? opts.onHover : null;
    let onExit = opts && 'onExit' in opts ? opts.onExit : null;
    let opaque = opts && 'opaque' in opts ? opts.opaque : true;
    let child = opts && 'child' in opts ? opts.child : null;
    this[_hoverAnnotation] = null;
    if (!(opaque != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 2668, 15, "opaque != null");
    this[_onEnter] = onEnter;
    this[_onHover] = onHover;
    this[_onExit] = onExit;
    this[_opaque] = opaque;
    this[_annotationIsActive] = false;
    proxy_box.RenderMouseRegion.__proto__.new.call(this, child);
    this[_hoverAnnotation] = new mouse_tracking.MouseTrackerAnnotation.new({onEnter: dart.bind(this, _handleEnter), onHover: dart.bind(this, _handleHover), onExit: dart.bind(this, _handleExit)});
  }).prototype = proxy_box.RenderMouseRegion.prototype;
  dart.addTypeTests(proxy_box.RenderMouseRegion);
  dart.setMethodSignature(proxy_box.RenderMouseRegion, () => ({
    __proto__: dart.getMethods(proxy_box.RenderMouseRegion.__proto__),
    [_handleEnter]: dart.fnType(dart.void, [events.PointerEnterEvent]),
    [_handleHover]: dart.fnType(dart.void, [events.PointerHoverEvent]),
    [_handleExit]: dart.fnType(dart.void, [events.PointerExitEvent]),
    [_updateAnnotations]: dart.fnType(dart.void, []),
    postActivate: dart.fnType(dart.void, []),
    preDeactivate: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(proxy_box.RenderMouseRegion, () => ({
    __proto__: dart.getGetters(proxy_box.RenderMouseRegion.__proto__),
    opaque: core.bool,
    onEnter: dart.fnType(dart.void, [events.PointerEnterEvent]),
    onHover: dart.fnType(dart.void, [events.PointerHoverEvent]),
    onExit: dart.fnType(dart.void, [events.PointerExitEvent]),
    hoverAnnotation: mouse_tracking.MouseTrackerAnnotation
  }));
  dart.setSetterSignature(proxy_box.RenderMouseRegion, () => ({
    __proto__: dart.getSetters(proxy_box.RenderMouseRegion.__proto__),
    opaque: core.bool,
    onEnter: dart.fnType(dart.void, [events.PointerEnterEvent]),
    onHover: dart.fnType(dart.void, [events.PointerHoverEvent]),
    onExit: dart.fnType(dart.void, [events.PointerExitEvent])
  }));
  dart.setLibraryUri(proxy_box.RenderMouseRegion, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderMouseRegion, () => ({
    __proto__: dart.getFields(proxy_box.RenderMouseRegion.__proto__),
    [_opaque]: dart.fieldType(core.bool),
    [_onEnter]: dart.fieldType(dart.fnType(dart.void, [events.PointerEnterEvent])),
    [_onHover]: dart.fieldType(dart.fnType(dart.void, [events.PointerHoverEvent])),
    [_onExit]: dart.fieldType(dart.fnType(dart.void, [events.PointerExitEvent])),
    [_hoverAnnotation]: dart.fieldType(mouse_tracking.MouseTrackerAnnotation),
    [_annotationIsActive]: dart.fieldType(core.bool)
  }));
  const _debugSymmetricPaintCount = dart.privateName(proxy_box, "_debugSymmetricPaintCount");
  const _debugAsymmetricPaintCount = dart.privateName(proxy_box, "_debugAsymmetricPaintCount");
  proxy_box.RenderRepaintBoundary = class RenderRepaintBoundary extends proxy_box.RenderProxyBox {
    get isRepaintBoundary() {
      return true;
    }
    toImage(opts) {
      let pixelRatio = opts && 'pixelRatio' in opts ? opts.pixelRatio : 1;
      if (!!dart.test(this.debugNeedsPaint)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 2955, 12, "!debugNeedsPaint");
      let offsetLayer = layer$.OffsetLayer.as(this.layer);
      return offsetLayer.toImage(ui.Offset.zero['&'](this.size), {pixelRatio: pixelRatio});
    }
    get debugSymmetricPaintCount() {
      return this[_debugSymmetricPaintCount];
    }
    get debugAsymmetricPaintCount() {
      return this[_debugAsymmetricPaintCount];
    }
    debugResetMetrics() {
      if (!dart.test(dart.fn(() => {
        this[_debugSymmetricPaintCount] = 0;
        this[_debugAsymmetricPaintCount] = 0;
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 2996, 12, "() {\r\n      _debugSymmetricPaintCount = 0;\r\n      _debugAsymmetricPaintCount = 0;\r\n      return true;\r\n    }()");
    }
    debugRegisterRepaintBoundaryPaint(opts) {
      let includedParent = opts && 'includedParent' in opts ? opts.includedParent : true;
      let includedChild = opts && 'includedChild' in opts ? opts.includedChild : false;
      if (!dart.test(dart.fn(() => {
        if (dart.test(includedParent) && dart.test(includedChild))
          this[_debugSymmetricPaintCount] = dart.notNull(this[_debugSymmetricPaintCount]) + 1;
        else
          this[_debugAsymmetricPaintCount] = dart.notNull(this[_debugAsymmetricPaintCount]) + 1;
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 3005, 12, "() {\r\n      if (includedParent && includedChild)\r\n        _debugSymmetricPaintCount += 1;\r\n      else\r\n        _debugAsymmetricPaintCount += 1;\r\n      return true;\r\n    }()");
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      let inReleaseMode = true;
      if (!dart.test(dart.fn(() => {
        inReleaseMode = false;
        if (dart.notNull(this.debugSymmetricPaintCount) + dart.notNull(this.debugAsymmetricPaintCount) === 0) {
          properties.add(new diagnostics.MessageProperty.new("usefulness ratio", "no metrics collected yet (never painted)"));
        } else {
          let fraction = dart.notNull(this.debugAsymmetricPaintCount) / (dart.notNull(this.debugSymmetricPaintCount) + dart.notNull(this.debugAsymmetricPaintCount));
          let diagnosis = null;
          if (dart.notNull(this.debugSymmetricPaintCount) + dart.notNull(this.debugAsymmetricPaintCount) < 5) {
            diagnosis = "insufficient data to draw conclusion (less than five repaints)";
          } else if (fraction > 0.9) {
            diagnosis = "this is an outstandingly useful repaint boundary and should definitely be kept";
          } else if (fraction > 0.5) {
            diagnosis = "this is a useful repaint boundary and should be kept";
          } else if (fraction > 0.3) {
            diagnosis = "this repaint boundary is probably useful, but maybe it would be more useful in tandem with adding more repaint boundaries elsewhere";
          } else if (fraction > 0.1) {
            diagnosis = "this repaint boundary does sometimes show value, though currently not that often";
          } else if (this.debugAsymmetricPaintCount === 0) {
            diagnosis = "this repaint boundary is astoundingly ineffectual and should be removed";
          } else {
            diagnosis = "this repaint boundary is not very effective and should probably be removed";
          }
          properties.add(new diagnostics.PercentProperty.new("metrics", fraction, {unit: "useful", tooltip: dart.str(this.debugSymmetricPaintCount) + " bad vs " + dart.str(this.debugAsymmetricPaintCount) + " good"}));
          properties.add(new diagnostics.MessageProperty.new("diagnosis", diagnosis));
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 3018, 12, "() {\r\n      inReleaseMode = false;\r\n      if (debugSymmetricPaintCount + debugAsymmetricPaintCount == 0) {\r\n        properties.add(MessageProperty('usefulness ratio', 'no metrics collected yet (never painted)'));\r\n      } else {\r\n        final double fraction = debugAsymmetricPaintCount / (debugSymmetricPaintCount + debugAsymmetricPaintCount);\r\n        String diagnosis;\r\n        if (debugSymmetricPaintCount + debugAsymmetricPaintCount < 5) {\r\n          diagnosis = 'insufficient data to draw conclusion (less than five repaints)';\r\n        } else if (fraction > 0.9) {\r\n          diagnosis = 'this is an outstandingly useful repaint boundary and should definitely be kept';\r\n        } else if (fraction > 0.5) {\r\n          diagnosis = 'this is a useful repaint boundary and should be kept';\r\n        } else if (fraction > 0.30) {\r\n          diagnosis = 'this repaint boundary is probably useful, but maybe it would be more useful in tandem with adding more repaint boundaries elsewhere';\r\n        } else if (fraction > 0.1) {\r\n          diagnosis = 'this repaint boundary does sometimes show value, though currently not that often';\r\n        } else if (debugAsymmetricPaintCount == 0) {\r\n          diagnosis = 'this repaint boundary is astoundingly ineffectual and should be removed';\r\n        } else {\r\n          diagnosis = 'this repaint boundary is not very effective and should probably be removed';\r\n        }\r\n        properties.add(PercentProperty('metrics', fraction, unit: 'useful', tooltip: '$debugSymmetricPaintCount bad vs $debugAsymmetricPaintCount good'));\r\n        properties.add(MessageProperty('diagnosis', diagnosis));\r\n      }\r\n      return true;\r\n    }()");
      if (inReleaseMode) properties.add(diagnostics.DiagnosticsNode.message("(run in checked mode to collect repaint boundary statistics)"));
    }
  };
  (proxy_box.RenderRepaintBoundary.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    this[_debugSymmetricPaintCount] = 0;
    this[_debugAsymmetricPaintCount] = 0;
    proxy_box.RenderRepaintBoundary.__proto__.new.call(this, child);
    ;
  }).prototype = proxy_box.RenderRepaintBoundary.prototype;
  dart.addTypeTests(proxy_box.RenderRepaintBoundary);
  dart.setMethodSignature(proxy_box.RenderRepaintBoundary, () => ({
    __proto__: dart.getMethods(proxy_box.RenderRepaintBoundary.__proto__),
    toImage: dart.fnType(async.Future$(ui.Image), [], {pixelRatio: core.double}, {}),
    debugResetMetrics: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(proxy_box.RenderRepaintBoundary, () => ({
    __proto__: dart.getGetters(proxy_box.RenderRepaintBoundary.__proto__),
    debugSymmetricPaintCount: core.int,
    debugAsymmetricPaintCount: core.int
  }));
  dart.setLibraryUri(proxy_box.RenderRepaintBoundary, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderRepaintBoundary, () => ({
    __proto__: dart.getFields(proxy_box.RenderRepaintBoundary.__proto__),
    [_debugSymmetricPaintCount]: dart.fieldType(core.int),
    [_debugAsymmetricPaintCount]: dart.fieldType(core.int)
  }));
  const _ignoring = dart.privateName(proxy_box, "_ignoring");
  const _ignoringSemantics = dart.privateName(proxy_box, "_ignoringSemantics");
  const _effectiveIgnoringSemantics = dart.privateName(proxy_box, "_effectiveIgnoringSemantics");
  proxy_box.RenderIgnorePointer = class RenderIgnorePointer extends proxy_box.RenderProxyBox {
    get ignoring() {
      return this[_ignoring];
    }
    set ignoring(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 3087, 12, "value != null");
      if (dart.equals(value, this[_ignoring])) return;
      this[_ignoring] = value;
      if (this[_ignoringSemantics] == null || !dart.test(this[_ignoringSemantics])) this.markNeedsSemanticsUpdate();
    }
    get ignoringSemantics() {
      return this[_ignoringSemantics];
    }
    set ignoringSemantics(value) {
      if (dart.equals(value, this[_ignoringSemantics])) return;
      let oldEffectiveValue = this[_effectiveIgnoringSemantics];
      this[_ignoringSemantics] = value;
      if (!dart.equals(oldEffectiveValue, this[_effectiveIgnoringSemantics])) this.markNeedsSemanticsUpdate();
    }
    get [_effectiveIgnoringSemantics]() {
      let t14;
      t14 = this.ignoringSemantics;
      return t14 == null ? this.ignoring : t14;
    }
    hitTest(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      return !dart.test(this.ignoring) && dart.test(super.hitTest(result, {position: position}));
    }
    visitChildrenForSemantics(visitor) {
      if (this.child != null && !dart.test(this[_effectiveIgnoringSemantics])) visitor(this.child);
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfbool()).new("ignoring", this.ignoring));
      properties.add(new (DiagnosticsPropertyOfbool()).new("ignoringSemantics", this[_effectiveIgnoringSemantics], {description: this.ignoringSemantics == null ? "implicitly " + dart.str(this[_effectiveIgnoringSemantics]) : null}));
    }
  };
  (proxy_box.RenderIgnorePointer.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let ignoring = opts && 'ignoring' in opts ? opts.ignoring : true;
    let ignoringSemantics = opts && 'ignoringSemantics' in opts ? opts.ignoringSemantics : null;
    this[_ignoring] = ignoring;
    this[_ignoringSemantics] = ignoringSemantics;
    proxy_box.RenderIgnorePointer.__proto__.new.call(this, child);
    if (!(this[_ignoring] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 3077, 12, "_ignoring != null");
  }).prototype = proxy_box.RenderIgnorePointer.prototype;
  dart.addTypeTests(proxy_box.RenderIgnorePointer);
  dart.setGetterSignature(proxy_box.RenderIgnorePointer, () => ({
    __proto__: dart.getGetters(proxy_box.RenderIgnorePointer.__proto__),
    ignoring: core.bool,
    ignoringSemantics: core.bool,
    [_effectiveIgnoringSemantics]: core.bool
  }));
  dart.setSetterSignature(proxy_box.RenderIgnorePointer, () => ({
    __proto__: dart.getSetters(proxy_box.RenderIgnorePointer.__proto__),
    ignoring: core.bool,
    ignoringSemantics: core.bool
  }));
  dart.setLibraryUri(proxy_box.RenderIgnorePointer, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderIgnorePointer, () => ({
    __proto__: dart.getFields(proxy_box.RenderIgnorePointer.__proto__),
    [_ignoring]: dart.fieldType(core.bool),
    [_ignoringSemantics]: dart.fieldType(core.bool)
  }));
  const _offstage = dart.privateName(proxy_box, "_offstage");
  proxy_box.RenderOffstage = class RenderOffstage extends proxy_box.RenderProxyBox {
    get offstage() {
      return this[_offstage];
    }
    set offstage(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 3163, 12, "value != null");
      if (dart.equals(value, this[_offstage])) return;
      this[_offstage] = value;
      this.markNeedsLayoutForSizedByParentChange();
    }
    computeMinIntrinsicWidth(height) {
      if (dart.test(this.offstage)) return 0.0;
      return super.computeMinIntrinsicWidth(height);
    }
    computeMaxIntrinsicWidth(height) {
      if (dart.test(this.offstage)) return 0.0;
      return super.computeMaxIntrinsicWidth(height);
    }
    computeMinIntrinsicHeight(width) {
      if (dart.test(this.offstage)) return 0.0;
      return super.computeMinIntrinsicHeight(width);
    }
    computeMaxIntrinsicHeight(width) {
      if (dart.test(this.offstage)) return 0.0;
      return super.computeMaxIntrinsicHeight(width);
    }
    computeDistanceToActualBaseline(baseline) {
      if (dart.test(this.offstage)) return null;
      return super.computeDistanceToActualBaseline(baseline);
    }
    get sizedByParent() {
      return this.offstage;
    }
    performResize() {
      if (!dart.test(this.offstage)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 3210, 12, "offstage");
      this.size = this.constraints.smallest;
    }
    performLayout() {
      let t14;
      if (dart.test(this.offstage)) {
        t14 = this.child;
        t14 == null ? null : t14.layout(this.constraints);
      } else {
        super.performLayout();
      }
    }
    hitTest(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      return !dart.test(this.offstage) && dart.test(super.hitTest(result, {position: position}));
    }
    paint(context, offset) {
      if (dart.test(this.offstage)) return;
      super.paint(context, offset);
    }
    visitChildrenForSemantics(visitor) {
      if (dart.test(this.offstage)) return;
      super.visitChildrenForSemantics(visitor);
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfbool()).new("offstage", this.offstage));
    }
    debugDescribeChildren() {
      if (this.child == null) return JSArrayOfDiagnosticsNode().of([]);
      return JSArrayOfDiagnosticsNode().of([this.child.toDiagnosticsNode({name: "child", style: dart.test(this.offstage) ? diagnostics.DiagnosticsTreeStyle.offstage : diagnostics.DiagnosticsTreeStyle.sparse})]);
    }
  };
  (proxy_box.RenderOffstage.new = function(opts) {
    let offstage = opts && 'offstage' in opts ? opts.offstage : true;
    let child = opts && 'child' in opts ? opts.child : null;
    if (!(offstage != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 3149, 15, "offstage != null");
    this[_offstage] = offstage;
    proxy_box.RenderOffstage.__proto__.new.call(this, child);
    ;
  }).prototype = proxy_box.RenderOffstage.prototype;
  dart.addTypeTests(proxy_box.RenderOffstage);
  dart.setGetterSignature(proxy_box.RenderOffstage, () => ({
    __proto__: dart.getGetters(proxy_box.RenderOffstage.__proto__),
    offstage: core.bool
  }));
  dart.setSetterSignature(proxy_box.RenderOffstage, () => ({
    __proto__: dart.getSetters(proxy_box.RenderOffstage.__proto__),
    offstage: core.bool
  }));
  dart.setLibraryUri(proxy_box.RenderOffstage, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderOffstage, () => ({
    __proto__: dart.getFields(proxy_box.RenderOffstage.__proto__),
    [_offstage]: dart.fieldType(core.bool)
  }));
  const _absorbing = dart.privateName(proxy_box, "_absorbing");
  proxy_box.RenderAbsorbPointer = class RenderAbsorbPointer extends proxy_box.RenderProxyBox {
    get absorbing() {
      return this[_absorbing];
    }
    set absorbing(value) {
      if (dart.equals(this[_absorbing], value)) return;
      this[_absorbing] = value;
      if (this.ignoringSemantics == null) this.markNeedsSemanticsUpdate();
    }
    get ignoringSemantics() {
      return this[_ignoringSemantics];
    }
    set ignoringSemantics(value) {
      if (dart.equals(value, this[_ignoringSemantics])) return;
      let oldEffectiveValue = this[_effectiveIgnoringSemantics];
      this[_ignoringSemantics] = value;
      if (!dart.equals(oldEffectiveValue, this[_effectiveIgnoringSemantics])) this.markNeedsSemanticsUpdate();
    }
    get [_effectiveIgnoringSemantics]() {
      let t14;
      t14 = this.ignoringSemantics;
      return t14 == null ? this.absorbing : t14;
    }
    hitTest(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      return dart.test(this.absorbing) ? this.size.contains(position) : super.hitTest(result, {position: position});
    }
    visitChildrenForSemantics(visitor) {
      if (this.child != null && !dart.test(this[_effectiveIgnoringSemantics])) visitor(this.child);
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfbool()).new("absorbing", this.absorbing));
      properties.add(new (DiagnosticsPropertyOfbool()).new("ignoringSemantics", this[_effectiveIgnoringSemantics], {description: this.ignoringSemantics == null ? "implicitly " + dart.str(this[_effectiveIgnoringSemantics]) : null}));
    }
  };
  (proxy_box.RenderAbsorbPointer.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let absorbing = opts && 'absorbing' in opts ? opts.absorbing : true;
    let ignoringSemantics = opts && 'ignoringSemantics' in opts ? opts.ignoringSemantics : null;
    if (!(absorbing != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 3281, 15, "absorbing != null");
    this[_absorbing] = absorbing;
    this[_ignoringSemantics] = ignoringSemantics;
    proxy_box.RenderAbsorbPointer.__proto__.new.call(this, child);
    ;
  }).prototype = proxy_box.RenderAbsorbPointer.prototype;
  dart.addTypeTests(proxy_box.RenderAbsorbPointer);
  dart.setGetterSignature(proxy_box.RenderAbsorbPointer, () => ({
    __proto__: dart.getGetters(proxy_box.RenderAbsorbPointer.__proto__),
    absorbing: core.bool,
    ignoringSemantics: core.bool,
    [_effectiveIgnoringSemantics]: core.bool
  }));
  dart.setSetterSignature(proxy_box.RenderAbsorbPointer, () => ({
    __proto__: dart.getSetters(proxy_box.RenderAbsorbPointer.__proto__),
    absorbing: core.bool,
    ignoringSemantics: core.bool
  }));
  dart.setLibraryUri(proxy_box.RenderAbsorbPointer, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderAbsorbPointer, () => ({
    __proto__: dart.getFields(proxy_box.RenderAbsorbPointer.__proto__),
    [_absorbing]: dart.fieldType(core.bool),
    [_ignoringSemantics]: dart.fieldType(core.bool)
  }));
  const metaData$ = dart.privateName(proxy_box, "RenderMetaData.metaData");
  proxy_box.RenderMetaData = class RenderMetaData extends proxy_box.RenderProxyBoxWithHitTestBehavior {
    get metaData() {
      return this[metaData$];
    }
    set metaData(value) {
      this[metaData$] = value;
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new diagnostics.DiagnosticsProperty.new("metaData", this.metaData));
    }
  };
  (proxy_box.RenderMetaData.new = function(opts) {
    let metaData = opts && 'metaData' in opts ? opts.metaData : null;
    let behavior = opts && 'behavior' in opts ? opts.behavior : C77 || CT.C77;
    let child = opts && 'child' in opts ? opts.child : null;
    this[metaData$] = metaData;
    proxy_box.RenderMetaData.__proto__.new.call(this, {behavior: behavior, child: child});
    ;
  }).prototype = proxy_box.RenderMetaData.prototype;
  dart.addTypeTests(proxy_box.RenderMetaData);
  dart.setLibraryUri(proxy_box.RenderMetaData, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderMetaData, () => ({
    __proto__: dart.getFields(proxy_box.RenderMetaData.__proto__),
    metaData: dart.fieldType(dart.dynamic)
  }));
  const _validActions = dart.privateName(proxy_box, "_validActions");
  const _onTap = dart.privateName(proxy_box, "_onTap");
  const _onLongPress = dart.privateName(proxy_box, "_onLongPress");
  const _onHorizontalDragUpdate = dart.privateName(proxy_box, "_onHorizontalDragUpdate");
  const _onVerticalDragUpdate = dart.privateName(proxy_box, "_onVerticalDragUpdate");
  const _isValidAction = dart.privateName(proxy_box, "_isValidAction");
  const _performSemanticScrollRight = dart.privateName(proxy_box, "_performSemanticScrollRight");
  const _performSemanticScrollLeft = dart.privateName(proxy_box, "_performSemanticScrollLeft");
  const _performSemanticScrollUp = dart.privateName(proxy_box, "_performSemanticScrollUp");
  const _performSemanticScrollDown = dart.privateName(proxy_box, "_performSemanticScrollDown");
  const scrollFactor$ = dart.privateName(proxy_box, "RenderSemanticsGestureHandler.scrollFactor");
  proxy_box.RenderSemanticsGestureHandler = class RenderSemanticsGestureHandler extends proxy_box.RenderProxyBox {
    get scrollFactor() {
      return this[scrollFactor$];
    }
    set scrollFactor(value) {
      this[scrollFactor$] = value;
    }
    get validActions() {
      return this[_validActions];
    }
    set validActions(value) {
      if (dart.test(collections.setEquals(ui.SemanticsAction, value, this[_validActions]))) return;
      this[_validActions] = value;
      this.markNeedsSemanticsUpdate();
    }
    get onTap() {
      return this[_onTap];
    }
    set onTap(value) {
      if (dart.equals(this[_onTap], value)) return;
      let hadHandler = this[_onTap] != null;
      this[_onTap] = value;
      if (!(value != null)[$_equals](hadHandler)) this.markNeedsSemanticsUpdate();
    }
    get onLongPress() {
      return this[_onLongPress];
    }
    set onLongPress(value) {
      if (dart.equals(this[_onLongPress], value)) return;
      let hadHandler = this[_onLongPress] != null;
      this[_onLongPress] = value;
      if (!(value != null)[$_equals](hadHandler)) this.markNeedsSemanticsUpdate();
    }
    get onHorizontalDragUpdate() {
      return this[_onHorizontalDragUpdate];
    }
    set onHorizontalDragUpdate(value) {
      if (dart.equals(this[_onHorizontalDragUpdate], value)) return;
      let hadHandler = this[_onHorizontalDragUpdate] != null;
      this[_onHorizontalDragUpdate] = value;
      if (!(value != null)[$_equals](hadHandler)) this.markNeedsSemanticsUpdate();
    }
    get onVerticalDragUpdate() {
      return this[_onVerticalDragUpdate];
    }
    set onVerticalDragUpdate(value) {
      if (dart.equals(this[_onVerticalDragUpdate], value)) return;
      let hadHandler = this[_onVerticalDragUpdate] != null;
      this[_onVerticalDragUpdate] = value;
      if (!(value != null)[$_equals](hadHandler)) this.markNeedsSemanticsUpdate();
    }
    describeSemanticsConfiguration(config) {
      super.describeSemanticsConfiguration(config);
      if (this.onTap != null && dart.test(this[_isValidAction](ui.SemanticsAction.tap))) config.onTap = this.onTap;
      if (this.onLongPress != null && dart.test(this[_isValidAction](ui.SemanticsAction.longPress))) config.onLongPress = this.onLongPress;
      if (this.onHorizontalDragUpdate != null) {
        if (dart.test(this[_isValidAction](ui.SemanticsAction.scrollRight))) config.onScrollRight = dart.bind(this, _performSemanticScrollRight);
        if (dart.test(this[_isValidAction](ui.SemanticsAction.scrollLeft))) config.onScrollLeft = dart.bind(this, _performSemanticScrollLeft);
      }
      if (this.onVerticalDragUpdate != null) {
        if (dart.test(this[_isValidAction](ui.SemanticsAction.scrollUp))) config.onScrollUp = dart.bind(this, _performSemanticScrollUp);
        if (dart.test(this[_isValidAction](ui.SemanticsAction.scrollDown))) config.onScrollDown = dart.bind(this, _performSemanticScrollDown);
      }
    }
    [_isValidAction](action) {
      return this.validActions == null || dart.test(this.validActions.contains(action));
    }
    [_performSemanticScrollLeft]() {
      if (this.onHorizontalDragUpdate != null) {
        let primaryDelta = dart.notNull(this.size.width) * -dart.notNull(this.scrollFactor);
        this.onHorizontalDragUpdate(new drag_details.DragUpdateDetails.new({delta: new ui.Offset.new(primaryDelta, 0.0), primaryDelta: primaryDelta, globalPosition: this.localToGlobal(this.size.center(ui.Offset.zero))}));
      }
    }
    [_performSemanticScrollRight]() {
      if (this.onHorizontalDragUpdate != null) {
        let primaryDelta = dart.notNull(this.size.width) * dart.notNull(this.scrollFactor);
        this.onHorizontalDragUpdate(new drag_details.DragUpdateDetails.new({delta: new ui.Offset.new(primaryDelta, 0.0), primaryDelta: primaryDelta, globalPosition: this.localToGlobal(this.size.center(ui.Offset.zero))}));
      }
    }
    [_performSemanticScrollUp]() {
      if (this.onVerticalDragUpdate != null) {
        let primaryDelta = dart.notNull(this.size.height) * -dart.notNull(this.scrollFactor);
        this.onVerticalDragUpdate(new drag_details.DragUpdateDetails.new({delta: new ui.Offset.new(0.0, primaryDelta), primaryDelta: primaryDelta, globalPosition: this.localToGlobal(this.size.center(ui.Offset.zero))}));
      }
    }
    [_performSemanticScrollDown]() {
      if (this.onVerticalDragUpdate != null) {
        let primaryDelta = dart.notNull(this.size.height) * dart.notNull(this.scrollFactor);
        this.onVerticalDragUpdate(new drag_details.DragUpdateDetails.new({delta: new ui.Offset.new(0.0, primaryDelta), primaryDelta: primaryDelta, globalPosition: this.localToGlobal(this.size.center(ui.Offset.zero))}));
      }
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      let gestures = (() => {
        let t14 = JSArrayOfString().of([]);
        if (this.onTap != null) t14[$add]("tap");
        if (this.onLongPress != null) t14[$add]("long press");
        if (this.onHorizontalDragUpdate != null) t14[$add]("horizontal scroll");
        if (this.onVerticalDragUpdate != null) t14[$add]("vertical scroll");
        return t14;
      })();
      if (dart.test(gestures[$isEmpty])) gestures[$add]("<none>");
      properties.add(new (IterablePropertyOfString()).new("gestures", gestures));
    }
  };
  (proxy_box.RenderSemanticsGestureHandler.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let onTap = opts && 'onTap' in opts ? opts.onTap : null;
    let onLongPress = opts && 'onLongPress' in opts ? opts.onLongPress : null;
    let onHorizontalDragUpdate = opts && 'onHorizontalDragUpdate' in opts ? opts.onHorizontalDragUpdate : null;
    let onVerticalDragUpdate = opts && 'onVerticalDragUpdate' in opts ? opts.onVerticalDragUpdate : null;
    let scrollFactor = opts && 'scrollFactor' in opts ? opts.scrollFactor : 0.8;
    this[_validActions] = null;
    this[scrollFactor$] = scrollFactor;
    if (!(scrollFactor != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 3385, 15, "scrollFactor != null");
    this[_onTap] = onTap;
    this[_onLongPress] = onLongPress;
    this[_onHorizontalDragUpdate] = onHorizontalDragUpdate;
    this[_onVerticalDragUpdate] = onVerticalDragUpdate;
    proxy_box.RenderSemanticsGestureHandler.__proto__.new.call(this, child);
    ;
  }).prototype = proxy_box.RenderSemanticsGestureHandler.prototype;
  dart.addTypeTests(proxy_box.RenderSemanticsGestureHandler);
  dart.setMethodSignature(proxy_box.RenderSemanticsGestureHandler, () => ({
    __proto__: dart.getMethods(proxy_box.RenderSemanticsGestureHandler.__proto__),
    [_isValidAction]: dart.fnType(core.bool, [ui.SemanticsAction]),
    [_performSemanticScrollLeft]: dart.fnType(dart.void, []),
    [_performSemanticScrollRight]: dart.fnType(dart.void, []),
    [_performSemanticScrollUp]: dart.fnType(dart.void, []),
    [_performSemanticScrollDown]: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(proxy_box.RenderSemanticsGestureHandler, () => ({
    __proto__: dart.getGetters(proxy_box.RenderSemanticsGestureHandler.__proto__),
    validActions: core.Set$(ui.SemanticsAction),
    onTap: dart.fnType(dart.void, []),
    onLongPress: dart.fnType(dart.void, []),
    onHorizontalDragUpdate: dart.fnType(dart.void, [drag_details.DragUpdateDetails]),
    onVerticalDragUpdate: dart.fnType(dart.void, [drag_details.DragUpdateDetails])
  }));
  dart.setSetterSignature(proxy_box.RenderSemanticsGestureHandler, () => ({
    __proto__: dart.getSetters(proxy_box.RenderSemanticsGestureHandler.__proto__),
    validActions: core.Set$(ui.SemanticsAction),
    onTap: dart.fnType(dart.void, []),
    onLongPress: dart.fnType(dart.void, []),
    onHorizontalDragUpdate: dart.fnType(dart.void, [drag_details.DragUpdateDetails]),
    onVerticalDragUpdate: dart.fnType(dart.void, [drag_details.DragUpdateDetails])
  }));
  dart.setLibraryUri(proxy_box.RenderSemanticsGestureHandler, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderSemanticsGestureHandler, () => ({
    __proto__: dart.getFields(proxy_box.RenderSemanticsGestureHandler.__proto__),
    [_validActions]: dart.fieldType(core.Set$(ui.SemanticsAction)),
    [_onTap]: dart.fieldType(dart.fnType(dart.void, [])),
    [_onLongPress]: dart.fieldType(dart.fnType(dart.void, [])),
    [_onHorizontalDragUpdate]: dart.fieldType(dart.fnType(dart.void, [drag_details.DragUpdateDetails])),
    [_onVerticalDragUpdate]: dart.fieldType(dart.fnType(dart.void, [drag_details.DragUpdateDetails])),
    scrollFactor: dart.fieldType(core.double)
  }));
  const _container = dart.privateName(proxy_box, "_container");
  const _explicitChildNodes = dart.privateName(proxy_box, "_explicitChildNodes");
  const _excludeSemantics = dart.privateName(proxy_box, "_excludeSemantics");
  const _enabled = dart.privateName(proxy_box, "_enabled");
  const _checked = dart.privateName(proxy_box, "_checked");
  const _toggled = dart.privateName(proxy_box, "_toggled");
  const _selected = dart.privateName(proxy_box, "_selected");
  const _button = dart.privateName(proxy_box, "_button");
  const _link$ = dart.privateName(proxy_box, "_link");
  const _header = dart.privateName(proxy_box, "_header");
  const _textField = dart.privateName(proxy_box, "_textField");
  const _readOnly = dart.privateName(proxy_box, "_readOnly");
  const _focusable = dart.privateName(proxy_box, "_focusable");
  const _focused = dart.privateName(proxy_box, "_focused");
  const _inMutuallyExclusiveGroup = dart.privateName(proxy_box, "_inMutuallyExclusiveGroup");
  const _obscured = dart.privateName(proxy_box, "_obscured");
  const _multiline = dart.privateName(proxy_box, "_multiline");
  const _scopesRoute = dart.privateName(proxy_box, "_scopesRoute");
  const _namesRoute = dart.privateName(proxy_box, "_namesRoute");
  const _liveRegion = dart.privateName(proxy_box, "_liveRegion");
  const _maxValueLength = dart.privateName(proxy_box, "_maxValueLength");
  const _currentValueLength = dart.privateName(proxy_box, "_currentValueLength");
  const _hidden = dart.privateName(proxy_box, "_hidden");
  const _image = dart.privateName(proxy_box, "_image");
  const _onDismiss = dart.privateName(proxy_box, "_onDismiss");
  const _label = dart.privateName(proxy_box, "_label");
  const _value = dart.privateName(proxy_box, "_value");
  const _increasedValue = dart.privateName(proxy_box, "_increasedValue");
  const _decreasedValue = dart.privateName(proxy_box, "_decreasedValue");
  const _hint = dart.privateName(proxy_box, "_hint");
  const _hintOverrides = dart.privateName(proxy_box, "_hintOverrides");
  const _sortKey = dart.privateName(proxy_box, "_sortKey");
  const _onScrollLeft = dart.privateName(proxy_box, "_onScrollLeft");
  const _onScrollRight = dart.privateName(proxy_box, "_onScrollRight");
  const _onScrollUp = dart.privateName(proxy_box, "_onScrollUp");
  const _onScrollDown = dart.privateName(proxy_box, "_onScrollDown");
  const _onIncrease = dart.privateName(proxy_box, "_onIncrease");
  const _onDecrease = dart.privateName(proxy_box, "_onDecrease");
  const _onCopy = dart.privateName(proxy_box, "_onCopy");
  const _onCut = dart.privateName(proxy_box, "_onCut");
  const _onPaste = dart.privateName(proxy_box, "_onPaste");
  const _onMoveCursorForwardByCharacter = dart.privateName(proxy_box, "_onMoveCursorForwardByCharacter");
  const _onMoveCursorBackwardByCharacter = dart.privateName(proxy_box, "_onMoveCursorBackwardByCharacter");
  const _onMoveCursorForwardByWord = dart.privateName(proxy_box, "_onMoveCursorForwardByWord");
  const _onMoveCursorBackwardByWord = dart.privateName(proxy_box, "_onMoveCursorBackwardByWord");
  const _onSetSelection = dart.privateName(proxy_box, "_onSetSelection");
  const _onDidGainAccessibilityFocus = dart.privateName(proxy_box, "_onDidGainAccessibilityFocus");
  const _onDidLoseAccessibilityFocus = dart.privateName(proxy_box, "_onDidLoseAccessibilityFocus");
  const _customSemanticsActions = dart.privateName(proxy_box, "_customSemanticsActions");
  const _performTap = dart.privateName(proxy_box, "_performTap");
  const _performLongPress = dart.privateName(proxy_box, "_performLongPress");
  const _performDismiss = dart.privateName(proxy_box, "_performDismiss");
  const _performScrollLeft = dart.privateName(proxy_box, "_performScrollLeft");
  const _performScrollRight = dart.privateName(proxy_box, "_performScrollRight");
  const _performScrollUp = dart.privateName(proxy_box, "_performScrollUp");
  const _performScrollDown = dart.privateName(proxy_box, "_performScrollDown");
  const _performIncrease = dart.privateName(proxy_box, "_performIncrease");
  const _performDecrease = dart.privateName(proxy_box, "_performDecrease");
  const _performCopy = dart.privateName(proxy_box, "_performCopy");
  const _performCut = dart.privateName(proxy_box, "_performCut");
  const _performPaste = dart.privateName(proxy_box, "_performPaste");
  const _performMoveCursorForwardByCharacter = dart.privateName(proxy_box, "_performMoveCursorForwardByCharacter");
  const _performMoveCursorBackwardByCharacter = dart.privateName(proxy_box, "_performMoveCursorBackwardByCharacter");
  const _performMoveCursorForwardByWord = dart.privateName(proxy_box, "_performMoveCursorForwardByWord");
  const _performMoveCursorBackwardByWord = dart.privateName(proxy_box, "_performMoveCursorBackwardByWord");
  const _performSetSelection = dart.privateName(proxy_box, "_performSetSelection");
  const _performDidGainAccessibilityFocus = dart.privateName(proxy_box, "_performDidGainAccessibilityFocus");
  const _performDidLoseAccessibilityFocus = dart.privateName(proxy_box, "_performDidLoseAccessibilityFocus");
  proxy_box.RenderSemanticsAnnotations = class RenderSemanticsAnnotations extends proxy_box.RenderProxyBox {
    get container() {
      return this[_container];
    }
    set container(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 3676, 12, "value != null");
      if (dart.equals(this.container, value)) return;
      this[_container] = value;
      this.markNeedsSemanticsUpdate();
    }
    get explicitChildNodes() {
      return this[_explicitChildNodes];
    }
    set explicitChildNodes(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 3699, 12, "value != null");
      if (dart.equals(this[_explicitChildNodes], value)) return;
      this[_explicitChildNodes] = value;
      this.markNeedsSemanticsUpdate();
    }
    get excludeSemantics() {
      return this[_excludeSemantics];
    }
    set excludeSemantics(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 3715, 12, "value != null");
      if (dart.equals(this[_excludeSemantics], value)) return;
      this[_excludeSemantics] = value;
      this.markNeedsSemanticsUpdate();
    }
    get checked() {
      return this[_checked];
    }
    set checked(value) {
      if (dart.equals(this.checked, value)) return;
      this[_checked] = value;
      this.markNeedsSemanticsUpdate();
    }
    get enabled() {
      return this[_enabled];
    }
    set enabled(value) {
      if (dart.equals(this.enabled, value)) return;
      this[_enabled] = value;
      this.markNeedsSemanticsUpdate();
    }
    get selected() {
      return this[_selected];
    }
    set selected(value) {
      if (dart.equals(this.selected, value)) return;
      this[_selected] = value;
      this.markNeedsSemanticsUpdate();
    }
    get button() {
      return this[_button];
    }
    set button(value) {
      if (dart.equals(this.button, value)) return;
      this[_button] = value;
      this.markNeedsSemanticsUpdate();
    }
    get link() {
      return this[_link$];
    }
    set link(value) {
      if (dart.equals(this.link, value)) return;
      this[_link$] = value;
      this.markNeedsSemanticsUpdate();
    }
    get header() {
      return this[_header];
    }
    set header(value) {
      if (dart.equals(this.header, value)) return;
      this[_header] = value;
      this.markNeedsSemanticsUpdate();
    }
    get textField() {
      return this[_textField];
    }
    set textField(value) {
      if (dart.equals(this.textField, value)) return;
      this[_textField] = value;
      this.markNeedsSemanticsUpdate();
    }
    get readOnly() {
      return this[_readOnly];
    }
    set readOnly(value) {
      if (dart.equals(this.readOnly, value)) return;
      this[_readOnly] = value;
      this.markNeedsSemanticsUpdate();
    }
    get focusable() {
      return this[_focusable];
    }
    set focusable(value) {
      if (dart.equals(this.focusable, value)) return;
      this[_focusable] = value;
      this.markNeedsSemanticsUpdate();
    }
    get focused() {
      return this[_focused];
    }
    set focused(value) {
      if (dart.equals(this.focused, value)) return;
      this[_focused] = value;
      this.markNeedsSemanticsUpdate();
    }
    get inMutuallyExclusiveGroup() {
      return this[_inMutuallyExclusiveGroup];
    }
    set inMutuallyExclusiveGroup(value) {
      if (dart.equals(this.inMutuallyExclusiveGroup, value)) return;
      this[_inMutuallyExclusiveGroup] = value;
      this.markNeedsSemanticsUpdate();
    }
    get obscured() {
      return this[_obscured];
    }
    set obscured(value) {
      if (dart.equals(this.obscured, value)) return;
      this[_obscured] = value;
      this.markNeedsSemanticsUpdate();
    }
    get multiline() {
      return this[_multiline];
    }
    set multiline(value) {
      if (dart.equals(this.multiline, value)) return;
      this[_multiline] = value;
      this.markNeedsSemanticsUpdate();
    }
    get scopesRoute() {
      return this[_scopesRoute];
    }
    set scopesRoute(value) {
      if (dart.equals(this.scopesRoute, value)) return;
      this[_scopesRoute] = value;
      this.markNeedsSemanticsUpdate();
    }
    get namesRoute() {
      return this[_namesRoute];
    }
    set namesRoute(value) {
      if (dart.equals(this[_namesRoute], value)) return;
      this[_namesRoute] = value;
      this.markNeedsSemanticsUpdate();
    }
    get hidden() {
      return this[_hidden];
    }
    set hidden(value) {
      if (dart.equals(this.hidden, value)) return;
      this[_hidden] = value;
      this.markNeedsSemanticsUpdate();
    }
    get image() {
      return this[_image];
    }
    set image(value) {
      if (dart.equals(this[_image], value)) return;
      this[_image] = value;
    }
    get liveRegion() {
      return this[_liveRegion];
    }
    set liveRegion(value) {
      if (dart.equals(this[_liveRegion], value)) return;
      this[_liveRegion] = value;
      this.markNeedsSemanticsUpdate();
    }
    get maxValueLength() {
      return this[_maxValueLength];
    }
    set maxValueLength(value) {
      if (this[_maxValueLength] == value) return;
      this[_maxValueLength] = value;
      this.markNeedsSemanticsUpdate();
    }
    get currentValueLength() {
      return this[_currentValueLength];
    }
    set currentValueLength(value) {
      if (this[_currentValueLength] == value) return;
      this[_currentValueLength] = value;
      this.markNeedsSemanticsUpdate();
    }
    get toggled() {
      return this[_toggled];
    }
    set toggled(value) {
      if (dart.equals(this[_toggled], value)) return;
      this[_toggled] = value;
      this.markNeedsSemanticsUpdate();
    }
    get label() {
      return this[_label];
    }
    set label(value) {
      if (this[_label] == value) return;
      this[_label] = value;
      this.markNeedsSemanticsUpdate();
    }
    get value() {
      return this[_value];
    }
    set value(value) {
      if (this[_value] == value) return;
      this[_value] = value;
      this.markNeedsSemanticsUpdate();
    }
    get increasedValue() {
      return this[_increasedValue];
    }
    set increasedValue(value) {
      if (this[_increasedValue] == value) return;
      this[_increasedValue] = value;
      this.markNeedsSemanticsUpdate();
    }
    get decreasedValue() {
      return this[_decreasedValue];
    }
    set decreasedValue(value) {
      if (this[_decreasedValue] == value) return;
      this[_decreasedValue] = value;
      this.markNeedsSemanticsUpdate();
    }
    get hint() {
      return this[_hint];
    }
    set hint(value) {
      if (this[_hint] == value) return;
      this[_hint] = value;
      this.markNeedsSemanticsUpdate();
    }
    get hintOverrides() {
      return this[_hintOverrides];
    }
    set hintOverrides(value) {
      if (dart.equals(this[_hintOverrides], value)) return;
      this[_hintOverrides] = value;
      this.markNeedsSemanticsUpdate();
    }
    get textDirection() {
      return this[_textDirection$0];
    }
    set textDirection(value) {
      if (dart.equals(this.textDirection, value)) return;
      this[_textDirection$0] = value;
      this.markNeedsSemanticsUpdate();
    }
    get sortKey() {
      return this[_sortKey];
    }
    set sortKey(value) {
      if (dart.equals(this.sortKey, value)) return;
      this[_sortKey] = value;
      this.markNeedsSemanticsUpdate();
    }
    get onTap() {
      return this[_onTap];
    }
    set onTap(handler) {
      if (dart.equals(this[_onTap], handler)) return;
      let hadValue = this[_onTap] != null;
      this[_onTap] = handler;
      if ((handler != null)[$_equals](hadValue)) this.markNeedsSemanticsUpdate();
    }
    get onDismiss() {
      return this[_onDismiss];
    }
    set onDismiss(handler) {
      if (dart.equals(this[_onDismiss], handler)) return;
      let hadValue = this[_onDismiss] != null;
      this[_onDismiss] = handler;
      if ((handler != null)[$_equals](hadValue)) this.markNeedsSemanticsUpdate();
    }
    get onLongPress() {
      return this[_onLongPress];
    }
    set onLongPress(handler) {
      if (dart.equals(this[_onLongPress], handler)) return;
      let hadValue = this[_onLongPress] != null;
      this[_onLongPress] = handler;
      if (!(handler != null)[$_equals](hadValue)) this.markNeedsSemanticsUpdate();
    }
    get onScrollLeft() {
      return this[_onScrollLeft];
    }
    set onScrollLeft(handler) {
      if (dart.equals(this[_onScrollLeft], handler)) return;
      let hadValue = this[_onScrollLeft] != null;
      this[_onScrollLeft] = handler;
      if (!(handler != null)[$_equals](hadValue)) this.markNeedsSemanticsUpdate();
    }
    get onScrollRight() {
      return this[_onScrollRight];
    }
    set onScrollRight(handler) {
      if (dart.equals(this[_onScrollRight], handler)) return;
      let hadValue = this[_onScrollRight] != null;
      this[_onScrollRight] = handler;
      if (!(handler != null)[$_equals](hadValue)) this.markNeedsSemanticsUpdate();
    }
    get onScrollUp() {
      return this[_onScrollUp];
    }
    set onScrollUp(handler) {
      if (dart.equals(this[_onScrollUp], handler)) return;
      let hadValue = this[_onScrollUp] != null;
      this[_onScrollUp] = handler;
      if (!(handler != null)[$_equals](hadValue)) this.markNeedsSemanticsUpdate();
    }
    get onScrollDown() {
      return this[_onScrollDown];
    }
    set onScrollDown(handler) {
      if (dart.equals(this[_onScrollDown], handler)) return;
      let hadValue = this[_onScrollDown] != null;
      this[_onScrollDown] = handler;
      if (!(handler != null)[$_equals](hadValue)) this.markNeedsSemanticsUpdate();
    }
    get onIncrease() {
      return this[_onIncrease];
    }
    set onIncrease(handler) {
      if (dart.equals(this[_onIncrease], handler)) return;
      let hadValue = this[_onIncrease] != null;
      this[_onIncrease] = handler;
      if (!(handler != null)[$_equals](hadValue)) this.markNeedsSemanticsUpdate();
    }
    get onDecrease() {
      return this[_onDecrease];
    }
    set onDecrease(handler) {
      if (dart.equals(this[_onDecrease], handler)) return;
      let hadValue = this[_onDecrease] != null;
      this[_onDecrease] = handler;
      if (!(handler != null)[$_equals](hadValue)) this.markNeedsSemanticsUpdate();
    }
    get onCopy() {
      return this[_onCopy];
    }
    set onCopy(handler) {
      if (dart.equals(this[_onCopy], handler)) return;
      let hadValue = this[_onCopy] != null;
      this[_onCopy] = handler;
      if (!(handler != null)[$_equals](hadValue)) this.markNeedsSemanticsUpdate();
    }
    get onCut() {
      return this[_onCut];
    }
    set onCut(handler) {
      if (dart.equals(this[_onCut], handler)) return;
      let hadValue = this[_onCut] != null;
      this[_onCut] = handler;
      if (!(handler != null)[$_equals](hadValue)) this.markNeedsSemanticsUpdate();
    }
    get onPaste() {
      return this[_onPaste];
    }
    set onPaste(handler) {
      if (dart.equals(this[_onPaste], handler)) return;
      let hadValue = this[_onPaste] != null;
      this[_onPaste] = handler;
      if (!(handler != null)[$_equals](hadValue)) this.markNeedsSemanticsUpdate();
    }
    get onMoveCursorForwardByCharacter() {
      return this[_onMoveCursorForwardByCharacter];
    }
    set onMoveCursorForwardByCharacter(handler) {
      if (dart.equals(this[_onMoveCursorForwardByCharacter], handler)) return;
      let hadValue = this[_onMoveCursorForwardByCharacter] != null;
      this[_onMoveCursorForwardByCharacter] = handler;
      if (!(handler != null)[$_equals](hadValue)) this.markNeedsSemanticsUpdate();
    }
    get onMoveCursorBackwardByCharacter() {
      return this[_onMoveCursorBackwardByCharacter];
    }
    set onMoveCursorBackwardByCharacter(handler) {
      if (dart.equals(this[_onMoveCursorBackwardByCharacter], handler)) return;
      let hadValue = this[_onMoveCursorBackwardByCharacter] != null;
      this[_onMoveCursorBackwardByCharacter] = handler;
      if (!(handler != null)[$_equals](hadValue)) this.markNeedsSemanticsUpdate();
    }
    get onMoveCursorForwardByWord() {
      return this[_onMoveCursorForwardByWord];
    }
    set onMoveCursorForwardByWord(handler) {
      if (dart.equals(this[_onMoveCursorForwardByWord], handler)) return;
      let hadValue = this[_onMoveCursorForwardByWord] != null;
      this[_onMoveCursorForwardByWord] = handler;
      if (!(handler != null)[$_equals](hadValue)) this.markNeedsSemanticsUpdate();
    }
    get onMoveCursorBackwardByWord() {
      return this[_onMoveCursorBackwardByWord];
    }
    set onMoveCursorBackwardByWord(handler) {
      if (dart.equals(this[_onMoveCursorBackwardByWord], handler)) return;
      let hadValue = this[_onMoveCursorBackwardByWord] != null;
      this[_onMoveCursorBackwardByWord] = handler;
      if (!(handler != null)[$_equals](hadValue)) this.markNeedsSemanticsUpdate();
    }
    get onSetSelection() {
      return this[_onSetSelection];
    }
    set onSetSelection(handler) {
      if (dart.equals(this[_onSetSelection], handler)) return;
      let hadValue = this[_onSetSelection] != null;
      this[_onSetSelection] = handler;
      if (!(handler != null)[$_equals](hadValue)) this.markNeedsSemanticsUpdate();
    }
    get onDidGainAccessibilityFocus() {
      return this[_onDidGainAccessibilityFocus];
    }
    set onDidGainAccessibilityFocus(handler) {
      if (dart.equals(this[_onDidGainAccessibilityFocus], handler)) return;
      let hadValue = this[_onDidGainAccessibilityFocus] != null;
      this[_onDidGainAccessibilityFocus] = handler;
      if (!(handler != null)[$_equals](hadValue)) this.markNeedsSemanticsUpdate();
    }
    get onDidLoseAccessibilityFocus() {
      return this[_onDidLoseAccessibilityFocus];
    }
    set onDidLoseAccessibilityFocus(handler) {
      if (dart.equals(this[_onDidLoseAccessibilityFocus], handler)) return;
      let hadValue = this[_onDidLoseAccessibilityFocus] != null;
      this[_onDidLoseAccessibilityFocus] = handler;
      if (!(handler != null)[$_equals](hadValue)) this.markNeedsSemanticsUpdate();
    }
    get customSemanticsActions() {
      return this[_customSemanticsActions];
    }
    set customSemanticsActions(value) {
      if (dart.equals(this[_customSemanticsActions], value)) return;
      this[_customSemanticsActions] = value;
      this.markNeedsSemanticsUpdate();
    }
    visitChildrenForSemantics(visitor) {
      if (dart.test(this.excludeSemantics)) return;
      super.visitChildrenForSemantics(visitor);
    }
    describeSemanticsConfiguration(config) {
      super.describeSemanticsConfiguration(config);
      config.isSemanticBoundary = this.container;
      config.explicitChildNodes = this.explicitChildNodes;
      if (!(dart.equals(this.scopesRoute, true) && dart.equals(this.explicitChildNodes, true) || !dart.equals(this.scopesRoute, true))) dart.assertFailed("explicitChildNodes must be set to true if scopes route is true", "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 4453, 12, "(scopesRoute == true && explicitChildNodes == true) || scopesRoute != true");
      if (!!(dart.equals(this.toggled, true) && dart.equals(this.checked, true))) dart.assertFailed("A semantics node cannot be toggled and checked at the same time", "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 4455, 12, "!(toggled == true && checked == true)");
      if (this.enabled != null) config.isEnabled = this.enabled;
      if (this.checked != null) config.isChecked = this.checked;
      if (this.toggled != null) config.isToggled = this.toggled;
      if (this.selected != null) config.isSelected = this.selected;
      if (this.button != null) config.isButton = this.button;
      if (this.link != null) config.isLink = this.link;
      if (this.header != null) config.isHeader = this.header;
      if (this.textField != null) config.isTextField = this.textField;
      if (this.readOnly != null) config.isReadOnly = this.readOnly;
      if (this.focusable != null) config.isFocusable = this.focusable;
      if (this.focused != null) config.isFocused = this.focused;
      if (this.inMutuallyExclusiveGroup != null) config.isInMutuallyExclusiveGroup = this.inMutuallyExclusiveGroup;
      if (this.obscured != null) config.isObscured = this.obscured;
      if (this.multiline != null) config.isMultiline = this.multiline;
      if (this.hidden != null) config.isHidden = this.hidden;
      if (this.image != null) config.isImage = this.image;
      if (this.label != null) config.label = this.label;
      if (this.value != null) config.value = this.value;
      if (this.increasedValue != null) config.increasedValue = this.increasedValue;
      if (this.decreasedValue != null) config.decreasedValue = this.decreasedValue;
      if (this.hint != null) config.hint = this.hint;
      if (this.hintOverrides != null && dart.test(this.hintOverrides.isNotEmpty)) config.hintOverrides = this.hintOverrides;
      if (this.scopesRoute != null) config.scopesRoute = this.scopesRoute;
      if (this.namesRoute != null) config.namesRoute = this.namesRoute;
      if (this.liveRegion != null) config.liveRegion = this.liveRegion;
      if (this.maxValueLength != null) {
        config.maxValueLength = this.maxValueLength;
      }
      if (this.currentValueLength != null) {
        config.currentValueLength = this.currentValueLength;
      }
      if (this.textDirection != null) config.textDirection = this.textDirection;
      if (this.sortKey != null) config.sortKey = this.sortKey;
      if (this.onTap != null) config.onTap = dart.bind(this, _performTap);
      if (this.onLongPress != null) config.onLongPress = dart.bind(this, _performLongPress);
      if (this.onDismiss != null) config.onDismiss = dart.bind(this, _performDismiss);
      if (this.onScrollLeft != null) config.onScrollLeft = dart.bind(this, _performScrollLeft);
      if (this.onScrollRight != null) config.onScrollRight = dart.bind(this, _performScrollRight);
      if (this.onScrollUp != null) config.onScrollUp = dart.bind(this, _performScrollUp);
      if (this.onScrollDown != null) config.onScrollDown = dart.bind(this, _performScrollDown);
      if (this.onIncrease != null) config.onIncrease = dart.bind(this, _performIncrease);
      if (this.onDecrease != null) config.onDecrease = dart.bind(this, _performDecrease);
      if (this.onCopy != null) config.onCopy = dart.bind(this, _performCopy);
      if (this.onCut != null) config.onCut = dart.bind(this, _performCut);
      if (this.onPaste != null) config.onPaste = dart.bind(this, _performPaste);
      if (this.onMoveCursorForwardByCharacter != null) config.onMoveCursorForwardByCharacter = dart.bind(this, _performMoveCursorForwardByCharacter);
      if (this.onMoveCursorBackwardByCharacter != null) config.onMoveCursorBackwardByCharacter = dart.bind(this, _performMoveCursorBackwardByCharacter);
      if (this.onMoveCursorForwardByWord != null) config.onMoveCursorForwardByWord = dart.bind(this, _performMoveCursorForwardByWord);
      if (this.onMoveCursorBackwardByWord != null) config.onMoveCursorBackwardByWord = dart.bind(this, _performMoveCursorBackwardByWord);
      if (this.onSetSelection != null) config.onSetSelection = dart.bind(this, _performSetSelection);
      if (this.onDidGainAccessibilityFocus != null) config.onDidGainAccessibilityFocus = dart.bind(this, _performDidGainAccessibilityFocus);
      if (this.onDidLoseAccessibilityFocus != null) config.onDidLoseAccessibilityFocus = dart.bind(this, _performDidLoseAccessibilityFocus);
      if (this.customSemanticsActions != null) config.customSemanticsActions = this[_customSemanticsActions];
    }
    [_performTap]() {
      if (this.onTap != null) this.onTap();
    }
    [_performLongPress]() {
      if (this.onLongPress != null) this.onLongPress();
    }
    [_performDismiss]() {
      if (this.onDismiss != null) this.onDismiss();
    }
    [_performScrollLeft]() {
      if (this.onScrollLeft != null) this.onScrollLeft();
    }
    [_performScrollRight]() {
      if (this.onScrollRight != null) this.onScrollRight();
    }
    [_performScrollUp]() {
      if (this.onScrollUp != null) this.onScrollUp();
    }
    [_performScrollDown]() {
      if (this.onScrollDown != null) this.onScrollDown();
    }
    [_performIncrease]() {
      if (this.onIncrease != null) this.onIncrease();
    }
    [_performDecrease]() {
      if (this.onDecrease != null) this.onDecrease();
    }
    [_performCopy]() {
      if (this.onCopy != null) this.onCopy();
    }
    [_performCut]() {
      if (this.onCut != null) this.onCut();
    }
    [_performPaste]() {
      if (this.onPaste != null) this.onPaste();
    }
    [_performMoveCursorForwardByCharacter](extendSelection) {
      if (this.onMoveCursorForwardByCharacter != null) this.onMoveCursorForwardByCharacter(extendSelection);
    }
    [_performMoveCursorBackwardByCharacter](extendSelection) {
      if (this.onMoveCursorBackwardByCharacter != null) this.onMoveCursorBackwardByCharacter(extendSelection);
    }
    [_performMoveCursorForwardByWord](extendSelection) {
      if (this.onMoveCursorForwardByWord != null) this.onMoveCursorForwardByWord(extendSelection);
    }
    [_performMoveCursorBackwardByWord](extendSelection) {
      if (this.onMoveCursorBackwardByWord != null) this.onMoveCursorBackwardByWord(extendSelection);
    }
    [_performSetSelection](selection) {
      if (this.onSetSelection != null) this.onSetSelection(selection);
    }
    [_performDidGainAccessibilityFocus]() {
      if (this.onDidGainAccessibilityFocus != null) this.onDidGainAccessibilityFocus();
    }
    [_performDidLoseAccessibilityFocus]() {
      if (this.onDidLoseAccessibilityFocus != null) this.onDidLoseAccessibilityFocus();
    }
  };
  (proxy_box.RenderSemanticsAnnotations.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let container = opts && 'container' in opts ? opts.container : false;
    let explicitChildNodes = opts && 'explicitChildNodes' in opts ? opts.explicitChildNodes : null;
    let excludeSemantics = opts && 'excludeSemantics' in opts ? opts.excludeSemantics : false;
    let enabled = opts && 'enabled' in opts ? opts.enabled : null;
    let checked = opts && 'checked' in opts ? opts.checked : null;
    let toggled = opts && 'toggled' in opts ? opts.toggled : null;
    let selected = opts && 'selected' in opts ? opts.selected : null;
    let button = opts && 'button' in opts ? opts.button : null;
    let link = opts && 'link' in opts ? opts.link : null;
    let header = opts && 'header' in opts ? opts.header : null;
    let textField = opts && 'textField' in opts ? opts.textField : null;
    let readOnly = opts && 'readOnly' in opts ? opts.readOnly : null;
    let focusable = opts && 'focusable' in opts ? opts.focusable : null;
    let focused = opts && 'focused' in opts ? opts.focused : null;
    let inMutuallyExclusiveGroup = opts && 'inMutuallyExclusiveGroup' in opts ? opts.inMutuallyExclusiveGroup : null;
    let obscured = opts && 'obscured' in opts ? opts.obscured : null;
    let multiline = opts && 'multiline' in opts ? opts.multiline : null;
    let scopesRoute = opts && 'scopesRoute' in opts ? opts.scopesRoute : null;
    let namesRoute = opts && 'namesRoute' in opts ? opts.namesRoute : null;
    let hidden = opts && 'hidden' in opts ? opts.hidden : null;
    let image = opts && 'image' in opts ? opts.image : null;
    let liveRegion = opts && 'liveRegion' in opts ? opts.liveRegion : null;
    let maxValueLength = opts && 'maxValueLength' in opts ? opts.maxValueLength : null;
    let currentValueLength = opts && 'currentValueLength' in opts ? opts.currentValueLength : null;
    let label = opts && 'label' in opts ? opts.label : null;
    let value = opts && 'value' in opts ? opts.value : null;
    let increasedValue = opts && 'increasedValue' in opts ? opts.increasedValue : null;
    let decreasedValue = opts && 'decreasedValue' in opts ? opts.decreasedValue : null;
    let hint = opts && 'hint' in opts ? opts.hint : null;
    let hintOverrides = opts && 'hintOverrides' in opts ? opts.hintOverrides : null;
    let textDirection = opts && 'textDirection' in opts ? opts.textDirection : null;
    let sortKey = opts && 'sortKey' in opts ? opts.sortKey : null;
    let onTap = opts && 'onTap' in opts ? opts.onTap : null;
    let onDismiss = opts && 'onDismiss' in opts ? opts.onDismiss : null;
    let onLongPress = opts && 'onLongPress' in opts ? opts.onLongPress : null;
    let onScrollLeft = opts && 'onScrollLeft' in opts ? opts.onScrollLeft : null;
    let onScrollRight = opts && 'onScrollRight' in opts ? opts.onScrollRight : null;
    let onScrollUp = opts && 'onScrollUp' in opts ? opts.onScrollUp : null;
    let onScrollDown = opts && 'onScrollDown' in opts ? opts.onScrollDown : null;
    let onIncrease = opts && 'onIncrease' in opts ? opts.onIncrease : null;
    let onDecrease = opts && 'onDecrease' in opts ? opts.onDecrease : null;
    let onCopy = opts && 'onCopy' in opts ? opts.onCopy : null;
    let onCut = opts && 'onCut' in opts ? opts.onCut : null;
    let onPaste = opts && 'onPaste' in opts ? opts.onPaste : null;
    let onMoveCursorForwardByCharacter = opts && 'onMoveCursorForwardByCharacter' in opts ? opts.onMoveCursorForwardByCharacter : null;
    let onMoveCursorBackwardByCharacter = opts && 'onMoveCursorBackwardByCharacter' in opts ? opts.onMoveCursorBackwardByCharacter : null;
    let onMoveCursorForwardByWord = opts && 'onMoveCursorForwardByWord' in opts ? opts.onMoveCursorForwardByWord : null;
    let onMoveCursorBackwardByWord = opts && 'onMoveCursorBackwardByWord' in opts ? opts.onMoveCursorBackwardByWord : null;
    let onSetSelection = opts && 'onSetSelection' in opts ? opts.onSetSelection : null;
    let onDidGainAccessibilityFocus = opts && 'onDidGainAccessibilityFocus' in opts ? opts.onDidGainAccessibilityFocus : null;
    let onDidLoseAccessibilityFocus = opts && 'onDidLoseAccessibilityFocus' in opts ? opts.onDidLoseAccessibilityFocus : null;
    let customSemanticsActions = opts && 'customSemanticsActions' in opts ? opts.customSemanticsActions : null;
    if (!(container != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 3611, 15, "container != null");
    this[_container] = container;
    this[_explicitChildNodes] = explicitChildNodes;
    this[_excludeSemantics] = excludeSemantics;
    this[_enabled] = enabled;
    this[_checked] = checked;
    this[_toggled] = toggled;
    this[_selected] = selected;
    this[_button] = button;
    this[_link$] = link;
    this[_header] = header;
    this[_textField] = textField;
    this[_readOnly] = readOnly;
    this[_focusable] = focusable;
    this[_focused] = focused;
    this[_inMutuallyExclusiveGroup] = inMutuallyExclusiveGroup;
    this[_obscured] = obscured;
    this[_multiline] = multiline;
    this[_scopesRoute] = scopesRoute;
    this[_namesRoute] = namesRoute;
    this[_liveRegion] = liveRegion;
    this[_maxValueLength] = maxValueLength;
    this[_currentValueLength] = currentValueLength;
    this[_hidden] = hidden;
    this[_image] = image;
    this[_onDismiss] = onDismiss;
    this[_label] = label;
    this[_value] = value;
    this[_increasedValue] = increasedValue;
    this[_decreasedValue] = decreasedValue;
    this[_hint] = hint;
    this[_hintOverrides] = hintOverrides;
    this[_textDirection$0] = textDirection;
    this[_sortKey] = sortKey;
    this[_onTap] = onTap;
    this[_onLongPress] = onLongPress;
    this[_onScrollLeft] = onScrollLeft;
    this[_onScrollRight] = onScrollRight;
    this[_onScrollUp] = onScrollUp;
    this[_onScrollDown] = onScrollDown;
    this[_onIncrease] = onIncrease;
    this[_onDecrease] = onDecrease;
    this[_onCopy] = onCopy;
    this[_onCut] = onCut;
    this[_onPaste] = onPaste;
    this[_onMoveCursorForwardByCharacter] = onMoveCursorForwardByCharacter;
    this[_onMoveCursorBackwardByCharacter] = onMoveCursorBackwardByCharacter;
    this[_onMoveCursorForwardByWord] = onMoveCursorForwardByWord;
    this[_onMoveCursorBackwardByWord] = onMoveCursorBackwardByWord;
    this[_onSetSelection] = onSetSelection;
    this[_onDidGainAccessibilityFocus] = onDidGainAccessibilityFocus;
    this[_onDidLoseAccessibilityFocus] = onDidLoseAccessibilityFocus;
    this[_customSemanticsActions] = customSemanticsActions;
    proxy_box.RenderSemanticsAnnotations.__proto__.new.call(this, child);
    ;
  }).prototype = proxy_box.RenderSemanticsAnnotations.prototype;
  dart.addTypeTests(proxy_box.RenderSemanticsAnnotations);
  dart.setMethodSignature(proxy_box.RenderSemanticsAnnotations, () => ({
    __proto__: dart.getMethods(proxy_box.RenderSemanticsAnnotations.__proto__),
    [_performTap]: dart.fnType(dart.void, []),
    [_performLongPress]: dart.fnType(dart.void, []),
    [_performDismiss]: dart.fnType(dart.void, []),
    [_performScrollLeft]: dart.fnType(dart.void, []),
    [_performScrollRight]: dart.fnType(dart.void, []),
    [_performScrollUp]: dart.fnType(dart.void, []),
    [_performScrollDown]: dart.fnType(dart.void, []),
    [_performIncrease]: dart.fnType(dart.void, []),
    [_performDecrease]: dart.fnType(dart.void, []),
    [_performCopy]: dart.fnType(dart.void, []),
    [_performCut]: dart.fnType(dart.void, []),
    [_performPaste]: dart.fnType(dart.void, []),
    [_performMoveCursorForwardByCharacter]: dart.fnType(dart.void, [core.bool]),
    [_performMoveCursorBackwardByCharacter]: dart.fnType(dart.void, [core.bool]),
    [_performMoveCursorForwardByWord]: dart.fnType(dart.void, [core.bool]),
    [_performMoveCursorBackwardByWord]: dart.fnType(dart.void, [core.bool]),
    [_performSetSelection]: dart.fnType(dart.void, [text_editing.TextSelection]),
    [_performDidGainAccessibilityFocus]: dart.fnType(dart.void, []),
    [_performDidLoseAccessibilityFocus]: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(proxy_box.RenderSemanticsAnnotations, () => ({
    __proto__: dart.getGetters(proxy_box.RenderSemanticsAnnotations.__proto__),
    container: core.bool,
    explicitChildNodes: core.bool,
    excludeSemantics: core.bool,
    checked: core.bool,
    enabled: core.bool,
    selected: core.bool,
    button: core.bool,
    link: core.bool,
    header: core.bool,
    textField: core.bool,
    readOnly: core.bool,
    focusable: core.bool,
    focused: core.bool,
    inMutuallyExclusiveGroup: core.bool,
    obscured: core.bool,
    multiline: core.bool,
    scopesRoute: core.bool,
    namesRoute: core.bool,
    hidden: core.bool,
    image: core.bool,
    liveRegion: core.bool,
    maxValueLength: core.int,
    currentValueLength: core.int,
    toggled: core.bool,
    label: core.String,
    value: core.String,
    increasedValue: core.String,
    decreasedValue: core.String,
    hint: core.String,
    hintOverrides: semantics.SemanticsHintOverrides,
    textDirection: ui.TextDirection,
    sortKey: semantics.SemanticsSortKey,
    onTap: dart.fnType(dart.void, []),
    onDismiss: dart.fnType(dart.void, []),
    onLongPress: dart.fnType(dart.void, []),
    onScrollLeft: dart.fnType(dart.void, []),
    onScrollRight: dart.fnType(dart.void, []),
    onScrollUp: dart.fnType(dart.void, []),
    onScrollDown: dart.fnType(dart.void, []),
    onIncrease: dart.fnType(dart.void, []),
    onDecrease: dart.fnType(dart.void, []),
    onCopy: dart.fnType(dart.void, []),
    onCut: dart.fnType(dart.void, []),
    onPaste: dart.fnType(dart.void, []),
    onMoveCursorForwardByCharacter: dart.fnType(dart.void, [core.bool]),
    onMoveCursorBackwardByCharacter: dart.fnType(dart.void, [core.bool]),
    onMoveCursorForwardByWord: dart.fnType(dart.void, [core.bool]),
    onMoveCursorBackwardByWord: dart.fnType(dart.void, [core.bool]),
    onSetSelection: dart.fnType(dart.void, [text_editing.TextSelection]),
    onDidGainAccessibilityFocus: dart.fnType(dart.void, []),
    onDidLoseAccessibilityFocus: dart.fnType(dart.void, []),
    customSemanticsActions: core.Map$(semantics.CustomSemanticsAction, dart.fnType(dart.void, []))
  }));
  dart.setSetterSignature(proxy_box.RenderSemanticsAnnotations, () => ({
    __proto__: dart.getSetters(proxy_box.RenderSemanticsAnnotations.__proto__),
    container: core.bool,
    explicitChildNodes: core.bool,
    excludeSemantics: core.bool,
    checked: core.bool,
    enabled: core.bool,
    selected: core.bool,
    button: core.bool,
    link: core.bool,
    header: core.bool,
    textField: core.bool,
    readOnly: core.bool,
    focusable: core.bool,
    focused: core.bool,
    inMutuallyExclusiveGroup: core.bool,
    obscured: core.bool,
    multiline: core.bool,
    scopesRoute: core.bool,
    namesRoute: core.bool,
    hidden: core.bool,
    image: core.bool,
    liveRegion: core.bool,
    maxValueLength: core.int,
    currentValueLength: core.int,
    toggled: core.bool,
    label: core.String,
    value: core.String,
    increasedValue: core.String,
    decreasedValue: core.String,
    hint: core.String,
    hintOverrides: semantics.SemanticsHintOverrides,
    textDirection: ui.TextDirection,
    sortKey: semantics.SemanticsSortKey,
    onTap: dart.fnType(dart.void, []),
    onDismiss: dart.fnType(dart.void, []),
    onLongPress: dart.fnType(dart.void, []),
    onScrollLeft: dart.fnType(dart.void, []),
    onScrollRight: dart.fnType(dart.void, []),
    onScrollUp: dart.fnType(dart.void, []),
    onScrollDown: dart.fnType(dart.void, []),
    onIncrease: dart.fnType(dart.void, []),
    onDecrease: dart.fnType(dart.void, []),
    onCopy: dart.fnType(dart.void, []),
    onCut: dart.fnType(dart.void, []),
    onPaste: dart.fnType(dart.void, []),
    onMoveCursorForwardByCharacter: dart.fnType(dart.void, [core.bool]),
    onMoveCursorBackwardByCharacter: dart.fnType(dart.void, [core.bool]),
    onMoveCursorForwardByWord: dart.fnType(dart.void, [core.bool]),
    onMoveCursorBackwardByWord: dart.fnType(dart.void, [core.bool]),
    onSetSelection: dart.fnType(dart.void, [text_editing.TextSelection]),
    onDidGainAccessibilityFocus: dart.fnType(dart.void, []),
    onDidLoseAccessibilityFocus: dart.fnType(dart.void, []),
    customSemanticsActions: core.Map$(semantics.CustomSemanticsAction, dart.fnType(dart.void, []))
  }));
  dart.setLibraryUri(proxy_box.RenderSemanticsAnnotations, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderSemanticsAnnotations, () => ({
    __proto__: dart.getFields(proxy_box.RenderSemanticsAnnotations.__proto__),
    [_container]: dart.fieldType(core.bool),
    [_explicitChildNodes]: dart.fieldType(core.bool),
    [_excludeSemantics]: dart.fieldType(core.bool),
    [_checked]: dart.fieldType(core.bool),
    [_enabled]: dart.fieldType(core.bool),
    [_selected]: dart.fieldType(core.bool),
    [_button]: dart.fieldType(core.bool),
    [_link$]: dart.fieldType(core.bool),
    [_header]: dart.fieldType(core.bool),
    [_textField]: dart.fieldType(core.bool),
    [_readOnly]: dart.fieldType(core.bool),
    [_focusable]: dart.fieldType(core.bool),
    [_focused]: dart.fieldType(core.bool),
    [_inMutuallyExclusiveGroup]: dart.fieldType(core.bool),
    [_obscured]: dart.fieldType(core.bool),
    [_multiline]: dart.fieldType(core.bool),
    [_scopesRoute]: dart.fieldType(core.bool),
    [_namesRoute]: dart.fieldType(core.bool),
    [_hidden]: dart.fieldType(core.bool),
    [_image]: dart.fieldType(core.bool),
    [_liveRegion]: dart.fieldType(core.bool),
    [_maxValueLength]: dart.fieldType(core.int),
    [_currentValueLength]: dart.fieldType(core.int),
    [_toggled]: dart.fieldType(core.bool),
    [_label]: dart.fieldType(core.String),
    [_value]: dart.fieldType(core.String),
    [_increasedValue]: dart.fieldType(core.String),
    [_decreasedValue]: dart.fieldType(core.String),
    [_hint]: dart.fieldType(core.String),
    [_hintOverrides]: dart.fieldType(semantics.SemanticsHintOverrides),
    [_textDirection$0]: dart.fieldType(ui.TextDirection),
    [_sortKey]: dart.fieldType(semantics.SemanticsSortKey),
    [_onTap]: dart.fieldType(dart.fnType(dart.void, [])),
    [_onDismiss]: dart.fieldType(dart.fnType(dart.void, [])),
    [_onLongPress]: dart.fieldType(dart.fnType(dart.void, [])),
    [_onScrollLeft]: dart.fieldType(dart.fnType(dart.void, [])),
    [_onScrollRight]: dart.fieldType(dart.fnType(dart.void, [])),
    [_onScrollUp]: dart.fieldType(dart.fnType(dart.void, [])),
    [_onScrollDown]: dart.fieldType(dart.fnType(dart.void, [])),
    [_onIncrease]: dart.fieldType(dart.fnType(dart.void, [])),
    [_onDecrease]: dart.fieldType(dart.fnType(dart.void, [])),
    [_onCopy]: dart.fieldType(dart.fnType(dart.void, [])),
    [_onCut]: dart.fieldType(dart.fnType(dart.void, [])),
    [_onPaste]: dart.fieldType(dart.fnType(dart.void, [])),
    [_onMoveCursorForwardByCharacter]: dart.fieldType(dart.fnType(dart.void, [core.bool])),
    [_onMoveCursorBackwardByCharacter]: dart.fieldType(dart.fnType(dart.void, [core.bool])),
    [_onMoveCursorForwardByWord]: dart.fieldType(dart.fnType(dart.void, [core.bool])),
    [_onMoveCursorBackwardByWord]: dart.fieldType(dart.fnType(dart.void, [core.bool])),
    [_onSetSelection]: dart.fieldType(dart.fnType(dart.void, [text_editing.TextSelection])),
    [_onDidGainAccessibilityFocus]: dart.fieldType(dart.fnType(dart.void, [])),
    [_onDidLoseAccessibilityFocus]: dart.fieldType(dart.fnType(dart.void, [])),
    [_customSemanticsActions]: dart.fieldType(core.Map$(semantics.CustomSemanticsAction, dart.fnType(dart.void, [])))
  }));
  const _blocking = dart.privateName(proxy_box, "_blocking");
  proxy_box.RenderBlockSemantics = class RenderBlockSemantics extends proxy_box.RenderProxyBox {
    get blocking() {
      return this[_blocking];
    }
    set blocking(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 4678, 12, "value != null");
      if (dart.equals(value, this[_blocking])) return;
      this[_blocking] = value;
      this.markNeedsSemanticsUpdate();
    }
    describeSemanticsConfiguration(config) {
      super.describeSemanticsConfiguration(config);
      config.isBlockingSemanticsOfPreviouslyPaintedNodes = this.blocking;
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfbool()).new("blocking", this.blocking));
    }
  };
  (proxy_box.RenderBlockSemantics.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let blocking = opts && 'blocking' in opts ? opts.blocking : true;
    this[_blocking] = blocking;
    proxy_box.RenderBlockSemantics.__proto__.new.call(this, child);
    ;
  }).prototype = proxy_box.RenderBlockSemantics.prototype;
  dart.addTypeTests(proxy_box.RenderBlockSemantics);
  dart.setGetterSignature(proxy_box.RenderBlockSemantics, () => ({
    __proto__: dart.getGetters(proxy_box.RenderBlockSemantics.__proto__),
    blocking: core.bool
  }));
  dart.setSetterSignature(proxy_box.RenderBlockSemantics, () => ({
    __proto__: dart.getSetters(proxy_box.RenderBlockSemantics.__proto__),
    blocking: core.bool
  }));
  dart.setLibraryUri(proxy_box.RenderBlockSemantics, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderBlockSemantics, () => ({
    __proto__: dart.getFields(proxy_box.RenderBlockSemantics.__proto__),
    [_blocking]: dart.fieldType(core.bool)
  }));
  proxy_box.RenderMergeSemantics = class RenderMergeSemantics extends proxy_box.RenderProxyBox {
    describeSemanticsConfiguration(config) {
      let t15;
      super.describeSemanticsConfiguration(config);
      t15 = config;
      t15.isSemanticBoundary = true;
      t15.isMergingSemanticsOfDescendants = true;
      t15;
    }
  };
  (proxy_box.RenderMergeSemantics.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    proxy_box.RenderMergeSemantics.__proto__.new.call(this, child);
    ;
  }).prototype = proxy_box.RenderMergeSemantics.prototype;
  dart.addTypeTests(proxy_box.RenderMergeSemantics);
  dart.setLibraryUri(proxy_box.RenderMergeSemantics, "package:flutter/src/rendering/proxy_box.dart");
  const _excluding = dart.privateName(proxy_box, "_excluding");
  proxy_box.RenderExcludeSemantics = class RenderExcludeSemantics extends proxy_box.RenderProxyBox {
    get excluding() {
      return this[_excluding];
    }
    set excluding(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 4739, 12, "value != null");
      if (dart.equals(value, this[_excluding])) return;
      this[_excluding] = value;
      this.markNeedsSemanticsUpdate();
    }
    visitChildrenForSemantics(visitor) {
      if (dart.test(this.excluding)) return;
      super.visitChildrenForSemantics(visitor);
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfbool()).new("excluding", this.excluding));
    }
  };
  (proxy_box.RenderExcludeSemantics.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let excluding = opts && 'excluding' in opts ? opts.excluding : true;
    this[_excluding] = excluding;
    proxy_box.RenderExcludeSemantics.__proto__.new.call(this, child);
    if (!(this[_excluding] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 4732, 12, "_excluding != null");
  }).prototype = proxy_box.RenderExcludeSemantics.prototype;
  dart.addTypeTests(proxy_box.RenderExcludeSemantics);
  dart.setGetterSignature(proxy_box.RenderExcludeSemantics, () => ({
    __proto__: dart.getGetters(proxy_box.RenderExcludeSemantics.__proto__),
    excluding: core.bool
  }));
  dart.setSetterSignature(proxy_box.RenderExcludeSemantics, () => ({
    __proto__: dart.getSetters(proxy_box.RenderExcludeSemantics.__proto__),
    excluding: core.bool
  }));
  dart.setLibraryUri(proxy_box.RenderExcludeSemantics, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderExcludeSemantics, () => ({
    __proto__: dart.getFields(proxy_box.RenderExcludeSemantics.__proto__),
    [_excluding]: dart.fieldType(core.bool)
  }));
  const _index$ = dart.privateName(proxy_box, "_index");
  proxy_box.RenderIndexedSemantics = class RenderIndexedSemantics extends proxy_box.RenderProxyBox {
    get index() {
      return this[_index$];
    }
    set index(value) {
      if (value == this.index) return;
      this[_index$] = value;
      this.markNeedsSemanticsUpdate();
    }
    describeSemanticsConfiguration(config) {
      super.describeSemanticsConfiguration(config);
      config.isSemanticBoundary = true;
      config.indexInParent = this.index;
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfint()).new("index", this.index));
    }
  };
  (proxy_box.RenderIndexedSemantics.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let index = opts && 'index' in opts ? opts.index : null;
    if (!(index != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 4775, 15, "index != null");
    this[_index$] = index;
    proxy_box.RenderIndexedSemantics.__proto__.new.call(this, child);
    ;
  }).prototype = proxy_box.RenderIndexedSemantics.prototype;
  dart.addTypeTests(proxy_box.RenderIndexedSemantics);
  dart.setGetterSignature(proxy_box.RenderIndexedSemantics, () => ({
    __proto__: dart.getGetters(proxy_box.RenderIndexedSemantics.__proto__),
    index: core.int
  }));
  dart.setSetterSignature(proxy_box.RenderIndexedSemantics, () => ({
    __proto__: dart.getSetters(proxy_box.RenderIndexedSemantics.__proto__),
    index: core.int
  }));
  dart.setLibraryUri(proxy_box.RenderIndexedSemantics, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderIndexedSemantics, () => ({
    __proto__: dart.getFields(proxy_box.RenderIndexedSemantics.__proto__),
    [_index$]: dart.fieldType(core.int)
  }));
  proxy_box.RenderLeaderLayer = class RenderLeaderLayer extends proxy_box.RenderProxyBox {
    get link() {
      return this[_link$];
    }
    set link(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 4829, 12, "value != null");
      if (dart.equals(this[_link$], value)) return;
      this[_link$] = value;
      this.markNeedsPaint();
    }
    get alwaysNeedsCompositing() {
      return true;
    }
    paint(context, offset) {
      let t15;
      if (this.layer == null) {
        this.layer = new layer$.LeaderLayer.new({link: this.link, offset: offset});
      } else {
        let leaderLayer = layer$.LeaderLayer.as(this.layer);
        t15 = leaderLayer;
        t15.link = this.link;
        t15.offset = offset;
        t15;
      }
      context.pushLayer(this.layer, dart.bind(this, 'paint', super.paint), ui.Offset.zero);
      if (!(this.layer != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 4850, 12, "layer != null");
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfLayerLink()).new("link", this.link));
    }
  };
  (proxy_box.RenderLeaderLayer.new = function(opts) {
    let link = opts && 'link' in opts ? opts.link : null;
    let child = opts && 'child' in opts ? opts.child : null;
    this[_link$] = null;
    if (!(link != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 4816, 15, "link != null");
    proxy_box.RenderLeaderLayer.__proto__.new.call(this, child);
    this.link = link;
  }).prototype = proxy_box.RenderLeaderLayer.prototype;
  dart.addTypeTests(proxy_box.RenderLeaderLayer);
  dart.setGetterSignature(proxy_box.RenderLeaderLayer, () => ({
    __proto__: dart.getGetters(proxy_box.RenderLeaderLayer.__proto__),
    link: layer$.LayerLink
  }));
  dart.setSetterSignature(proxy_box.RenderLeaderLayer, () => ({
    __proto__: dart.getSetters(proxy_box.RenderLeaderLayer.__proto__),
    link: layer$.LayerLink
  }));
  dart.setLibraryUri(proxy_box.RenderLeaderLayer, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderLeaderLayer, () => ({
    __proto__: dart.getFields(proxy_box.RenderLeaderLayer.__proto__),
    [_link$]: dart.fieldType(layer$.LayerLink)
  }));
  const _showWhenUnlinked = dart.privateName(proxy_box, "_showWhenUnlinked");
  const _offset$ = dart.privateName(proxy_box, "_offset");
  const Rect_bottom = dart.privateName(ui, "Rect.bottom");
  const Rect_right = dart.privateName(ui, "Rect.right");
  const Rect_top = dart.privateName(ui, "Rect.top");
  const Rect_left = dart.privateName(ui, "Rect.left");
  let C96;
  proxy_box.RenderFollowerLayer = class RenderFollowerLayer extends proxy_box.RenderProxyBox {
    get link() {
      return this[_link$];
    }
    set link(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 4896, 12, "value != null");
      if (dart.equals(this[_link$], value)) return;
      this[_link$] = value;
      this.markNeedsPaint();
    }
    get showWhenUnlinked() {
      return this[_showWhenUnlinked];
    }
    set showWhenUnlinked(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 4915, 12, "value != null");
      if (dart.equals(this[_showWhenUnlinked], value)) return;
      this[_showWhenUnlinked] = value;
      this.markNeedsPaint();
    }
    get offset() {
      return this[_offset$];
    }
    set offset(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 4927, 12, "value != null");
      if (dart.equals(this[_offset$], value)) return;
      this[_offset$] = value;
      this.markNeedsPaint();
    }
    detach() {
      this.layer = null;
      super.detach();
    }
    get alwaysNeedsCompositing() {
      return true;
    }
    get layer() {
      return layer$.FollowerLayer.as(super.layer);
    }
    set layer(value) {
      super.layer = value;
    }
    getCurrentTransform() {
      let t15, t15$;
      t15$ = (t15 = this.layer, t15 == null ? null : t15.getLastTransform());
      return t15$ == null ? vector_math_64.Matrix4.identity() : t15$;
    }
    hitTest(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      return this.hitTestChildren(result, {position: position});
    }
    hitTestChildren(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      return result.addWithPaintTransform({transform: this.getCurrentTransform(), position: position, hitTest: dart.fn((result, position) => super.hitTestChildren(result, {position: position}), BoxHitTestResultAndOffsetTobool())});
    }
    paint(context, offset) {
      let t15;
      if (!(this.showWhenUnlinked != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 4979, 12, "showWhenUnlinked != null");
      if (this.layer == null) {
        this.layer = new layer$.FollowerLayer.new({link: this.link, showWhenUnlinked: this.showWhenUnlinked, linkedOffset: this.offset, unlinkedOffset: offset});
      } else {
        t15 = this.layer;
        t15.link = this.link;
        t15.showWhenUnlinked = this.showWhenUnlinked;
        t15.linkedOffset = this.offset;
        t15.unlinkedOffset = offset;
        t15;
      }
      context.pushLayer(this.layer, dart.bind(this, 'paint', super.paint), ui.Offset.zero, {childPaintBounds: C96 || CT.C96});
    }
    applyPaintTransform(child, transform) {
      box.RenderBox._check(child);
      transform.multiply(this.getCurrentTransform());
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfLayerLink()).new("link", this.link));
      properties.add(new (DiagnosticsPropertyOfbool()).new("showWhenUnlinked", this.showWhenUnlinked));
      properties.add(new (DiagnosticsPropertyOfOffset()).new("offset", this.offset));
      properties.add(new matrix_utils.TransformProperty.new("current transform matrix", this.getCurrentTransform()));
    }
  };
  (proxy_box.RenderFollowerLayer.new = function(opts) {
    let link = opts && 'link' in opts ? opts.link : null;
    let showWhenUnlinked = opts && 'showWhenUnlinked' in opts ? opts.showWhenUnlinked : true;
    let offset = opts && 'offset' in opts ? opts.offset : C7 || CT.C7;
    let child = opts && 'child' in opts ? opts.child : null;
    this[_link$] = null;
    this[_showWhenUnlinked] = null;
    this[_offset$] = null;
    if (!(link != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 4882, 15, "link != null");
    if (!(showWhenUnlinked != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 4883, 15, "showWhenUnlinked != null");
    if (!(offset != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 4884, 15, "offset != null");
    proxy_box.RenderFollowerLayer.__proto__.new.call(this, child);
    this.link = link;
    this.showWhenUnlinked = showWhenUnlinked;
    this.offset = offset;
  }).prototype = proxy_box.RenderFollowerLayer.prototype;
  dart.addTypeTests(proxy_box.RenderFollowerLayer);
  dart.setMethodSignature(proxy_box.RenderFollowerLayer, () => ({
    __proto__: dart.getMethods(proxy_box.RenderFollowerLayer.__proto__),
    getCurrentTransform: dart.fnType(vector_math_64.Matrix4, [])
  }));
  dart.setGetterSignature(proxy_box.RenderFollowerLayer, () => ({
    __proto__: dart.getGetters(proxy_box.RenderFollowerLayer.__proto__),
    link: layer$.LayerLink,
    showWhenUnlinked: core.bool,
    offset: ui.Offset,
    layer: layer$.FollowerLayer
  }));
  dart.setSetterSignature(proxy_box.RenderFollowerLayer, () => ({
    __proto__: dart.getSetters(proxy_box.RenderFollowerLayer.__proto__),
    link: layer$.LayerLink,
    showWhenUnlinked: core.bool,
    offset: ui.Offset
  }));
  dart.setLibraryUri(proxy_box.RenderFollowerLayer, "package:flutter/src/rendering/proxy_box.dart");
  dart.setFieldSignature(proxy_box.RenderFollowerLayer, () => ({
    __proto__: dart.getFields(proxy_box.RenderFollowerLayer.__proto__),
    [_link$]: dart.fieldType(layer$.LayerLink),
    [_showWhenUnlinked]: dart.fieldType(core.bool),
    [_offset$]: dart.fieldType(ui.Offset)
  }));
  const _sized = dart.privateName(proxy_box, "_sized");
  const _is_RenderAnnotatedRegion_default = Symbol('_is_RenderAnnotatedRegion_default');
  const alwaysNeedsCompositing = dart.privateName(proxy_box, "RenderAnnotatedRegion.alwaysNeedsCompositing");
  proxy_box.RenderAnnotatedRegion$ = dart.generic(T => {
    let AnnotatedRegionLayerOfT = () => (AnnotatedRegionLayerOfT = dart.constFn(layer$.AnnotatedRegionLayer$(T)))();
    class RenderAnnotatedRegion extends proxy_box.RenderProxyBox {
      get alwaysNeedsCompositing() {
        return this[alwaysNeedsCompositing];
      }
      set alwaysNeedsCompositing(value) {
        super.alwaysNeedsCompositing = value;
      }
      get value() {
        return this[_value];
      }
      set value(newValue) {
        T._check(newValue);
        if (dart.equals(this[_value], newValue)) return;
        this[_value] = newValue;
        this.markNeedsPaint();
      }
      get sized() {
        return this[_sized];
      }
      set sized(value) {
        if (dart.equals(this[_sized], value)) return;
        this[_sized] = value;
        this.markNeedsPaint();
      }
      paint(context, offset) {
        let layer = new (AnnotatedRegionLayerOfT()).new(this.value, {size: dart.test(this.sized) ? this.size : null, offset: dart.test(this.sized) ? offset : null});
        context.pushLayer(layer, dart.bind(this, 'paint', super.paint), offset);
      }
    }
    (RenderAnnotatedRegion.new = function(opts) {
      let value = opts && 'value' in opts ? opts.value : null;
      let sized = opts && 'sized' in opts ? opts.sized : null;
      let child = opts && 'child' in opts ? opts.child : null;
      this[alwaysNeedsCompositing] = true;
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 5042, 15, "value != null");
      if (!(sized != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_box.dart", 5043, 15, "sized != null");
      this[_value] = value;
      this[_sized] = sized;
      RenderAnnotatedRegion.__proto__.new.call(this, child);
      ;
    }).prototype = RenderAnnotatedRegion.prototype;
    dart.addTypeTests(RenderAnnotatedRegion);
    RenderAnnotatedRegion.prototype[_is_RenderAnnotatedRegion_default] = true;
    dart.setGetterSignature(RenderAnnotatedRegion, () => ({
      __proto__: dart.getGetters(RenderAnnotatedRegion.__proto__),
      value: T,
      sized: core.bool
    }));
    dart.setSetterSignature(RenderAnnotatedRegion, () => ({
      __proto__: dart.getSetters(RenderAnnotatedRegion.__proto__),
      value: core.Object,
      sized: core.bool
    }));
    dart.setLibraryUri(RenderAnnotatedRegion, "package:flutter/src/rendering/proxy_box.dart");
    dart.setFieldSignature(RenderAnnotatedRegion, () => ({
      __proto__: dart.getFields(RenderAnnotatedRegion.__proto__),
      [_value]: dart.fieldType(T),
      [_sized]: dart.fieldType(core.bool),
      alwaysNeedsCompositing: dart.finalFieldType(core.bool)
    }));
    return RenderAnnotatedRegion;
  });
  proxy_box.RenderAnnotatedRegion = proxy_box.RenderAnnotatedRegion$();
  dart.addTypeTests(proxy_box.RenderAnnotatedRegion, _is_RenderAnnotatedRegion_default);
  const _name$10 = dart.privateName(platform_view, "_name");
  let C97;
  let C98;
  let C99;
  let C100;
  platform_view.PlatformViewHitTestBehavior = class PlatformViewHitTestBehavior extends core.Object {
    toString() {
      return this[_name$10];
    }
  };
  (platform_view.PlatformViewHitTestBehavior.new = function(index, _name) {
    this.index = index;
    this[_name$10] = _name;
    ;
  }).prototype = platform_view.PlatformViewHitTestBehavior.prototype;
  dart.addTypeTests(platform_view.PlatformViewHitTestBehavior);
  dart.setLibraryUri(platform_view.PlatformViewHitTestBehavior, "package:flutter/src/rendering/platform_view.dart");
  dart.setFieldSignature(platform_view.PlatformViewHitTestBehavior, () => ({
    __proto__: dart.getFields(platform_view.PlatformViewHitTestBehavior.__proto__),
    index: dart.finalFieldType(core.int),
    [_name$10]: dart.finalFieldType(core.String)
  }));
  dart.defineExtensionMethods(platform_view.PlatformViewHitTestBehavior, ['toString']);
  platform_view.PlatformViewHitTestBehavior.opaque = C97 || CT.C97;
  platform_view.PlatformViewHitTestBehavior.translucent = C98 || CT.C98;
  platform_view.PlatformViewHitTestBehavior.transparent = C99 || CT.C99;
  platform_view.PlatformViewHitTestBehavior.values = C100 || CT.C100;
  let C101;
  let C102;
  let C103;
  let C104;
  platform_view._PlatformViewState = class _PlatformViewState extends core.Object {
    toString() {
      return this[_name$10];
    }
  };
  (platform_view._PlatformViewState.new = function(index, _name) {
    this.index = index;
    this[_name$10] = _name;
    ;
  }).prototype = platform_view._PlatformViewState.prototype;
  dart.addTypeTests(platform_view._PlatformViewState);
  dart.setLibraryUri(platform_view._PlatformViewState, "package:flutter/src/rendering/platform_view.dart");
  dart.setFieldSignature(platform_view._PlatformViewState, () => ({
    __proto__: dart.getFields(platform_view._PlatformViewState.__proto__),
    index: dart.finalFieldType(core.int),
    [_name$10]: dart.finalFieldType(core.String)
  }));
  dart.defineExtensionMethods(platform_view._PlatformViewState, ['toString']);
  platform_view._PlatformViewState.uninitialized = C101 || CT.C101;
  platform_view._PlatformViewState.resizing = C102 || CT.C102;
  platform_view._PlatformViewState.ready = C103 || CT.C103;
  platform_view._PlatformViewState.values = C104 || CT.C104;
  const _state = dart.privateName(platform_view, "_state");
  const _motionEventsDispatcher = dart.privateName(platform_view, "_motionEventsDispatcher");
  const _currentAndroidViewSize = dart.privateName(platform_view, "_currentAndroidViewSize");
  const _viewController = dart.privateName(platform_view, "_viewController");
  const _onPlatformViewCreated = dart.privateName(platform_view, "_onPlatformViewCreated");
  const _sizePlatformView = dart.privateName(platform_view, "_sizePlatformView");
  const _updateGestureRecognizersWithCallBack = dart.privateName(platform_view, "_updateGestureRecognizersWithCallBack");
  const _paintTexture = dart.privateName(platform_view, "_paintTexture");
  const _hoverAnnotation$ = dart.privateName(platform_view, "_hoverAnnotation");
  const _handlePointerEvent = dart.privateName(platform_view, "_handlePointerEvent");
  const _gestureRecognizer = dart.privateName(platform_view, "_gestureRecognizer");
  const hitTestBehavior = dart.privateName(platform_view, "_PlatformViewGestureMixin.hitTestBehavior");
  platform_view._PlatformViewGestureMixin = class _PlatformViewGestureMixin extends box.RenderBox {};
  platform_view._PlatformViewGestureMixin[dart.mixinOn] = RenderBox => class _PlatformViewGestureMixin extends RenderBox {
    get hitTestBehavior() {
      return this[hitTestBehavior];
    }
    set hitTestBehavior(value) {
      this[hitTestBehavior] = value;
    }
    [_updateGestureRecognizersWithCallBack](gestureRecognizers, handlePointerEvent) {
      let t15, t15$;
      if (!(gestureRecognizers != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/platform_view.dart", 799, 12, "gestureRecognizers != null");
      if (!(platform_view._factoriesTypeSet(recognizer.OneSequenceGestureRecognizer, gestureRecognizers)[$length] == gestureRecognizers[$length])) dart.assertFailed("There were multiple gesture recognizer factories for the same type, there must only be a single " + "gesture recognizer factory for each gesture recognizer type.", "org-dartlang-app:///packages/flutter/src/rendering/platform_view.dart", 801, 5, "_factoriesTypeSet(gestureRecognizers).length == gestureRecognizers.length");
      if (dart.test(platform_view._factoryTypesSetEquals(recognizer.OneSequenceGestureRecognizer, gestureRecognizers, (t15 = this[_gestureRecognizer], t15 == null ? null : t15.gestureRecognizerFactories)))) {
        return;
      }
      t15$ = this[_gestureRecognizer];
      t15$ == null ? null : t15$.dispose();
      this[_gestureRecognizer] = new platform_view._PlatformViewGestureRecognizer.new(handlePointerEvent, gestureRecognizers);
      this[_handlePointerEvent] = handlePointerEvent;
    }
    hitTest(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      if (dart.equals(this.hitTestBehavior, platform_view.PlatformViewHitTestBehavior.transparent) || !dart.test(this.size.contains(position))) {
        return false;
      }
      result.add(new box.BoxHitTestEntry.new(this, position));
      return dart.equals(this.hitTestBehavior, platform_view.PlatformViewHitTestBehavior.opaque);
    }
    hitTestSelf(position) {
      return !dart.equals(this.hitTestBehavior, platform_view.PlatformViewHitTestBehavior.transparent);
    }
    handleEvent(event, entry) {
      hit_test.HitTestEntry._check(entry);
      if (events.PointerDownEvent.is(event)) {
        this[_gestureRecognizer].addPointer(event);
      }
    }
    attach(owner) {
      object$.PipelineOwner._check(owner);
      super.attach(owner);
      if (!(this[_hoverAnnotation$] == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/platform_view.dart", 836, 12, "_hoverAnnotation == null");
      this[_hoverAnnotation$] = new mouse_tracking.MouseTrackerAnnotation.new({onHover: dart.fn(event => {
          if (this[_handlePointerEvent] != null) this[_handlePointerEvent](event);
        }, PointerHoverEventToNull())});
      binding$4.RendererBinding.instance.mouseTracker.attachAnnotation(this[_hoverAnnotation$]);
    }
    detach() {
      this[_gestureRecognizer].reset();
      binding$4.RendererBinding.instance.mouseTracker.detachAnnotation(this[_hoverAnnotation$]);
      this[_hoverAnnotation$] = null;
      super.detach();
    }
  };
  (platform_view._PlatformViewGestureMixin[dart.mixinNew] = function() {
    this[hitTestBehavior] = null;
    this[_hoverAnnotation$] = null;
    this[_handlePointerEvent] = null;
    this[_gestureRecognizer] = null;
  }).prototype = platform_view._PlatformViewGestureMixin.prototype;
  dart.addTypeTests(platform_view._PlatformViewGestureMixin);
  platform_view._PlatformViewGestureMixin[dart.implements] = () => [box.RenderBox];
  dart.setMethodSignature(platform_view._PlatformViewGestureMixin, () => ({
    __proto__: dart.getMethods(platform_view._PlatformViewGestureMixin.__proto__),
    [_updateGestureRecognizersWithCallBack]: dart.fnType(dart.void, [core.Set$(basic_types.Factory$(recognizer.OneSequenceGestureRecognizer)), dart.fnType(dart.void, [events.PointerEvent])])
  }));
  dart.setLibraryUri(platform_view._PlatformViewGestureMixin, "package:flutter/src/rendering/platform_view.dart");
  dart.setFieldSignature(platform_view._PlatformViewGestureMixin, () => ({
    __proto__: dart.getFields(platform_view._PlatformViewGestureMixin.__proto__),
    hitTestBehavior: dart.fieldType(platform_view.PlatformViewHitTestBehavior),
    [_hoverAnnotation$]: dart.fieldType(mouse_tracking.MouseTrackerAnnotation),
    [_handlePointerEvent]: dart.fieldType(dart.fnType(dart.void, [events.PointerEvent])),
    [_gestureRecognizer]: dart.fieldType(platform_view._PlatformViewGestureRecognizer)
  }));
  const RenderBox__PlatformViewGestureMixin$36 = class RenderBox__PlatformViewGestureMixin extends box.RenderBox {};
  (RenderBox__PlatformViewGestureMixin$36.new = function() {
    platform_view._PlatformViewGestureMixin[dart.mixinNew].call(this);
    RenderBox__PlatformViewGestureMixin$36.__proto__.new.call(this);
  }).prototype = RenderBox__PlatformViewGestureMixin$36.prototype;
  dart.applyMixin(RenderBox__PlatformViewGestureMixin$36, platform_view._PlatformViewGestureMixin);
  platform_view.RenderAndroidView = class RenderAndroidView extends RenderBox__PlatformViewGestureMixin$36 {
    get viewcontroller() {
      return this[_viewController];
    }
    set viewController(viewController) {
      if (!(this[_viewController] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/platform_view.dart", 105, 12, "_viewController != null");
      if (!(viewController != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/platform_view.dart", 106, 12, "viewController != null");
      if (dart.equals(this[_viewController], viewController)) return;
      this[_viewController].removeOnPlatformViewCreatedListener(dart.bind(this, _onPlatformViewCreated));
      this[_viewController] = viewController;
      this[_sizePlatformView]();
      if (dart.test(this[_viewController].isCreated)) {
        this.markNeedsSemanticsUpdate();
      }
      this[_viewController].addOnPlatformViewCreatedListener(dart.bind(this, _onPlatformViewCreated));
    }
    [_onPlatformViewCreated](id) {
      this.markNeedsSemanticsUpdate();
    }
    updateGestureRecognizers(gestureRecognizers) {
      this[_updateGestureRecognizersWithCallBack](gestureRecognizers, dart.bind(this[_motionEventsDispatcher], 'handlePointerEvent'));
    }
    get sizedByParent() {
      return true;
    }
    get alwaysNeedsCompositing() {
      return true;
    }
    get isRepaintBoundary() {
      return true;
    }
    performResize() {
      this.size = this.constraints.biggest;
      this[_sizePlatformView]();
    }
    [_sizePlatformView]() {
      return async.async(dart.void, (function* _sizePlatformView() {
        if (dart.equals(this[_state], platform_view._PlatformViewState.resizing) || dart.test(this.size.isEmpty)) {
          return;
        }
        this[_state] = platform_view._PlatformViewState.resizing;
        this.markNeedsPaint();
        let targetSize = null;
        do {
          targetSize = this.size;
          yield this[_viewController].setSize(targetSize);
          this[_currentAndroidViewSize] = targetSize;
        } while (!dart.equals(this.size, targetSize));
        this[_state] = platform_view._PlatformViewState.ready;
        this.markNeedsPaint();
      }).bind(this));
    }
    paint(context, offset) {
      if (this[_viewController].textureId == null) return;
      if (dart.notNull(this.size.width) < dart.notNull(this[_currentAndroidViewSize].width) || dart.notNull(this.size.height) < dart.notNull(this[_currentAndroidViewSize].height)) {
        context.pushClipRect(true, offset, offset['&'](this.size), dart.bind(this, _paintTexture));
        return;
      }
      this[_paintTexture](context, offset);
    }
    [_paintTexture](context, offset) {
      context.addLayer(new layer$.TextureLayer.new({rect: offset['&'](this[_currentAndroidViewSize]), textureId: this[_viewController].textureId, freeze: dart.equals(this[_state], platform_view._PlatformViewState.resizing)}));
    }
    describeSemanticsConfiguration(config) {
      super.describeSemanticsConfiguration(config);
      config.isSemanticBoundary = true;
      if (dart.test(this[_viewController].isCreated)) {
        config.platformViewId = this[_viewController].id;
      }
    }
  };
  (platform_view.RenderAndroidView.new = function(opts) {
    let viewController = opts && 'viewController' in opts ? opts.viewController : null;
    let hitTestBehavior = opts && 'hitTestBehavior' in opts ? opts.hitTestBehavior : null;
    let gestureRecognizers = opts && 'gestureRecognizers' in opts ? opts.gestureRecognizers : null;
    this[_state] = platform_view._PlatformViewState.uninitialized;
    this[_motionEventsDispatcher] = null;
    this[_currentAndroidViewSize] = null;
    if (!(viewController != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/platform_view.dart", 86, 15, "viewController != null");
    if (!(hitTestBehavior != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/platform_view.dart", 87, 15, "hitTestBehavior != null");
    if (!(gestureRecognizers != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/platform_view.dart", 88, 15, "gestureRecognizers != null");
    this[_viewController] = viewController;
    platform_view.RenderAndroidView.__proto__.new.call(this);
    this[_motionEventsDispatcher] = new platform_view._MotionEventsDispatcher.new(dart.bind(this, 'globalToLocal'), viewController);
    this.updateGestureRecognizers(gestureRecognizers);
    this[_viewController].addOnPlatformViewCreatedListener(dart.bind(this, _onPlatformViewCreated));
    this.hitTestBehavior = hitTestBehavior;
  }).prototype = platform_view.RenderAndroidView.prototype;
  dart.addTypeTests(platform_view.RenderAndroidView);
  dart.setMethodSignature(platform_view.RenderAndroidView, () => ({
    __proto__: dart.getMethods(platform_view.RenderAndroidView.__proto__),
    [_onPlatformViewCreated]: dart.fnType(dart.void, [core.int]),
    updateGestureRecognizers: dart.fnType(dart.void, [core.Set$(basic_types.Factory$(recognizer.OneSequenceGestureRecognizer))]),
    [_sizePlatformView]: dart.fnType(async.Future$(dart.void), []),
    [_paintTexture]: dart.fnType(dart.void, [object$.PaintingContext, ui.Offset])
  }));
  dart.setGetterSignature(platform_view.RenderAndroidView, () => ({
    __proto__: dart.getGetters(platform_view.RenderAndroidView.__proto__),
    viewcontroller: platform_views.AndroidViewController
  }));
  dart.setSetterSignature(platform_view.RenderAndroidView, () => ({
    __proto__: dart.getSetters(platform_view.RenderAndroidView.__proto__),
    viewController: platform_views.AndroidViewController
  }));
  dart.setLibraryUri(platform_view.RenderAndroidView, "package:flutter/src/rendering/platform_view.dart");
  dart.setFieldSignature(platform_view.RenderAndroidView, () => ({
    __proto__: dart.getFields(platform_view.RenderAndroidView.__proto__),
    [_state]: dart.fieldType(platform_view._PlatformViewState),
    [_viewController]: dart.fieldType(platform_views.AndroidViewController),
    [_motionEventsDispatcher]: dart.fieldType(platform_view._MotionEventsDispatcher),
    [_currentAndroidViewSize]: dart.fieldType(ui.Size)
  }));
  const _lastPointerDownEvent = dart.privateName(platform_view, "_lastPointerDownEvent");
  const _handleGlobalPointerEvent = dart.privateName(platform_view, "_handleGlobalPointerEvent");
  const hitTestBehavior$ = dart.privateName(platform_view, "RenderUiKitView.hitTestBehavior");
  platform_view.RenderUiKitView = class RenderUiKitView extends box.RenderBox {
    get hitTestBehavior() {
      return this[hitTestBehavior$];
    }
    set hitTestBehavior(value) {
      this[hitTestBehavior$] = value;
    }
    get viewController() {
      return this[_viewController];
    }
    set viewController(viewController) {
      if (!(viewController != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/platform_view.dart", 275, 12, "viewController != null");
      let needsSemanticsUpdate = this[_viewController].id != viewController.id;
      this[_viewController] = viewController;
      this.markNeedsPaint();
      if (needsSemanticsUpdate) {
        this.markNeedsSemanticsUpdate();
      }
    }
    updateGestureRecognizers(gestureRecognizers) {
      let t15, t15$;
      if (!(gestureRecognizers != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/platform_view.dart", 291, 12, "gestureRecognizers != null");
      if (!(platform_view._factoriesTypeSet(recognizer.OneSequenceGestureRecognizer, gestureRecognizers)[$length] == gestureRecognizers[$length])) dart.assertFailed("There were multiple gesture recognizer factories for the same type, there must only be a single " + "gesture recognizer factory for each gesture recognizer type.", "org-dartlang-app:///packages/flutter/src/rendering/platform_view.dart", 293, 5, "_factoriesTypeSet(gestureRecognizers).length == gestureRecognizers.length");
      if (dart.test(platform_view._factoryTypesSetEquals(recognizer.OneSequenceGestureRecognizer, gestureRecognizers, (t15 = this[_gestureRecognizer], t15 == null ? null : t15.gestureRecognizerFactories)))) {
        return;
      }
      t15$ = this[_gestureRecognizer];
      t15$ == null ? null : t15$.dispose();
      this[_gestureRecognizer] = new platform_view._UiKitViewGestureRecognizer.new(this.viewController, gestureRecognizers);
    }
    get sizedByParent() {
      return true;
    }
    get alwaysNeedsCompositing() {
      return true;
    }
    get isRepaintBoundary() {
      return true;
    }
    performResize() {
      this.size = this.constraints.biggest;
    }
    paint(context, offset) {
      context.addLayer(new layer$.PlatformViewLayer.new({rect: offset['&'](this.size), viewId: this[_viewController].id}));
    }
    hitTest(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      if (dart.equals(this.hitTestBehavior, platform_view.PlatformViewHitTestBehavior.transparent) || !dart.test(this.size.contains(position))) return false;
      result.add(new box.BoxHitTestEntry.new(this, position));
      return dart.equals(this.hitTestBehavior, platform_view.PlatformViewHitTestBehavior.opaque);
    }
    hitTestSelf(position) {
      return !dart.equals(this.hitTestBehavior, platform_view.PlatformViewHitTestBehavior.transparent);
    }
    handleEvent(event, entry) {
      let t15;
      hit_test.HitTestEntry._check(entry);
      if (!events.PointerDownEvent.is(event)) {
        return;
      }
      this[_gestureRecognizer].addPointer(events.PointerDownEvent.as(event));
      this[_lastPointerDownEvent] = (t15 = event.original, t15 == null ? event : t15);
    }
    [_handleGlobalPointerEvent](event) {
      let t15;
      if (!events.PointerDownEvent.is(event)) {
        return;
      }
      if (!dart.test(ui.Offset.zero['&'](this.size).contains(this.globalToLocal(event.position)))) {
        return;
      }
      if (!dart.equals((t15 = event.original, t15 == null ? event : t15), this[_lastPointerDownEvent])) {
        this[_viewController].rejectGesture();
      }
      this[_lastPointerDownEvent] = null;
    }
    describeSemanticsConfiguration(config) {
      super.describeSemanticsConfiguration(config);
      config.isSemanticBoundary = true;
      config.platformViewId = this[_viewController].id;
    }
    attach(owner) {
      object$.PipelineOwner._check(owner);
      super.attach(owner);
      binding$1.GestureBinding.instance.pointerRouter.addGlobalRoute(dart.bind(this, _handleGlobalPointerEvent));
    }
    detach() {
      binding$1.GestureBinding.instance.pointerRouter.removeGlobalRoute(dart.bind(this, _handleGlobalPointerEvent));
      this[_gestureRecognizer].reset();
      super.detach();
    }
  };
  (platform_view.RenderUiKitView.new = function(opts) {
    let viewController = opts && 'viewController' in opts ? opts.viewController : null;
    let hitTestBehavior = opts && 'hitTestBehavior' in opts ? opts.hitTestBehavior : null;
    let gestureRecognizers = opts && 'gestureRecognizers' in opts ? opts.gestureRecognizers : null;
    this[_gestureRecognizer] = null;
    this[_lastPointerDownEvent] = null;
    this[hitTestBehavior$] = hitTestBehavior;
    if (!(viewController != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/platform_view.dart", 260, 15, "viewController != null");
    if (!(hitTestBehavior != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/platform_view.dart", 261, 15, "hitTestBehavior != null");
    if (!(gestureRecognizers != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/platform_view.dart", 262, 15, "gestureRecognizers != null");
    this[_viewController] = viewController;
    platform_view.RenderUiKitView.__proto__.new.call(this);
    this.updateGestureRecognizers(gestureRecognizers);
  }).prototype = platform_view.RenderUiKitView.prototype;
  dart.addTypeTests(platform_view.RenderUiKitView);
  dart.setMethodSignature(platform_view.RenderUiKitView, () => ({
    __proto__: dart.getMethods(platform_view.RenderUiKitView.__proto__),
    updateGestureRecognizers: dart.fnType(dart.void, [core.Set$(basic_types.Factory$(recognizer.OneSequenceGestureRecognizer))]),
    [_handleGlobalPointerEvent]: dart.fnType(dart.void, [events.PointerEvent])
  }));
  dart.setGetterSignature(platform_view.RenderUiKitView, () => ({
    __proto__: dart.getGetters(platform_view.RenderUiKitView.__proto__),
    viewController: platform_views.UiKitViewController
  }));
  dart.setSetterSignature(platform_view.RenderUiKitView, () => ({
    __proto__: dart.getSetters(platform_view.RenderUiKitView.__proto__),
    viewController: platform_views.UiKitViewController
  }));
  dart.setLibraryUri(platform_view.RenderUiKitView, "package:flutter/src/rendering/platform_view.dart");
  dart.setFieldSignature(platform_view.RenderUiKitView, () => ({
    __proto__: dart.getFields(platform_view.RenderUiKitView.__proto__),
    [_viewController]: dart.fieldType(platform_views.UiKitViewController),
    hitTestBehavior: dart.fieldType(platform_view.PlatformViewHitTestBehavior),
    [_gestureRecognizer]: dart.fieldType(platform_view._UiKitViewGestureRecognizer),
    [_lastPointerDownEvent]: dart.fieldType(events.PointerEvent)
  }));
  const _gestureRecognizers = dart.privateName(platform_view, "_gestureRecognizers");
  platform_view._UiKitViewGestureRecognizer = class _UiKitViewGestureRecognizer extends recognizer.OneSequenceGestureRecognizer {
    addAllowedPointer(event) {
      this.startTrackingPointer(event.pointer, event.transform);
      for (let recognizer of this[_gestureRecognizers]) {
        recognizer.addPointer(event);
      }
    }
    get debugDescription() {
      return "UIKit view";
    }
    didStopTrackingLastPointer(pointer) {
    }
    handleEvent(event) {
      this.stopTrackingIfPointerNoLongerDown(event);
    }
    acceptGesture(pointer) {
      this.controller.acceptGesture();
    }
    rejectGesture(pointer) {
      this.controller.rejectGesture();
    }
    reset() {
      this.resolve(arena.GestureDisposition.rejected);
    }
  };
  (platform_view._UiKitViewGestureRecognizer.new = function(controller, gestureRecognizerFactories, opts) {
    let kind = opts && 'kind' in opts ? opts.kind : null;
    this[_gestureRecognizers] = null;
    this.controller = controller;
    this.gestureRecognizerFactories = gestureRecognizerFactories;
    platform_view._UiKitViewGestureRecognizer.__proto__.new.call(this, {kind: kind});
    this.team = new team.GestureArenaTeam.new();
    this.team.captain = this;
    this[_gestureRecognizers] = this.gestureRecognizerFactories[$map](recognizer.OneSequenceGestureRecognizer, dart.fn(recognizerFactory => {
      let t15;
      t15 = recognizerFactory._constructor();
      t15.team = this.team;
      return t15;
    }, FactoryOfOneSequenceGestureRecognizerToOneSequenceGestureRecognizer()))[$toSet]();
  }).prototype = platform_view._UiKitViewGestureRecognizer.prototype;
  dart.addTypeTests(platform_view._UiKitViewGestureRecognizer);
  dart.setMethodSignature(platform_view._UiKitViewGestureRecognizer, () => ({
    __proto__: dart.getMethods(platform_view._UiKitViewGestureRecognizer.__proto__),
    didStopTrackingLastPointer: dart.fnType(dart.void, [core.int]),
    handleEvent: dart.fnType(dart.void, [events.PointerEvent]),
    reset: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(platform_view._UiKitViewGestureRecognizer, () => ({
    __proto__: dart.getGetters(platform_view._UiKitViewGestureRecognizer.__proto__),
    debugDescription: core.String
  }));
  dart.setLibraryUri(platform_view._UiKitViewGestureRecognizer, "package:flutter/src/rendering/platform_view.dart");
  dart.setFieldSignature(platform_view._UiKitViewGestureRecognizer, () => ({
    __proto__: dart.getFields(platform_view._UiKitViewGestureRecognizer.__proto__),
    gestureRecognizerFactories: dart.finalFieldType(core.Set$(basic_types.Factory$(recognizer.OneSequenceGestureRecognizer))),
    [_gestureRecognizers]: dart.fieldType(core.Set$(recognizer.OneSequenceGestureRecognizer)),
    controller: dart.finalFieldType(platform_views.UiKitViewController)
  }));
  const _cacheEvent = dart.privateName(platform_view, "_cacheEvent");
  const _flushPointerCache = dart.privateName(platform_view, "_flushPointerCache");
  platform_view._PlatformViewGestureRecognizer = class _PlatformViewGestureRecognizer extends recognizer.OneSequenceGestureRecognizer {
    addAllowedPointer(event) {
      this.startTrackingPointer(event.pointer, event.transform);
      for (let recognizer of this[_gestureRecognizers]) {
        recognizer.addPointer(event);
      }
    }
    get debugDescription() {
      return "Platform view";
    }
    didStopTrackingLastPointer(pointer) {
    }
    handleEvent(event) {
      if (!dart.test(this.forwardedPointers.contains(event.pointer))) {
        this[_cacheEvent](event);
      } else {
        this[_handlePointerEvent](event);
      }
      this.stopTrackingIfPointerNoLongerDown(event);
    }
    acceptGesture(pointer) {
      this[_flushPointerCache](pointer);
      this.forwardedPointers.add(pointer);
    }
    rejectGesture(pointer) {
      this.stopTrackingPointer(pointer);
      this.cachedEvents[$remove](pointer);
    }
    [_cacheEvent](event) {
      if (!dart.test(this.cachedEvents[$containsKey](event.pointer))) {
        this.cachedEvents[$_set](event.pointer, JSArrayOfPointerEvent().of([]));
      }
      this.cachedEvents[$_get](event.pointer)[$add](event);
    }
    [_flushPointerCache](pointer) {
      let t15;
      t15 = this.cachedEvents[$remove](pointer);
      t15 == null ? null : t15[$forEach](this[_handlePointerEvent]);
    }
    stopTrackingPointer(pointer) {
      super.stopTrackingPointer(pointer);
      this.forwardedPointers.remove(pointer);
    }
    reset() {
      this.forwardedPointers[$forEach](dart.bind(this, 'stopTrackingPointer', super.stopTrackingPointer));
      this.forwardedPointers.clear();
      this.cachedEvents[$keys][$forEach](dart.bind(this, 'stopTrackingPointer', super.stopTrackingPointer));
      this.cachedEvents[$clear]();
      this.resolve(arena.GestureDisposition.rejected);
    }
  };
  (platform_view._PlatformViewGestureRecognizer.new = function(handlePointerEvent, gestureRecognizerFactories, opts) {
    let kind = opts && 'kind' in opts ? opts.kind : null;
    this[_handlePointerEvent] = null;
    this.cachedEvents = new (IdentityMapOfint$ListOfPointerEvent()).new();
    this.forwardedPointers = LinkedHashSetOfint().new();
    this[_gestureRecognizers] = null;
    this.gestureRecognizerFactories = gestureRecognizerFactories;
    platform_view._PlatformViewGestureRecognizer.__proto__.new.call(this, {kind: kind});
    this.team = new team.GestureArenaTeam.new();
    this.team.captain = this;
    this[_gestureRecognizers] = this.gestureRecognizerFactories[$map](recognizer.OneSequenceGestureRecognizer, dart.fn(recognizerFactory => {
      let t15;
      t15 = recognizerFactory._constructor();
      t15.team = this.team;
      return t15;
    }, FactoryOfOneSequenceGestureRecognizerToOneSequenceGestureRecognizer()))[$toSet]();
    this[_handlePointerEvent] = handlePointerEvent;
  }).prototype = platform_view._PlatformViewGestureRecognizer.prototype;
  dart.addTypeTests(platform_view._PlatformViewGestureRecognizer);
  dart.setMethodSignature(platform_view._PlatformViewGestureRecognizer, () => ({
    __proto__: dart.getMethods(platform_view._PlatformViewGestureRecognizer.__proto__),
    didStopTrackingLastPointer: dart.fnType(dart.void, [core.int]),
    handleEvent: dart.fnType(dart.void, [events.PointerEvent]),
    [_cacheEvent]: dart.fnType(dart.void, [events.PointerEvent]),
    [_flushPointerCache]: dart.fnType(dart.void, [core.int]),
    reset: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(platform_view._PlatformViewGestureRecognizer, () => ({
    __proto__: dart.getGetters(platform_view._PlatformViewGestureRecognizer.__proto__),
    debugDescription: core.String
  }));
  dart.setLibraryUri(platform_view._PlatformViewGestureRecognizer, "package:flutter/src/rendering/platform_view.dart");
  dart.setFieldSignature(platform_view._PlatformViewGestureRecognizer, () => ({
    __proto__: dart.getFields(platform_view._PlatformViewGestureRecognizer.__proto__),
    [_handlePointerEvent]: dart.fieldType(dart.fnType(dart.void, [events.PointerEvent])),
    cachedEvents: dart.finalFieldType(core.Map$(core.int, core.List$(events.PointerEvent))),
    forwardedPointers: dart.finalFieldType(core.Set$(core.int)),
    gestureRecognizerFactories: dart.finalFieldType(core.Set$(basic_types.Factory$(recognizer.OneSequenceGestureRecognizer))),
    [_gestureRecognizers]: dart.fieldType(core.Set$(recognizer.OneSequenceGestureRecognizer))
  }));
  let C105;
  let C106;
  let C107;
  let C108;
  let C109;
  let C110;
  let C111;
  let C112;
  let C113;
  platform_view._MotionEventsDispatcher = class _MotionEventsDispatcher extends core.Object {
    handlePointerEvent(event) {
      let t15;
      if (events.PointerDownEvent.is(event)) {
        if (this.nextPointerId === 0) this.downTimeMillis = event.timeStamp.inMilliseconds;
        this.pointerProperties[$_set](event.pointer, this.propertiesFor(event, (t15 = this.nextPointerId, this.nextPointerId = dart.notNull(t15) + 1, t15)));
      }
      this.pointerPositions[$_set](event.pointer, this.coordsFor(event));
      this.dispatchPointerEvent(event);
      if (events.PointerUpEvent.is(event)) {
        this.pointerPositions[$remove](event.pointer);
        this.pointerProperties[$remove](event.pointer);
        if (dart.test(this.pointerProperties[$isEmpty])) {
          this.nextPointerId = 0;
          this.downTimeMillis = null;
        }
      }
      if (events.PointerCancelEvent.is(event)) {
        this.pointerPositions[$clear]();
        this.pointerProperties[$clear]();
        this.nextPointerId = 0;
        this.downTimeMillis = null;
      }
    }
    dispatchPointerEvent(event) {
      let pointers = this.pointerPositions[$keys][$toList]();
      let pointerIdx = pointers[$indexOf](event.pointer);
      let numPointers = pointers[$length];
      if (event.platformData === 1 || dart.test(this.isSinglePointerAction(event)) && dart.notNull(pointerIdx) < dart.notNull(numPointers) - 1) return;
      let action = null;
      switch (dart.runtimeType(event)) {
        case C105 || CT.C105:
        {
          action = numPointers === 1 ? 0 : platform_views.AndroidViewController.pointerAction(pointerIdx, 5);
          break;
        }
        case C106 || CT.C106:
        {
          action = numPointers === 1 ? 1 : platform_views.AndroidViewController.pointerAction(pointerIdx, 6);
          break;
        }
        case C107 || CT.C107:
        {
          action = 2;
          break;
        }
        case C108 || CT.C108:
        {
          action = 3;
          break;
        }
        default:
        {
          return;
        }
      }
      let androidMotionEvent = new platform_views.AndroidMotionEvent.new({downTime: this.downTimeMillis, eventTime: event.timeStamp.inMilliseconds, action: action, pointerCount: this.pointerPositions[$length], pointerProperties: pointers[$map](platform_views.AndroidPointerProperties, dart.fn(i => this.pointerProperties[$_get](i), intToAndroidPointerProperties()))[$toList](), pointerCoords: pointers[$map](platform_views.AndroidPointerCoords, dart.fn(i => this.pointerPositions[$_get](i), intToAndroidPointerCoords()))[$toList](), metaState: 0, buttonState: 0, xPrecision: 1.0, yPrecision: 1.0, deviceId: 0, edgeFlags: 0, source: 0, flags: 0});
      this.viewController.sendMotionEvent(androidMotionEvent);
    }
    coordsFor(event) {
      let position = this.globalToLocal(event.position);
      return new platform_views.AndroidPointerCoords.new({orientation: event.orientation, pressure: event.pressure, size: event.size, toolMajor: event.radiusMajor, toolMinor: event.radiusMinor, touchMajor: event.radiusMajor, touchMinor: event.radiusMinor, x: position.dx, y: position.dy});
    }
    propertiesFor(event, pointerId) {
      let toolType = 0;
      switch (event.kind) {
        case C109 || CT.C109:
        {
          toolType = 1;
          break;
        }
        case C110 || CT.C110:
        {
          toolType = 3;
          break;
        }
        case C111 || CT.C111:
        {
          toolType = 2;
          break;
        }
        case C112 || CT.C112:
        {
          toolType = 4;
          break;
        }
        case C113 || CT.C113:
        {
          toolType = 0;
          break;
        }
      }
      return new platform_views.AndroidPointerProperties.new({id: pointerId, toolType: toolType});
    }
    isSinglePointerAction(event) {
      return !events.PointerDownEvent.is(event) && !events.PointerUpEvent.is(event);
    }
  };
  (platform_view._MotionEventsDispatcher.new = function(globalToLocal, viewController) {
    this.pointerPositions = new (IdentityMapOfint$AndroidPointerCoords()).new();
    this.pointerProperties = new (IdentityMapOfint$AndroidPointerProperties()).new();
    this.nextPointerId = 0;
    this.downTimeMillis = null;
    this.globalToLocal = globalToLocal;
    this.viewController = viewController;
    ;
  }).prototype = platform_view._MotionEventsDispatcher.prototype;
  dart.addTypeTests(platform_view._MotionEventsDispatcher);
  dart.setMethodSignature(platform_view._MotionEventsDispatcher, () => ({
    __proto__: dart.getMethods(platform_view._MotionEventsDispatcher.__proto__),
    handlePointerEvent: dart.fnType(dart.void, [events.PointerEvent]),
    dispatchPointerEvent: dart.fnType(dart.void, [events.PointerEvent]),
    coordsFor: dart.fnType(platform_views.AndroidPointerCoords, [events.PointerEvent]),
    propertiesFor: dart.fnType(platform_views.AndroidPointerProperties, [events.PointerEvent, core.int]),
    isSinglePointerAction: dart.fnType(core.bool, [events.PointerEvent])
  }));
  dart.setLibraryUri(platform_view._MotionEventsDispatcher, "package:flutter/src/rendering/platform_view.dart");
  dart.setFieldSignature(platform_view._MotionEventsDispatcher, () => ({
    __proto__: dart.getFields(platform_view._MotionEventsDispatcher.__proto__),
    pointerPositions: dart.finalFieldType(core.Map$(core.int, platform_views.AndroidPointerCoords)),
    pointerProperties: dart.finalFieldType(core.Map$(core.int, platform_views.AndroidPointerProperties)),
    globalToLocal: dart.finalFieldType(dart.fnType(ui.Offset, [ui.Offset])),
    viewController: dart.finalFieldType(platform_views.AndroidViewController),
    nextPointerId: dart.fieldType(core.int),
    downTimeMillis: dart.fieldType(core.int)
  }));
  const _controller = dart.privateName(platform_view, "_controller");
  const RenderBox__PlatformViewGestureMixin$36$ = class RenderBox__PlatformViewGestureMixin extends box.RenderBox {};
  (RenderBox__PlatformViewGestureMixin$36$.new = function() {
    platform_view._PlatformViewGestureMixin[dart.mixinNew].call(this);
    RenderBox__PlatformViewGestureMixin$36$.__proto__.new.call(this);
  }).prototype = RenderBox__PlatformViewGestureMixin$36$.prototype;
  dart.applyMixin(RenderBox__PlatformViewGestureMixin$36$, platform_view._PlatformViewGestureMixin);
  platform_view.PlatformViewRenderBox = class PlatformViewRenderBox extends RenderBox__PlatformViewGestureMixin$36$ {
    set controller(controller) {
      if (!(controller != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/platform_view.dart", 718, 12, "controller != null");
      if (!(controller.viewId != null && dart.notNull(controller.viewId) > -1)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/platform_view.dart", 719, 12, "controller.viewId != null && controller.viewId > -1");
      if (dart.equals(this[_controller], controller)) {
        return;
      }
      let needsSemanticsUpdate = this[_controller].viewId != controller.viewId;
      this[_controller] = controller;
      this.markNeedsPaint();
      if (needsSemanticsUpdate) {
        this.markNeedsSemanticsUpdate();
      }
    }
    updateGestureRecognizers(gestureRecognizers) {
      this[_updateGestureRecognizersWithCallBack](gestureRecognizers, dart.bind(this[_controller], 'dispatchPointerEvent'));
    }
    get sizedByParent() {
      return true;
    }
    get alwaysNeedsCompositing() {
      return true;
    }
    get isRepaintBoundary() {
      return true;
    }
    performResize() {
      this.size = this.constraints.biggest;
    }
    paint(context, offset) {
      if (!(this[_controller].viewId != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/platform_view.dart", 758, 12, "_controller.viewId != null");
      context.addLayer(new layer$.PlatformViewLayer.new({rect: offset['&'](this.size), viewId: this[_controller].viewId, hoverAnnotation: this[_hoverAnnotation$]}));
    }
    describeSemanticsConfiguration(config) {
      super.describeSemanticsConfiguration(config);
      if (!(this[_controller].viewId != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/platform_view.dart", 768, 12, "_controller.viewId != null");
      config.isSemanticBoundary = true;
      config.platformViewId = this[_controller].viewId;
    }
  };
  (platform_view.PlatformViewRenderBox.new = function(opts) {
    let controller = opts && 'controller' in opts ? opts.controller : null;
    let hitTestBehavior = opts && 'hitTestBehavior' in opts ? opts.hitTestBehavior : null;
    let gestureRecognizers = opts && 'gestureRecognizers' in opts ? opts.gestureRecognizers : null;
    if (!(controller != null && controller.viewId != null && dart.notNull(controller.viewId) > -1)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/platform_view.dart", 706, 16, "controller != null && controller.viewId != null && controller.viewId > -1");
    if (!(hitTestBehavior != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/platform_view.dart", 707, 16, "hitTestBehavior != null");
    if (!(gestureRecognizers != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/platform_view.dart", 708, 16, "gestureRecognizers != null");
    this[_controller] = controller;
    platform_view.PlatformViewRenderBox.__proto__.new.call(this);
    this.hitTestBehavior = hitTestBehavior;
    this.updateGestureRecognizers(gestureRecognizers);
  }).prototype = platform_view.PlatformViewRenderBox.prototype;
  dart.addTypeTests(platform_view.PlatformViewRenderBox);
  dart.setMethodSignature(platform_view.PlatformViewRenderBox, () => ({
    __proto__: dart.getMethods(platform_view.PlatformViewRenderBox.__proto__),
    updateGestureRecognizers: dart.fnType(dart.void, [core.Set$(basic_types.Factory$(recognizer.OneSequenceGestureRecognizer))])
  }));
  dart.setSetterSignature(platform_view.PlatformViewRenderBox, () => ({
    __proto__: dart.getSetters(platform_view.PlatformViewRenderBox.__proto__),
    controller: platform_views.PlatformViewController
  }));
  dart.setLibraryUri(platform_view.PlatformViewRenderBox, "package:flutter/src/rendering/platform_view.dart");
  dart.setFieldSignature(platform_view.PlatformViewRenderBox, () => ({
    __proto__: dart.getFields(platform_view.PlatformViewRenderBox.__proto__),
    [_controller]: dart.fieldType(platform_views.PlatformViewController)
  }));
  platform_view._factoryTypesSetEquals = function _factoryTypesSetEquals(T, a, b) {
    if (dart.equals(a, b)) {
      return true;
    }
    if (a == null || b == null) {
      return false;
    }
    return collections.setEquals(core.Type, platform_view._factoriesTypeSet(T, a), platform_view._factoriesTypeSet(T, b));
  };
  platform_view._factoriesTypeSet = function _factoriesTypeSet(T, factories) {
    return factories[$map](core.Type, dart.fn(factory => factory.type, dart.fnType(core.Type, [basic_types.Factory$(T)])))[$toSet]();
  };
  flow.FlowPaintingContext = class FlowPaintingContext extends core.Object {};
  (flow.FlowPaintingContext.new = function() {
    ;
  }).prototype = flow.FlowPaintingContext.prototype;
  dart.addTypeTests(flow.FlowPaintingContext);
  dart.setLibraryUri(flow.FlowPaintingContext, "package:flutter/src/rendering/flow.dart");
  const _repaint = dart.privateName(flow, "_repaint");
  const _repaint$ = dart.privateName(flow, "FlowDelegate._repaint");
  flow.FlowDelegate = class FlowDelegate extends core.Object {
    get [_repaint]() {
      return this[_repaint$];
    }
    set [_repaint](value) {
      super[_repaint] = value;
    }
    getSize(constraints) {
      return constraints.biggest;
    }
    getConstraintsForChild(i, constraints) {
      return constraints;
    }
    shouldRelayout(oldDelegate) {
      flow.FlowDelegate._check(oldDelegate);
      return false;
    }
    toString() {
      return dart.str(object.objectRuntimeType(this, "FlowDelegate"));
    }
  };
  (flow.FlowDelegate.new = function(opts) {
    let repaint = opts && 'repaint' in opts ? opts.repaint : null;
    this[_repaint$] = repaint;
    ;
  }).prototype = flow.FlowDelegate.prototype;
  dart.addTypeTests(flow.FlowDelegate);
  dart.setMethodSignature(flow.FlowDelegate, () => ({
    __proto__: dart.getMethods(flow.FlowDelegate.__proto__),
    getSize: dart.fnType(ui.Size, [box.BoxConstraints]),
    getConstraintsForChild: dart.fnType(box.BoxConstraints, [core.int, box.BoxConstraints]),
    shouldRelayout: dart.fnType(core.bool, [core.Object])
  }));
  dart.setLibraryUri(flow.FlowDelegate, "package:flutter/src/rendering/flow.dart");
  dart.setFieldSignature(flow.FlowDelegate, () => ({
    __proto__: dart.getFields(flow.FlowDelegate.__proto__),
    [_repaint]: dart.finalFieldType(change_notifier.Listenable)
  }));
  dart.defineExtensionMethods(flow.FlowDelegate, ['toString']);
  const _transform$1 = dart.privateName(flow, "_transform");
  flow.FlowParentData = class FlowParentData extends box.ContainerBoxParentData$(box.RenderBox) {};
  (flow.FlowParentData.new = function() {
    this[_transform$1] = null;
    flow.FlowParentData.__proto__.new.call(this);
    ;
  }).prototype = flow.FlowParentData.prototype;
  dart.addTypeTests(flow.FlowParentData);
  dart.setLibraryUri(flow.FlowParentData, "package:flutter/src/rendering/flow.dart");
  dart.setFieldSignature(flow.FlowParentData, () => ({
    __proto__: dart.getFields(flow.FlowParentData.__proto__),
    [_transform$1]: dart.fieldType(vector_math_64.Matrix4)
  }));
  const _randomAccessChildren = dart.privateName(flow, "_randomAccessChildren");
  const _lastPaintOrder = dart.privateName(flow, "_lastPaintOrder");
  const _paintingContext = dart.privateName(flow, "_paintingContext");
  const _paintingOffset = dart.privateName(flow, "_paintingOffset");
  const _delegate$ = dart.privateName(flow, "_delegate");
  const _getSize$ = dart.privateName(flow, "_getSize");
  const _paintWithDelegate = dart.privateName(flow, "_paintWithDelegate");
  const RenderBox_ContainerRenderObjectMixin$36$0 = class RenderBox_ContainerRenderObjectMixin extends box.RenderBox {};
  (RenderBox_ContainerRenderObjectMixin$36$0.new = function() {
    object$.ContainerRenderObjectMixin$(box.RenderBox, flow.FlowParentData)[dart.mixinNew].call(this);
    RenderBox_ContainerRenderObjectMixin$36$0.__proto__.new.call(this);
  }).prototype = RenderBox_ContainerRenderObjectMixin$36$0.prototype;
  dart.applyMixin(RenderBox_ContainerRenderObjectMixin$36$0, object$.ContainerRenderObjectMixin$(box.RenderBox, flow.FlowParentData));
  const RenderBox_RenderBoxContainerDefaultsMixin$36$0 = class RenderBox_RenderBoxContainerDefaultsMixin extends RenderBox_ContainerRenderObjectMixin$36$0 {};
  (RenderBox_RenderBoxContainerDefaultsMixin$36$0.new = function() {
    RenderBox_RenderBoxContainerDefaultsMixin$36$0.__proto__.new.call(this);
  }).prototype = RenderBox_RenderBoxContainerDefaultsMixin$36$0.prototype;
  dart.applyMixin(RenderBox_RenderBoxContainerDefaultsMixin$36$0, box.RenderBoxContainerDefaultsMixin$(box.RenderBox, flow.FlowParentData));
  flow.RenderFlow = class RenderFlow extends RenderBox_RenderBoxContainerDefaultsMixin$36$0 {
    setupParentData(child) {
      box.RenderBox._check(child);
      let childParentData = child.parentData;
      if (flow.FlowParentData.is(childParentData))
        childParentData[_transform$1] = null;
      else
        child.parentData = new flow.FlowParentData.new();
    }
    get delegate() {
      return this[_delegate$];
    }
    set delegate(newDelegate) {
      let t15, t15$;
      if (!(newDelegate != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/flow.dart", 207, 12, "newDelegate != null");
      if (dart.equals(this[_delegate$], newDelegate)) return;
      let oldDelegate = this[_delegate$];
      this[_delegate$] = newDelegate;
      if (!dart.equals(dart.runtimeType(newDelegate), dart.runtimeType(oldDelegate)) || dart.test(newDelegate.shouldRelayout(oldDelegate)))
        this.markNeedsLayout();
      else if (dart.test(newDelegate.shouldRepaint(oldDelegate))) this.markNeedsPaint();
      if (dart.test(this.attached)) {
        t15 = oldDelegate[_repaint];
        t15 == null ? null : t15.removeListener(dart.bind(this, 'markNeedsPaint'));
        t15$ = newDelegate[_repaint];
        t15$ == null ? null : t15$.addListener(dart.bind(this, 'markNeedsPaint'));
      }
    }
    attach(owner) {
      let t15;
      object$.PipelineOwner._check(owner);
      super.attach(owner);
      t15 = this[_delegate$][_repaint];
      t15 == null ? null : t15.addListener(dart.bind(this, 'markNeedsPaint'));
    }
    detach() {
      let t15;
      t15 = this[_delegate$][_repaint];
      t15 == null ? null : t15.removeListener(dart.bind(this, 'markNeedsPaint'));
      super.detach();
    }
    [_getSize$](constraints) {
      if (!dart.test(constraints.debugAssertIsValid())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/flow.dart", 237, 12, "constraints.debugAssertIsValid()");
      return constraints.constrain(this[_delegate$].getSize(constraints));
    }
    get isRepaintBoundary() {
      return true;
    }
    computeMinIntrinsicWidth(height) {
      let width = this[_getSize$](new box.BoxConstraints.tightForFinite({height: height})).width;
      if (width[$isFinite]) return width;
      return 0.0;
    }
    computeMaxIntrinsicWidth(height) {
      let width = this[_getSize$](new box.BoxConstraints.tightForFinite({height: height})).width;
      if (width[$isFinite]) return width;
      return 0.0;
    }
    computeMinIntrinsicHeight(width) {
      let height = this[_getSize$](new box.BoxConstraints.tightForFinite({width: width})).height;
      if (height[$isFinite]) return height;
      return 0.0;
    }
    computeMaxIntrinsicHeight(width) {
      let height = this[_getSize$](new box.BoxConstraints.tightForFinite({width: width})).height;
      if (height[$isFinite]) return height;
      return 0.0;
    }
    performLayout() {
      this.size = this[_getSize$](this.constraints);
      let i = 0;
      this[_randomAccessChildren][$clear]();
      let child = this.firstChild;
      while (child != null) {
        this[_randomAccessChildren][$add](child);
        let innerConstraints = this[_delegate$].getConstraintsForChild(i, this.constraints);
        child.layout(innerConstraints, {parentUsesSize: true});
        let childParentData = flow.FlowParentData.as(child.parentData);
        childParentData.offset = ui.Offset.zero;
        child = childParentData.nextSibling;
        i = i + 1;
      }
    }
    getChildSize(i) {
      if (dart.notNull(i) < 0 || dart.notNull(i) >= dart.notNull(this[_randomAccessChildren][$length])) return null;
      return this[_randomAccessChildren][$_get](i).size;
    }
    paintChild(i, opts) {
      let transform = opts && 'transform' in opts ? opts.transform : null;
      let opacity = opts && 'opacity' in opts ? opts.opacity : 1;
      transform == null ? transform = vector_math_64.Matrix4.identity() : null;
      let child = this[_randomAccessChildren][$_get](i);
      let childParentData = flow.FlowParentData.as(child.parentData);
      if (!dart.test(dart.fn(() => {
        if (childParentData[_transform$1] != null) {
          dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("Cannot call paintChild twice for the same child."), new assertions.ErrorDescription.new("The flow delegate of type " + dart.str(dart.runtimeType(this[_delegate$])) + " attempted to " + "paint child " + dart.str(i) + " multiple times, which is not permitted.")])));
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/flow.dart", 319, 12, "() {\r\n      if (childParentData._transform != null) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('Cannot call paintChild twice for the same child.'),\r\n          ErrorDescription(\r\n            'The flow delegate of type ${_delegate.runtimeType} attempted to '\r\n            'paint child $i multiple times, which is not permitted.'\r\n          )\r\n        ]);\r\n      }\r\n      return true;\r\n    }()");
      this[_lastPaintOrder][$add](i);
      childParentData[_transform$1] = transform;
      if (opacity === 0.0) return;
      function painter(context, offset) {
        context.paintChild(child, offset);
      }
      dart.fn(painter, PaintingContextAndOffsetTovoid());
      if (opacity === 1.0) {
        this[_paintingContext].pushTransform(this.needsCompositing, this[_paintingOffset], transform, painter);
      } else {
        this[_paintingContext].pushOpacity(this[_paintingOffset], ui.Color.getAlphaFromOpacity(opacity), dart.fn((context, offset) => {
          context.pushTransform(this.needsCompositing, offset, transform, painter);
        }, PaintingContextAndOffsetToNull()));
      }
    }
    [_paintWithDelegate](context, offset) {
      this[_lastPaintOrder][$clear]();
      this[_paintingContext] = context;
      this[_paintingOffset] = offset;
      for (let child of this[_randomAccessChildren]) {
        let childParentData = flow.FlowParentData.as(child.parentData);
        childParentData[_transform$1] = null;
      }
      try {
        this[_delegate$].paintChildren(this);
      } finally {
        this[_paintingContext] = null;
        this[_paintingOffset] = null;
      }
    }
    paint(context, offset) {
      context.pushClipRect(this.needsCompositing, offset, ui.Offset.zero['&'](this.size), dart.bind(this, _paintWithDelegate));
    }
    hitTestChildren(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      let children = this.getChildrenAsList();
      for (let i = dart.notNull(this[_lastPaintOrder][$length]) - 1; i >= 0; i = i - 1) {
        let childIndex = this[_lastPaintOrder][$_get](i);
        if (dart.notNull(childIndex) >= dart.notNull(children[$length])) continue;
        let child = children[$_get](childIndex);
        let childParentData = flow.FlowParentData.as(child.parentData);
        let transform = childParentData[_transform$1];
        if (transform == null) continue;
        let absorbed = result.addWithPaintTransform({transform: transform, position: position, hitTest: dart.fn((result, position) => child.hitTest(result, {position: position}), BoxHitTestResultAndOffsetTobool())});
        if (dart.test(absorbed)) return true;
      }
      return false;
    }
    applyPaintTransform(child, transform) {
      box.RenderBox._check(child);
      let childParentData = flow.FlowParentData.as(child.parentData);
      if (childParentData[_transform$1] != null) transform.multiply(childParentData[_transform$1]);
      super.applyPaintTransform(child, transform);
    }
  };
  (flow.RenderFlow.new = function(opts) {
    let children = opts && 'children' in opts ? opts.children : null;
    let delegate = opts && 'delegate' in opts ? opts.delegate : null;
    this[_randomAccessChildren] = JSArrayOfRenderBox().of([]);
    this[_lastPaintOrder] = JSArrayOfint().of([]);
    this[_paintingContext] = null;
    this[_paintingOffset] = null;
    if (!(delegate != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/flow.dart", 184, 15, "delegate != null");
    this[_delegate$] = delegate;
    flow.RenderFlow.__proto__.new.call(this);
    this.addAll(children);
  }).prototype = flow.RenderFlow.prototype;
  dart.addTypeTests(flow.RenderFlow);
  flow.RenderFlow[dart.implements] = () => [flow.FlowPaintingContext];
  dart.setMethodSignature(flow.RenderFlow, () => ({
    __proto__: dart.getMethods(flow.RenderFlow.__proto__),
    [_getSize$]: dart.fnType(ui.Size, [box.BoxConstraints]),
    getChildSize: dart.fnType(ui.Size, [core.int]),
    paintChild: dart.fnType(dart.void, [core.int], {opacity: core.double, transform: vector_math_64.Matrix4}, {}),
    [_paintWithDelegate]: dart.fnType(dart.void, [object$.PaintingContext, ui.Offset])
  }));
  dart.setGetterSignature(flow.RenderFlow, () => ({
    __proto__: dart.getGetters(flow.RenderFlow.__proto__),
    delegate: flow.FlowDelegate
  }));
  dart.setSetterSignature(flow.RenderFlow, () => ({
    __proto__: dart.getSetters(flow.RenderFlow.__proto__),
    delegate: flow.FlowDelegate
  }));
  dart.setLibraryUri(flow.RenderFlow, "package:flutter/src/rendering/flow.dart");
  dart.setFieldSignature(flow.RenderFlow, () => ({
    __proto__: dart.getFields(flow.RenderFlow.__proto__),
    [_delegate$]: dart.fieldType(flow.FlowDelegate),
    [_randomAccessChildren]: dart.finalFieldType(core.List$(box.RenderBox)),
    [_lastPaintOrder]: dart.finalFieldType(core.List$(core.int)),
    [_paintingContext]: dart.fieldType(object$.PaintingContext),
    [_paintingOffset]: dart.fieldType(ui.Offset)
  }));
  tweens.FractionalOffsetTween = class FractionalOffsetTween extends tween.Tween$(fractional_offset.FractionalOffset) {
    lerp(t) {
      return fractional_offset.FractionalOffset.lerp(this.begin, this.end, t);
    }
  };
  (tweens.FractionalOffsetTween.new = function(opts) {
    let begin = opts && 'begin' in opts ? opts.begin : null;
    let end = opts && 'end' in opts ? opts.end : null;
    tweens.FractionalOffsetTween.__proto__.new.call(this, {begin: begin, end: end});
    ;
  }).prototype = tweens.FractionalOffsetTween.prototype;
  dart.addTypeTests(tweens.FractionalOffsetTween);
  dart.setLibraryUri(tweens.FractionalOffsetTween, "package:flutter/src/rendering/tweens.dart");
  tweens.AlignmentTween = class AlignmentTween extends tween.Tween$(alignment.Alignment) {
    lerp(t) {
      return alignment.Alignment.lerp(this.begin, this.end, t);
    }
  };
  (tweens.AlignmentTween.new = function(opts) {
    let begin = opts && 'begin' in opts ? opts.begin : null;
    let end = opts && 'end' in opts ? opts.end : null;
    tweens.AlignmentTween.__proto__.new.call(this, {begin: begin, end: end});
    ;
  }).prototype = tweens.AlignmentTween.prototype;
  dart.addTypeTests(tweens.AlignmentTween);
  dart.setLibraryUri(tweens.AlignmentTween, "package:flutter/src/rendering/tweens.dart");
  tweens.AlignmentGeometryTween = class AlignmentGeometryTween extends tween.Tween$(alignment.AlignmentGeometry) {
    lerp(t) {
      return alignment.AlignmentGeometry.lerp(this.begin, this.end, t);
    }
  };
  (tweens.AlignmentGeometryTween.new = function(opts) {
    let begin = opts && 'begin' in opts ? opts.begin : null;
    let end = opts && 'end' in opts ? opts.end : null;
    tweens.AlignmentGeometryTween.__proto__.new.call(this, {begin: begin, end: end});
    ;
  }).prototype = tweens.AlignmentGeometryTween.prototype;
  dart.addTypeTests(tweens.AlignmentGeometryTween);
  dart.setLibraryUri(tweens.AlignmentGeometryTween, "package:flutter/src/rendering/tweens.dart");
  const scrollOffset$ = dart.privateName(sliver_grid, "SliverGridGeometry.scrollOffset");
  const crossAxisOffset$ = dart.privateName(sliver_grid, "SliverGridGeometry.crossAxisOffset");
  const mainAxisExtent$ = dart.privateName(sliver_grid, "SliverGridGeometry.mainAxisExtent");
  const crossAxisExtent$ = dart.privateName(sliver_grid, "SliverGridGeometry.crossAxisExtent");
  sliver_grid.SliverGridGeometry = class SliverGridGeometry extends core.Object {
    get scrollOffset() {
      return this[scrollOffset$];
    }
    set scrollOffset(value) {
      super.scrollOffset = value;
    }
    get crossAxisOffset() {
      return this[crossAxisOffset$];
    }
    set crossAxisOffset(value) {
      super.crossAxisOffset = value;
    }
    get mainAxisExtent() {
      return this[mainAxisExtent$];
    }
    set mainAxisExtent(value) {
      super.mainAxisExtent = value;
    }
    get crossAxisExtent() {
      return this[crossAxisExtent$];
    }
    set crossAxisExtent(value) {
      super.crossAxisExtent = value;
    }
    get trailingScrollOffset() {
      return dart.notNull(this.scrollOffset) + dart.notNull(this.mainAxisExtent);
    }
    getBoxConstraints(constraints) {
      return constraints.asBoxConstraints({minExtent: this.mainAxisExtent, maxExtent: this.mainAxisExtent, crossAxisExtent: this.crossAxisExtent});
    }
    toString() {
      let properties = JSArrayOfString().of(["scrollOffset: " + dart.str(this.scrollOffset), "crossAxisOffset: " + dart.str(this.crossAxisOffset), "mainAxisExtent: " + dart.str(this.mainAxisExtent), "crossAxisExtent: " + dart.str(this.crossAxisExtent)]);
      return "SliverGridGeometry(" + dart.str(properties[$join](", ")) + ")";
    }
  };
  (sliver_grid.SliverGridGeometry.new = function(opts) {
    let scrollOffset = opts && 'scrollOffset' in opts ? opts.scrollOffset : null;
    let crossAxisOffset = opts && 'crossAxisOffset' in opts ? opts.crossAxisOffset : null;
    let mainAxisExtent = opts && 'mainAxisExtent' in opts ? opts.mainAxisExtent : null;
    let crossAxisExtent = opts && 'crossAxisExtent' in opts ? opts.crossAxisExtent : null;
    this[scrollOffset$] = scrollOffset;
    this[crossAxisOffset$] = crossAxisOffset;
    this[mainAxisExtent$] = mainAxisExtent;
    this[crossAxisExtent$] = crossAxisExtent;
    ;
  }).prototype = sliver_grid.SliverGridGeometry.prototype;
  dart.addTypeTests(sliver_grid.SliverGridGeometry);
  dart.setMethodSignature(sliver_grid.SliverGridGeometry, () => ({
    __proto__: dart.getMethods(sliver_grid.SliverGridGeometry.__proto__),
    getBoxConstraints: dart.fnType(box.BoxConstraints, [sliver$.SliverConstraints])
  }));
  dart.setGetterSignature(sliver_grid.SliverGridGeometry, () => ({
    __proto__: dart.getGetters(sliver_grid.SliverGridGeometry.__proto__),
    trailingScrollOffset: core.double
  }));
  dart.setLibraryUri(sliver_grid.SliverGridGeometry, "package:flutter/src/rendering/sliver_grid.dart");
  dart.setFieldSignature(sliver_grid.SliverGridGeometry, () => ({
    __proto__: dart.getFields(sliver_grid.SliverGridGeometry.__proto__),
    scrollOffset: dart.finalFieldType(core.double),
    crossAxisOffset: dart.finalFieldType(core.double),
    mainAxisExtent: dart.finalFieldType(core.double),
    crossAxisExtent: dart.finalFieldType(core.double)
  }));
  dart.defineExtensionMethods(sliver_grid.SliverGridGeometry, ['toString']);
  sliver_grid.SliverGridLayout = class SliverGridLayout extends core.Object {};
  (sliver_grid.SliverGridLayout.new = function() {
    ;
  }).prototype = sliver_grid.SliverGridLayout.prototype;
  dart.addTypeTests(sliver_grid.SliverGridLayout);
  dart.setLibraryUri(sliver_grid.SliverGridLayout, "package:flutter/src/rendering/sliver_grid.dart");
  const _getOffsetFromStartInCrossAxis = dart.privateName(sliver_grid, "_getOffsetFromStartInCrossAxis");
  const crossAxisCount$ = dart.privateName(sliver_grid, "SliverGridRegularTileLayout.crossAxisCount");
  const mainAxisStride$ = dart.privateName(sliver_grid, "SliverGridRegularTileLayout.mainAxisStride");
  const crossAxisStride$ = dart.privateName(sliver_grid, "SliverGridRegularTileLayout.crossAxisStride");
  const childMainAxisExtent$ = dart.privateName(sliver_grid, "SliverGridRegularTileLayout.childMainAxisExtent");
  const childCrossAxisExtent$ = dart.privateName(sliver_grid, "SliverGridRegularTileLayout.childCrossAxisExtent");
  const reverseCrossAxis$ = dart.privateName(sliver_grid, "SliverGridRegularTileLayout.reverseCrossAxis");
  sliver_grid.SliverGridRegularTileLayout = class SliverGridRegularTileLayout extends sliver_grid.SliverGridLayout {
    get crossAxisCount() {
      return this[crossAxisCount$];
    }
    set crossAxisCount(value) {
      super.crossAxisCount = value;
    }
    get mainAxisStride() {
      return this[mainAxisStride$];
    }
    set mainAxisStride(value) {
      super.mainAxisStride = value;
    }
    get crossAxisStride() {
      return this[crossAxisStride$];
    }
    set crossAxisStride(value) {
      super.crossAxisStride = value;
    }
    get childMainAxisExtent() {
      return this[childMainAxisExtent$];
    }
    set childMainAxisExtent(value) {
      super.childMainAxisExtent = value;
    }
    get childCrossAxisExtent() {
      return this[childCrossAxisExtent$];
    }
    set childCrossAxisExtent(value) {
      super.childCrossAxisExtent = value;
    }
    get reverseCrossAxis() {
      return this[reverseCrossAxis$];
    }
    set reverseCrossAxis(value) {
      super.reverseCrossAxis = value;
    }
    getMinChildIndexForScrollOffset(scrollOffset) {
      return dart.notNull(this.mainAxisStride) > 0.0 ? dart.notNull(this.crossAxisCount) * (dart.notNull(scrollOffset) / dart.notNull(this.mainAxisStride))[$truncate]() : 0;
    }
    getMaxChildIndexForScrollOffset(scrollOffset) {
      if (dart.notNull(this.mainAxisStride) > 0.0) {
        let mainAxisCount = (dart.notNull(scrollOffset) / dart.notNull(this.mainAxisStride))[$ceil]();
        return math.max(core.int, 0, dart.notNull(this.crossAxisCount) * mainAxisCount - 1);
      }
      return 0;
    }
    [_getOffsetFromStartInCrossAxis](crossAxisStart) {
      if (dart.test(this.reverseCrossAxis)) return dart.notNull(this.crossAxisCount) * dart.notNull(this.crossAxisStride) - dart.notNull(crossAxisStart) - dart.notNull(this.childCrossAxisExtent) - (dart.notNull(this.crossAxisStride) - dart.notNull(this.childCrossAxisExtent));
      return crossAxisStart;
    }
    getGeometryForChildIndex(index) {
      let crossAxisStart = index[$modulo](this.crossAxisCount) * dart.notNull(this.crossAxisStride);
      return new sliver_grid.SliverGridGeometry.new({scrollOffset: (dart.notNull(index) / dart.notNull(this.crossAxisCount))[$truncate]() * dart.notNull(this.mainAxisStride), crossAxisOffset: this[_getOffsetFromStartInCrossAxis](crossAxisStart), mainAxisExtent: this.childMainAxisExtent, crossAxisExtent: this.childCrossAxisExtent});
    }
    computeMaxScrollOffset(childCount) {
      if (!(childCount != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 228, 12, "childCount != null");
      let mainAxisCount = ((dart.notNull(childCount) - 1) / dart.notNull(this.crossAxisCount))[$truncate]() + 1;
      let mainAxisSpacing = dart.notNull(this.mainAxisStride) - dart.notNull(this.childMainAxisExtent);
      return dart.notNull(this.mainAxisStride) * mainAxisCount - mainAxisSpacing;
    }
  };
  (sliver_grid.SliverGridRegularTileLayout.new = function(opts) {
    let crossAxisCount = opts && 'crossAxisCount' in opts ? opts.crossAxisCount : null;
    let mainAxisStride = opts && 'mainAxisStride' in opts ? opts.mainAxisStride : null;
    let crossAxisStride = opts && 'crossAxisStride' in opts ? opts.crossAxisStride : null;
    let childMainAxisExtent = opts && 'childMainAxisExtent' in opts ? opts.childMainAxisExtent : null;
    let childCrossAxisExtent = opts && 'childCrossAxisExtent' in opts ? opts.childCrossAxisExtent : null;
    let reverseCrossAxis = opts && 'reverseCrossAxis' in opts ? opts.reverseCrossAxis : null;
    this[crossAxisCount$] = crossAxisCount;
    this[mainAxisStride$] = mainAxisStride;
    this[crossAxisStride$] = crossAxisStride;
    this[childMainAxisExtent$] = childMainAxisExtent;
    this[childCrossAxisExtent$] = childCrossAxisExtent;
    this[reverseCrossAxis$] = reverseCrossAxis;
    if (!(crossAxisCount != null && dart.notNull(crossAxisCount) > 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 158, 15, "crossAxisCount != null && crossAxisCount > 0");
    if (!(mainAxisStride != null && dart.notNull(mainAxisStride) >= 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 159, 15, "mainAxisStride != null && mainAxisStride >= 0");
    if (!(crossAxisStride != null && dart.notNull(crossAxisStride) >= 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 160, 15, "crossAxisStride != null && crossAxisStride >= 0");
    if (!(childMainAxisExtent != null && dart.notNull(childMainAxisExtent) >= 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 161, 15, "childMainAxisExtent != null && childMainAxisExtent >= 0");
    if (!(childCrossAxisExtent != null && dart.notNull(childCrossAxisExtent) >= 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 162, 15, "childCrossAxisExtent != null && childCrossAxisExtent >= 0");
    if (!(reverseCrossAxis != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 163, 15, "reverseCrossAxis != null");
    sliver_grid.SliverGridRegularTileLayout.__proto__.new.call(this);
    ;
  }).prototype = sliver_grid.SliverGridRegularTileLayout.prototype;
  dart.addTypeTests(sliver_grid.SliverGridRegularTileLayout);
  dart.setMethodSignature(sliver_grid.SliverGridRegularTileLayout, () => ({
    __proto__: dart.getMethods(sliver_grid.SliverGridRegularTileLayout.__proto__),
    getMinChildIndexForScrollOffset: dart.fnType(core.int, [core.double]),
    getMaxChildIndexForScrollOffset: dart.fnType(core.int, [core.double]),
    [_getOffsetFromStartInCrossAxis]: dart.fnType(core.double, [core.double]),
    getGeometryForChildIndex: dart.fnType(sliver_grid.SliverGridGeometry, [core.int]),
    computeMaxScrollOffset: dart.fnType(core.double, [core.int])
  }));
  dart.setLibraryUri(sliver_grid.SliverGridRegularTileLayout, "package:flutter/src/rendering/sliver_grid.dart");
  dart.setFieldSignature(sliver_grid.SliverGridRegularTileLayout, () => ({
    __proto__: dart.getFields(sliver_grid.SliverGridRegularTileLayout.__proto__),
    crossAxisCount: dart.finalFieldType(core.int),
    mainAxisStride: dart.finalFieldType(core.double),
    crossAxisStride: dart.finalFieldType(core.double),
    childMainAxisExtent: dart.finalFieldType(core.double),
    childCrossAxisExtent: dart.finalFieldType(core.double),
    reverseCrossAxis: dart.finalFieldType(core.bool)
  }));
  sliver_grid.SliverGridDelegate = class SliverGridDelegate extends core.Object {};
  (sliver_grid.SliverGridDelegate.new = function() {
    ;
  }).prototype = sliver_grid.SliverGridDelegate.prototype;
  dart.addTypeTests(sliver_grid.SliverGridDelegate);
  dart.setLibraryUri(sliver_grid.SliverGridDelegate, "package:flutter/src/rendering/sliver_grid.dart");
  const _debugAssertIsValid = dart.privateName(sliver_grid, "_debugAssertIsValid");
  const crossAxisCount$0 = dart.privateName(sliver_grid, "SliverGridDelegateWithFixedCrossAxisCount.crossAxisCount");
  const mainAxisSpacing$ = dart.privateName(sliver_grid, "SliverGridDelegateWithFixedCrossAxisCount.mainAxisSpacing");
  const crossAxisSpacing$ = dart.privateName(sliver_grid, "SliverGridDelegateWithFixedCrossAxisCount.crossAxisSpacing");
  const childAspectRatio$ = dart.privateName(sliver_grid, "SliverGridDelegateWithFixedCrossAxisCount.childAspectRatio");
  sliver_grid.SliverGridDelegateWithFixedCrossAxisCount = class SliverGridDelegateWithFixedCrossAxisCount extends sliver_grid.SliverGridDelegate {
    get crossAxisCount() {
      return this[crossAxisCount$0];
    }
    set crossAxisCount(value) {
      super.crossAxisCount = value;
    }
    get mainAxisSpacing() {
      return this[mainAxisSpacing$];
    }
    set mainAxisSpacing(value) {
      super.mainAxisSpacing = value;
    }
    get crossAxisSpacing() {
      return this[crossAxisSpacing$];
    }
    set crossAxisSpacing(value) {
      super.crossAxisSpacing = value;
    }
    get childAspectRatio() {
      return this[childAspectRatio$];
    }
    set childAspectRatio(value) {
      super.childAspectRatio = value;
    }
    [_debugAssertIsValid]() {
      if (!(dart.notNull(this.crossAxisCount) > 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 319, 12, "crossAxisCount > 0");
      if (!(dart.notNull(this.mainAxisSpacing) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 320, 12, "mainAxisSpacing >= 0.0");
      if (!(dart.notNull(this.crossAxisSpacing) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 321, 12, "crossAxisSpacing >= 0.0");
      if (!(dart.notNull(this.childAspectRatio) > 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 322, 12, "childAspectRatio > 0.0");
      return true;
    }
    getLayout(constraints) {
      if (!dart.test(this[_debugAssertIsValid]())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 328, 12, "_debugAssertIsValid()");
      let usableCrossAxisExtent = dart.notNull(constraints.crossAxisExtent) - dart.notNull(this.crossAxisSpacing) * (dart.notNull(this.crossAxisCount) - 1);
      let childCrossAxisExtent = usableCrossAxisExtent / dart.notNull(this.crossAxisCount);
      let childMainAxisExtent = childCrossAxisExtent / dart.notNull(this.childAspectRatio);
      return new sliver_grid.SliverGridRegularTileLayout.new({crossAxisCount: this.crossAxisCount, mainAxisStride: childMainAxisExtent + dart.notNull(this.mainAxisSpacing), crossAxisStride: childCrossAxisExtent + dart.notNull(this.crossAxisSpacing), childMainAxisExtent: childMainAxisExtent, childCrossAxisExtent: childCrossAxisExtent, reverseCrossAxis: basic_types$.axisDirectionIsReversed(constraints.crossAxisDirection)});
    }
    shouldRelayout(oldDelegate) {
      sliver_grid.SliverGridDelegateWithFixedCrossAxisCount._check(oldDelegate);
      return oldDelegate.crossAxisCount != this.crossAxisCount || oldDelegate.mainAxisSpacing != this.mainAxisSpacing || oldDelegate.crossAxisSpacing != this.crossAxisSpacing || oldDelegate.childAspectRatio != this.childAspectRatio;
    }
  };
  (sliver_grid.SliverGridDelegateWithFixedCrossAxisCount.new = function(opts) {
    let crossAxisCount = opts && 'crossAxisCount' in opts ? opts.crossAxisCount : null;
    let mainAxisSpacing = opts && 'mainAxisSpacing' in opts ? opts.mainAxisSpacing : 0;
    let crossAxisSpacing = opts && 'crossAxisSpacing' in opts ? opts.crossAxisSpacing : 0;
    let childAspectRatio = opts && 'childAspectRatio' in opts ? opts.childAspectRatio : 1;
    this[crossAxisCount$0] = crossAxisCount;
    this[mainAxisSpacing$] = mainAxisSpacing;
    this[crossAxisSpacing$] = crossAxisSpacing;
    this[childAspectRatio$] = childAspectRatio;
    if (!(crossAxisCount != null && dart.notNull(crossAxisCount) > 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 301, 15, "crossAxisCount != null && crossAxisCount > 0");
    if (!(mainAxisSpacing != null && dart.notNull(mainAxisSpacing) >= 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 302, 15, "mainAxisSpacing != null && mainAxisSpacing >= 0");
    if (!(crossAxisSpacing != null && dart.notNull(crossAxisSpacing) >= 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 303, 15, "crossAxisSpacing != null && crossAxisSpacing >= 0");
    if (!(childAspectRatio != null && dart.notNull(childAspectRatio) > 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 304, 15, "childAspectRatio != null && childAspectRatio > 0");
    sliver_grid.SliverGridDelegateWithFixedCrossAxisCount.__proto__.new.call(this);
    ;
  }).prototype = sliver_grid.SliverGridDelegateWithFixedCrossAxisCount.prototype;
  dart.addTypeTests(sliver_grid.SliverGridDelegateWithFixedCrossAxisCount);
  dart.setMethodSignature(sliver_grid.SliverGridDelegateWithFixedCrossAxisCount, () => ({
    __proto__: dart.getMethods(sliver_grid.SliverGridDelegateWithFixedCrossAxisCount.__proto__),
    [_debugAssertIsValid]: dart.fnType(core.bool, []),
    getLayout: dart.fnType(sliver_grid.SliverGridLayout, [sliver$.SliverConstraints]),
    shouldRelayout: dart.fnType(core.bool, [core.Object])
  }));
  dart.setLibraryUri(sliver_grid.SliverGridDelegateWithFixedCrossAxisCount, "package:flutter/src/rendering/sliver_grid.dart");
  dart.setFieldSignature(sliver_grid.SliverGridDelegateWithFixedCrossAxisCount, () => ({
    __proto__: dart.getFields(sliver_grid.SliverGridDelegateWithFixedCrossAxisCount.__proto__),
    crossAxisCount: dart.finalFieldType(core.int),
    mainAxisSpacing: dart.finalFieldType(core.double),
    crossAxisSpacing: dart.finalFieldType(core.double),
    childAspectRatio: dart.finalFieldType(core.double)
  }));
  const maxCrossAxisExtent$ = dart.privateName(sliver_grid, "SliverGridDelegateWithMaxCrossAxisExtent.maxCrossAxisExtent");
  const mainAxisSpacing$0 = dart.privateName(sliver_grid, "SliverGridDelegateWithMaxCrossAxisExtent.mainAxisSpacing");
  const crossAxisSpacing$0 = dart.privateName(sliver_grid, "SliverGridDelegateWithMaxCrossAxisExtent.crossAxisSpacing");
  const childAspectRatio$0 = dart.privateName(sliver_grid, "SliverGridDelegateWithMaxCrossAxisExtent.childAspectRatio");
  sliver_grid.SliverGridDelegateWithMaxCrossAxisExtent = class SliverGridDelegateWithMaxCrossAxisExtent extends sliver_grid.SliverGridDelegate {
    get maxCrossAxisExtent() {
      return this[maxCrossAxisExtent$];
    }
    set maxCrossAxisExtent(value) {
      super.maxCrossAxisExtent = value;
    }
    get mainAxisSpacing() {
      return this[mainAxisSpacing$0];
    }
    set mainAxisSpacing(value) {
      super.mainAxisSpacing = value;
    }
    get crossAxisSpacing() {
      return this[crossAxisSpacing$0];
    }
    set crossAxisSpacing(value) {
      super.crossAxisSpacing = value;
    }
    get childAspectRatio() {
      return this[childAspectRatio$0];
    }
    set childAspectRatio(value) {
      super.childAspectRatio = value;
    }
    [_debugAssertIsValid]() {
      if (!(dart.notNull(this.maxCrossAxisExtent) > 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 416, 12, "maxCrossAxisExtent > 0.0");
      if (!(dart.notNull(this.mainAxisSpacing) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 417, 12, "mainAxisSpacing >= 0.0");
      if (!(dart.notNull(this.crossAxisSpacing) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 418, 12, "crossAxisSpacing >= 0.0");
      if (!(dart.notNull(this.childAspectRatio) > 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 419, 12, "childAspectRatio > 0.0");
      return true;
    }
    getLayout(constraints) {
      if (!dart.test(this[_debugAssertIsValid]())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 425, 12, "_debugAssertIsValid()");
      let crossAxisCount = (dart.notNull(constraints.crossAxisExtent) / (dart.notNull(this.maxCrossAxisExtent) + dart.notNull(this.crossAxisSpacing)))[$ceil]();
      let usableCrossAxisExtent = dart.notNull(constraints.crossAxisExtent) - dart.notNull(this.crossAxisSpacing) * (crossAxisCount - 1);
      let childCrossAxisExtent = usableCrossAxisExtent / crossAxisCount;
      let childMainAxisExtent = childCrossAxisExtent / dart.notNull(this.childAspectRatio);
      return new sliver_grid.SliverGridRegularTileLayout.new({crossAxisCount: crossAxisCount, mainAxisStride: childMainAxisExtent + dart.notNull(this.mainAxisSpacing), crossAxisStride: childCrossAxisExtent + dart.notNull(this.crossAxisSpacing), childMainAxisExtent: childMainAxisExtent, childCrossAxisExtent: childCrossAxisExtent, reverseCrossAxis: basic_types$.axisDirectionIsReversed(constraints.crossAxisDirection)});
    }
    shouldRelayout(oldDelegate) {
      sliver_grid.SliverGridDelegateWithMaxCrossAxisExtent._check(oldDelegate);
      return oldDelegate.maxCrossAxisExtent != this.maxCrossAxisExtent || oldDelegate.mainAxisSpacing != this.mainAxisSpacing || oldDelegate.crossAxisSpacing != this.crossAxisSpacing || oldDelegate.childAspectRatio != this.childAspectRatio;
    }
  };
  (sliver_grid.SliverGridDelegateWithMaxCrossAxisExtent.new = function(opts) {
    let maxCrossAxisExtent = opts && 'maxCrossAxisExtent' in opts ? opts.maxCrossAxisExtent : null;
    let mainAxisSpacing = opts && 'mainAxisSpacing' in opts ? opts.mainAxisSpacing : 0;
    let crossAxisSpacing = opts && 'crossAxisSpacing' in opts ? opts.crossAxisSpacing : 0;
    let childAspectRatio = opts && 'childAspectRatio' in opts ? opts.childAspectRatio : 1;
    this[maxCrossAxisExtent$] = maxCrossAxisExtent;
    this[mainAxisSpacing$0] = mainAxisSpacing;
    this[crossAxisSpacing$0] = crossAxisSpacing;
    this[childAspectRatio$0] = childAspectRatio;
    if (!(maxCrossAxisExtent != null && dart.notNull(maxCrossAxisExtent) >= 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 388, 15, "maxCrossAxisExtent != null && maxCrossAxisExtent >= 0");
    if (!(mainAxisSpacing != null && dart.notNull(mainAxisSpacing) >= 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 389, 15, "mainAxisSpacing != null && mainAxisSpacing >= 0");
    if (!(crossAxisSpacing != null && dart.notNull(crossAxisSpacing) >= 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 390, 15, "crossAxisSpacing != null && crossAxisSpacing >= 0");
    if (!(childAspectRatio != null && dart.notNull(childAspectRatio) > 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 391, 15, "childAspectRatio != null && childAspectRatio > 0");
    sliver_grid.SliverGridDelegateWithMaxCrossAxisExtent.__proto__.new.call(this);
    ;
  }).prototype = sliver_grid.SliverGridDelegateWithMaxCrossAxisExtent.prototype;
  dart.addTypeTests(sliver_grid.SliverGridDelegateWithMaxCrossAxisExtent);
  dart.setMethodSignature(sliver_grid.SliverGridDelegateWithMaxCrossAxisExtent, () => ({
    __proto__: dart.getMethods(sliver_grid.SliverGridDelegateWithMaxCrossAxisExtent.__proto__),
    [_debugAssertIsValid]: dart.fnType(core.bool, []),
    getLayout: dart.fnType(sliver_grid.SliverGridLayout, [sliver$.SliverConstraints]),
    shouldRelayout: dart.fnType(core.bool, [core.Object])
  }));
  dart.setLibraryUri(sliver_grid.SliverGridDelegateWithMaxCrossAxisExtent, "package:flutter/src/rendering/sliver_grid.dart");
  dart.setFieldSignature(sliver_grid.SliverGridDelegateWithMaxCrossAxisExtent, () => ({
    __proto__: dart.getFields(sliver_grid.SliverGridDelegateWithMaxCrossAxisExtent.__proto__),
    maxCrossAxisExtent: dart.finalFieldType(core.double),
    mainAxisSpacing: dart.finalFieldType(core.double),
    crossAxisSpacing: dart.finalFieldType(core.double),
    childAspectRatio: dart.finalFieldType(core.double)
  }));
  const _keptAlive = dart.privateName(sliver_multi_box_adaptor, "_keptAlive");
  const layoutOffset = dart.privateName(sliver$, "SliverLogicalParentData.layoutOffset");
  sliver$.SliverLogicalParentData = class SliverLogicalParentData extends object$.ParentData {
    get layoutOffset() {
      return this[layoutOffset];
    }
    set layoutOffset(value) {
      this[layoutOffset] = value;
    }
    toString() {
      return "layoutOffset=" + this.layoutOffset[$toStringAsFixed](1);
    }
  };
  (sliver$.SliverLogicalParentData.new = function() {
    this[layoutOffset] = 0.0;
    ;
  }).prototype = sliver$.SliverLogicalParentData.prototype;
  dart.addTypeTests(sliver$.SliverLogicalParentData);
  dart.setLibraryUri(sliver$.SliverLogicalParentData, "package:flutter/src/rendering/sliver.dart");
  dart.setFieldSignature(sliver$.SliverLogicalParentData, () => ({
    __proto__: dart.getFields(sliver$.SliverLogicalParentData.__proto__),
    layoutOffset: dart.fieldType(core.double)
  }));
  dart.defineExtensionMethods(sliver$.SliverLogicalParentData, ['toString']);
  const keepAlive = dart.privateName(sliver_multi_box_adaptor, "KeepAliveParentDataMixin.keepAlive");
  sliver_multi_box_adaptor.KeepAliveParentDataMixin = class KeepAliveParentDataMixin extends core.Object {};
  sliver_multi_box_adaptor.KeepAliveParentDataMixin[dart.mixinOn] = Object => class KeepAliveParentDataMixin extends Object {
    get keepAlive() {
      return this[keepAlive];
    }
    set keepAlive(value) {
      this[keepAlive] = value;
    }
  };
  (sliver_multi_box_adaptor.KeepAliveParentDataMixin[dart.mixinNew] = function() {
    this[keepAlive] = false;
  }).prototype = sliver_multi_box_adaptor.KeepAliveParentDataMixin.prototype;
  dart.addTypeTests(sliver_multi_box_adaptor.KeepAliveParentDataMixin);
  sliver_multi_box_adaptor.KeepAliveParentDataMixin[dart.implements] = () => [object$.ParentData, core.Object];
  dart.setLibraryUri(sliver_multi_box_adaptor.KeepAliveParentDataMixin, "package:flutter/src/rendering/sliver_multi_box_adaptor.dart");
  dart.setFieldSignature(sliver_multi_box_adaptor.KeepAliveParentDataMixin, () => ({
    __proto__: dart.getFields(sliver_multi_box_adaptor.KeepAliveParentDataMixin.__proto__),
    keepAlive: dart.fieldType(core.bool)
  }));
  const index = dart.privateName(sliver_multi_box_adaptor, "SliverMultiBoxAdaptorParentData.index");
  const SliverLogicalParentData_ContainerParentDataMixin$36 = class SliverLogicalParentData_ContainerParentDataMixin extends sliver$.SliverLogicalParentData {};
  (SliverLogicalParentData_ContainerParentDataMixin$36.new = function() {
    object$.ContainerParentDataMixin$(box.RenderBox)[dart.mixinNew].call(this);
    SliverLogicalParentData_ContainerParentDataMixin$36.__proto__.new.call(this);
  }).prototype = SliverLogicalParentData_ContainerParentDataMixin$36.prototype;
  dart.applyMixin(SliverLogicalParentData_ContainerParentDataMixin$36, object$.ContainerParentDataMixin$(box.RenderBox));
  const SliverLogicalParentData_KeepAliveParentDataMixin$36 = class SliverLogicalParentData_KeepAliveParentDataMixin extends SliverLogicalParentData_ContainerParentDataMixin$36 {};
  (SliverLogicalParentData_KeepAliveParentDataMixin$36.new = function() {
    sliver_multi_box_adaptor.KeepAliveParentDataMixin[dart.mixinNew].call(this);
    SliverLogicalParentData_KeepAliveParentDataMixin$36.__proto__.new.call(this);
  }).prototype = SliverLogicalParentData_KeepAliveParentDataMixin$36.prototype;
  dart.applyMixin(SliverLogicalParentData_KeepAliveParentDataMixin$36, sliver_multi_box_adaptor.KeepAliveParentDataMixin);
  sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData = class SliverMultiBoxAdaptorParentData extends SliverLogicalParentData_KeepAliveParentDataMixin$36 {
    get index() {
      return this[index];
    }
    set index(value) {
      this[index] = value;
    }
    get keptAlive() {
      return this[_keptAlive];
    }
    toString() {
      return "index=" + dart.str(this.index) + "; " + (dart.equals(this.keepAlive, true) ? "keepAlive; " : "") + dart.str(super.toString());
    }
  };
  (sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData.new = function() {
    this[index] = null;
    this[_keptAlive] = false;
    sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData.__proto__.new.call(this);
    ;
  }).prototype = sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData.prototype;
  dart.addTypeTests(sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData);
  dart.setGetterSignature(sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData, () => ({
    __proto__: dart.getGetters(sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData.__proto__),
    keptAlive: core.bool
  }));
  dart.setLibraryUri(sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData, "package:flutter/src/rendering/sliver_multi_box_adaptor.dart");
  dart.setFieldSignature(sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData, () => ({
    __proto__: dart.getFields(sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData.__proto__),
    index: dart.fieldType(core.int),
    [_keptAlive]: dart.fieldType(core.bool)
  }));
  dart.defineExtensionMethods(sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData, ['toString']);
  const crossAxisOffset = dart.privateName(sliver_grid, "SliverGridParentData.crossAxisOffset");
  sliver_grid.SliverGridParentData = class SliverGridParentData extends sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData {
    get crossAxisOffset() {
      return this[crossAxisOffset];
    }
    set crossAxisOffset(value) {
      this[crossAxisOffset] = value;
    }
    toString() {
      return "crossAxisOffset=" + dart.str(this.crossAxisOffset) + "; " + dart.str(super.toString());
    }
  };
  (sliver_grid.SliverGridParentData.new = function() {
    this[crossAxisOffset] = null;
    sliver_grid.SliverGridParentData.__proto__.new.call(this);
    ;
  }).prototype = sliver_grid.SliverGridParentData.prototype;
  dart.addTypeTests(sliver_grid.SliverGridParentData);
  dart.setLibraryUri(sliver_grid.SliverGridParentData, "package:flutter/src/rendering/sliver_grid.dart");
  dart.setFieldSignature(sliver_grid.SliverGridParentData, () => ({
    __proto__: dart.getFields(sliver_grid.SliverGridParentData.__proto__),
    crossAxisOffset: dart.fieldType(core.double)
  }));
  dart.defineExtensionMethods(sliver_grid.SliverGridParentData, ['toString']);
  const _gridDelegate = dart.privateName(sliver_grid, "_gridDelegate");
  const _keepAliveBucket = dart.privateName(sliver_multi_box_adaptor, "_keepAliveBucket");
  const _debugDanglingKeepAlives = dart.privateName(sliver_multi_box_adaptor, "_debugDanglingKeepAlives");
  const _debugChildIntegrityEnabled = dart.privateName(sliver_multi_box_adaptor, "_debugChildIntegrityEnabled");
  const _childManager = dart.privateName(sliver_multi_box_adaptor, "_childManager");
  const _debugVerifyChildOrder = dart.privateName(sliver_multi_box_adaptor, "_debugVerifyChildOrder");
  const _debugAssertChildListLocked = dart.privateName(sliver_multi_box_adaptor, "_debugAssertChildListLocked");
  const _createOrObtainChild = dart.privateName(sliver_multi_box_adaptor, "_createOrObtainChild");
  const _destroyOrCacheChild = dart.privateName(sliver_multi_box_adaptor, "_destroyOrCacheChild");
  let C114;
  let C115;
  let C116;
  let C117;
  let C118;
  let C119;
  let C120;
  const _geometry = dart.privateName(sliver$, "_geometry");
  const _name$11 = dart.privateName(sliver$, "_name");
  let C121;
  let C122;
  const _debugDrawArrow = dart.privateName(sliver$, "_debugDrawArrow");
  let C123;
  sliver$.RenderSliver = class RenderSliver extends object$.RenderObject {
    get constraints() {
      return sliver$.SliverConstraints.as(super.constraints);
    }
    get geometry() {
      return this[_geometry];
    }
    set geometry(value) {
      if (!!(dart.test(this.debugDoingThisResize) && dart.test(this.debugDoingThisLayout))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1148, 12, "!(debugDoingThisResize && debugDoingThisLayout)");
      if (!(dart.test(this.sizedByParent) || !dart.test(this.debugDoingThisResize))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1149, 12, "sizedByParent || !debugDoingThisResize");
      if (!dart.test(dart.fn(() => {
        if (dart.test(this.sizedByParent) && dart.test(this.debugDoingThisResize) || !dart.test(this.sizedByParent) && dart.test(this.debugDoingThisLayout)) return true;
        if (!!dart.test(this.debugDoingThisResize)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1154, 14, "!debugDoingThisResize");
        let contract = null;
        let violation = null;
        let hint = null;
        if (dart.test(this.debugDoingThisLayout)) {
          if (!dart.test(this.sizedByParent)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1157, 16, "sizedByParent");
          violation = new assertions.ErrorDescription.new("It appears that the geometry setter was called from performLayout().");
        } else {
          violation = new assertions.ErrorDescription.new("The geometry setter was called from outside layout (neither performResize() nor performLayout() were being run for this object).");
          if (this.owner != null && dart.test(this.owner.debugDoingLayout)) hint = new assertions.ErrorDescription.new("Only the object itself can set its geometry. It is a contract violation for other objects to set it.");
        }
        if (dart.test(this.sizedByParent))
          contract = new assertions.ErrorDescription.new("Because this RenderSliver has sizedByParent set to true, it must set its geometry in performResize().");
        else
          contract = new assertions.ErrorDescription.new("Because this RenderSliver has sizedByParent set to false, it must set its geometry in performLayout().");
        let information = (() => {
          let t15 = JSArrayOfDiagnosticsNode().of([]);
          t15[$add](new assertions.ErrorSummary.new("RenderSliver geometry setter called incorrectly."));
          t15[$add](violation);
          if (hint != null) t15[$add](hint);
          t15[$add](contract);
          t15[$add](this.describeForError("The RenderSliver in question is"));
          return t15;
        })();
        dart.throw(new assertions.FlutterError.fromParts(information));
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1150, 12, "() {\r\n      if ((sizedByParent && debugDoingThisResize) ||\r\n          (!sizedByParent && debugDoingThisLayout))\r\n        return true;\r\n      assert(!debugDoingThisResize);\r\n      DiagnosticsNode contract, violation, hint;\r\n      if (debugDoingThisLayout) {\r\n        assert(sizedByParent);\r\n        violation = ErrorDescription('It appears that the geometry setter was called from performLayout().');\r\n      } else {\r\n        violation = ErrorDescription('The geometry setter was called from outside layout (neither performResize() nor performLayout() were being run for this object).');\r\n        if (owner != null && owner.debugDoingLayout)\r\n          hint = ErrorDescription('Only the object itself can set its geometry. It is a contract violation for other objects to set it.');\r\n      }\r\n      if (sizedByParent)\r\n        contract = ErrorDescription('Because this RenderSliver has sizedByParent set to true, it must set its geometry in performResize().');\r\n      else\r\n        contract = ErrorDescription('Because this RenderSliver has sizedByParent set to false, it must set its geometry in performLayout().');\r\n\r\n      final List<DiagnosticsNode> information = <DiagnosticsNode>[\r\n        ErrorSummary('RenderSliver geometry setter called incorrectly.'),\r\n        violation,\r\n        if (hint != null) hint,\r\n        contract,\r\n        describeForError('The RenderSliver in question is'),\r\n      ];\r\n      throw FlutterError.fromParts(information);\r\n    }()");
      this[_geometry] = value;
    }
    get semanticBounds() {
      return this.paintBounds;
    }
    get paintBounds() {
      if (!(this.constraints.axis != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1186, 12, "constraints.axis != null");
      switch (this.constraints.axis) {
        case C30 || CT.C30:
        {
          return new ui.Rect.fromLTWH(0.0, 0.0, this.geometry.paintExtent, this.constraints.crossAxisExtent);
        }
        case C31 || CT.C31:
        {
          return new ui.Rect.fromLTWH(0.0, 0.0, this.constraints.crossAxisExtent, this.geometry.paintExtent);
        }
      }
      return null;
    }
    debugResetSize() {
    }
    debugAssertDoesMeetConstraints() {
      if (!dart.test(this.geometry.debugAssertIsValid({informationCollector: dart.fn(() => new (SyncIterableOfDiagnosticsNode()).new((function*() {
          yield this.describeForError("The RenderSliver that returned the offending geometry was");
        }).bind(this)), VoidToIterableOfDiagnosticsNode())}))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1209, 12, "geometry.debugAssertIsValid(\r\n      informationCollector: () sync* {\r\n        yield describeForError('The RenderSliver that returned the offending geometry was');\r\n      }\r\n    )");
      if (!dart.test(dart.fn(() => {
        if (dart.notNull(this.geometry.paintOrigin) + dart.notNull(this.geometry.paintExtent) > dart.notNull(this.constraints.remainingPaintExtent)) {
          dart.throw(new assertions.FlutterError.fromParts((() => {
            let t16 = JSArrayOfDiagnosticsNode().of([]);
            t16[$add](new assertions.ErrorSummary.new("SliverGeometry has a paintOffset that exceeds the remainingPaintExtent from the constraints."));
            t16[$add](this.describeForError("The render object whose geometry violates the constraints is the following"));
            for (let t17 of sliver$._debugCompareFloats("remainingPaintExtent", this.constraints.remainingPaintExtent, "paintOrigin + paintExtent", dart.notNull(this.geometry.paintOrigin) + dart.notNull(this.geometry.paintExtent)))
              t16[$add](t17);
            t16[$add](new assertions.ErrorDescription.new("The paintOrigin and paintExtent must cause the child sliver to paint " + "within the viewport, and so cannot exceed the remainingPaintExtent."));
            return t16;
          })()));
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1214, 12, "() {\r\n      if (geometry.paintOrigin + geometry.paintExtent > constraints.remainingPaintExtent) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('SliverGeometry has a paintOffset that exceeds the remainingPaintExtent from the constraints.'),\r\n          describeForError('The render object whose geometry violates the constraints is the following'),\r\n          ..._debugCompareFloats(\r\n            'remainingPaintExtent', constraints.remainingPaintExtent,\r\n            'paintOrigin + paintExtent', geometry.paintOrigin + geometry.paintExtent,\r\n          ),\r\n          ErrorDescription(\r\n            'The paintOrigin and paintExtent must cause the child sliver to paint '\r\n            'within the viewport, and so cannot exceed the remainingPaintExtent.',\r\n          ),\r\n        ]);\r\n      }\r\n      return true;\r\n    }()");
    }
    performResize() {
      if (!false) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1235, 12, "false");
    }
    get centerOffsetAdjustment() {
      return 0.0;
    }
    hitTest(result, opts) {
      let mainAxisPosition = opts && 'mainAxisPosition' in opts ? opts.mainAxisPosition : null;
      let crossAxisPosition = opts && 'crossAxisPosition' in opts ? opts.crossAxisPosition : null;
      if (dart.notNull(mainAxisPosition) >= 0.0 && dart.notNull(mainAxisPosition) < dart.notNull(this.geometry.hitTestExtent) && dart.notNull(crossAxisPosition) >= 0.0 && dart.notNull(crossAxisPosition) < dart.notNull(this.constraints.crossAxisExtent)) {
        if (dart.test(this.hitTestChildren(result, {mainAxisPosition: mainAxisPosition, crossAxisPosition: crossAxisPosition})) || dart.test(this.hitTestSelf({mainAxisPosition: mainAxisPosition, crossAxisPosition: crossAxisPosition}))) {
          result.add(new sliver$.SliverHitTestEntry.new(this, {mainAxisPosition: mainAxisPosition, crossAxisPosition: crossAxisPosition}));
          return true;
        }
      }
      return false;
    }
    hitTestSelf(opts) {
      let mainAxisPosition = opts && 'mainAxisPosition' in opts ? opts.mainAxisPosition : null;
      let crossAxisPosition = opts && 'crossAxisPosition' in opts ? opts.crossAxisPosition : null;
      return false;
    }
    hitTestChildren(result, opts) {
      let mainAxisPosition = opts && 'mainAxisPosition' in opts ? opts.mainAxisPosition : null;
      let crossAxisPosition = opts && 'crossAxisPosition' in opts ? opts.crossAxisPosition : null;
      return false;
    }
    calculatePaintOffset(constraints, opts) {
      let from = opts && 'from' in opts ? opts.from : null;
      let to = opts && 'to' in opts ? opts.to : null;
      if (!(dart.notNull(from) <= dart.notNull(to))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1346, 12, "from <= to");
      let a = constraints.scrollOffset;
      let b = dart.notNull(constraints.scrollOffset) + dart.notNull(constraints.remainingPaintExtent);
      return (to[$clamp](a, b) - from[$clamp](a, b))[$clamp](0.0, constraints.remainingPaintExtent);
    }
    calculateCacheOffset(constraints, opts) {
      let from = opts && 'from' in opts ? opts.from : null;
      let to = opts && 'to' in opts ? opts.to : null;
      if (!(dart.notNull(from) <= dart.notNull(to))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1362, 12, "from <= to");
      let a = dart.notNull(constraints.scrollOffset) + dart.notNull(constraints.cacheOrigin);
      let b = dart.notNull(constraints.scrollOffset) + dart.notNull(constraints.remainingCacheExtent);
      return (to[$clamp](a, b) - from[$clamp](a, b))[$clamp](0.0, constraints.remainingCacheExtent);
    }
    childMainAxisPosition(child) {
      object$.RenderObject._check(child);
      if (!dart.dtest(dart.fn(() => {
        dart.throw(assertions.FlutterError.new(dart.str(object.objectRuntimeType(this, "RenderSliver")) + " does not implement childPosition."));
      }, VoidToNull())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1397, 12, "() {\r\n      throw FlutterError('${objectRuntimeType(this, 'RenderSliver')} does not implement childPosition.');\r\n    }()");
      return 0.0;
    }
    childCrossAxisPosition(child) {
      object$.RenderObject._check(child);
      return 0.0;
    }
    childScrollOffset(child) {
      object$.RenderObject._check(child);
      if (!dart.equals(child.parent, this)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1428, 12, "child.parent == this");
      return 0.0;
    }
    applyPaintTransform(child, transform) {
      object$.RenderObject._check(child);
      if (!dart.dtest(dart.fn(() => {
        dart.throw(assertions.FlutterError.new(dart.str(object.objectRuntimeType(this, "RenderSliver")) + " does not implement applyPaintTransform."));
      }, VoidToNull())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1434, 12, "() {\r\n      throw FlutterError('${objectRuntimeType(this, 'RenderSliver')} does not implement applyPaintTransform.');\r\n    }()");
    }
    getAbsoluteSizeRelativeToOrigin() {
      if (!(this.geometry != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1450, 12, "geometry != null");
      if (!!dart.test(this.debugNeedsLayout)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1451, 12, "!debugNeedsLayout");
      switch (sliver$.applyGrowthDirectionToAxisDirection(this.constraints.axisDirection, this.constraints.growthDirection)) {
        case C116 || CT.C116:
        {
          return new ui.Size.new(this.constraints.crossAxisExtent, -dart.notNull(this.geometry.paintExtent));
        }
        case C117 || CT.C117:
        {
          return new ui.Size.new(this.geometry.paintExtent, this.constraints.crossAxisExtent);
        }
        case C118 || CT.C118:
        {
          return new ui.Size.new(this.constraints.crossAxisExtent, this.geometry.paintExtent);
        }
        case C120 || CT.C120:
        {
          return new ui.Size.new(-dart.notNull(this.geometry.paintExtent), this.constraints.crossAxisExtent);
        }
      }
      return null;
    }
    getAbsoluteSize() {
      if (!(this.geometry != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1476, 12, "geometry != null");
      if (!!dart.test(this.debugNeedsLayout)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1477, 12, "!debugNeedsLayout");
      switch (this.constraints.axisDirection) {
        case C116 || CT.C116:
        case C118 || CT.C118:
        {
          return new ui.Size.new(this.constraints.crossAxisExtent, this.geometry.paintExtent);
        }
        case C117 || CT.C117:
        case C120 || CT.C120:
        {
          return new ui.Size.new(this.geometry.paintExtent, this.constraints.crossAxisExtent);
        }
      }
      return null;
    }
    [_debugDrawArrow](canvas, paint, p0, p1, direction) {
      if (!dart.test(dart.fn(() => {
        let t18;
        if (dart.equals(p0, p1)) return true;
        if (!(p0.dx == p1.dx || p0.dy == p1.dy)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1493, 14, "p0.dx == p1.dx || p0.dy == p1.dy");
        let d = dart.notNull(p1['-'](p0).distance) * 0.2;
        let temp = null;
        let dx1 = null;
        let dx2 = null;
        let dy1 = null;
        let dy2 = null;
        switch (direction) {
          case C121 || CT.C121:
          {
            dx1 = dx2 = dy1 = dy2 = d;
            break;
          }
          case C122 || CT.C122:
          {
            temp = p0;
            p0 = p1;
            p1 = temp;
            dx1 = dx2 = dy1 = dy2 = -d;
            break;
          }
        }
        if (p0.dx == p1.dx) {
          dx2 = -dart.notNull(dx2);
        } else {
          dy2 = -dart.notNull(dy2);
        }
        canvas.drawPath((t18 = ui.Path.new(), t18.moveTo(p0.dx, p0.dy), t18.lineTo(p1.dx, p1.dy), t18.moveTo(dart.notNull(p1.dx) - dart.notNull(dx1), dart.notNull(p1.dy) - dart.notNull(dy1)), t18.lineTo(p1.dx, p1.dy), t18.lineTo(dart.notNull(p1.dx) - dart.notNull(dx2), dart.notNull(p1.dy) - dart.notNull(dy2)), t18), paint);
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1490, 12, "() {\r\n      if (p0 == p1)\r\n        return true;\r\n      assert(p0.dx == p1.dx || p0.dy == p1.dy); // must be axis-aligned\r\n      final double d = (p1 - p0).distance * 0.2;\r\n      Offset temp;\r\n      double dx1, dx2, dy1, dy2;\r\n      switch (direction) {\r\n        case GrowthDirection.forward:\r\n          dx1 = dx2 = dy1 = dy2 = d;\r\n          break;\r\n        case GrowthDirection.reverse:\r\n          temp = p0;\r\n          p0 = p1;\r\n          p1 = temp;\r\n          dx1 = dx2 = dy1 = dy2 = -d;\r\n          break;\r\n      }\r\n      if (p0.dx == p1.dx) {\r\n        dx2 = -dx2;\r\n      } else {\r\n        dy2 = -dy2;\r\n      }\r\n      canvas.drawPath(\r\n        Path()\r\n          ..moveTo(p0.dx, p0.dy)\r\n          ..lineTo(p1.dx, p1.dy)\r\n          ..moveTo(p1.dx - dx1, p1.dy - dy1)\r\n          ..lineTo(p1.dx, p1.dy)\r\n          ..lineTo(p1.dx - dx2, p1.dy - dy2),\r\n        paint,\r\n      );\r\n      return true;\r\n    }()");
    }
    debugPaint(context, offset) {
      if (!dart.test(dart.fn(() => {
        let t18;
        if (dart.test(debug$0.debugPaintSizeEnabled)) {
          let strokeWidth = math.min(core.double, 4.0, dart.notNull(this.geometry.paintExtent) / 30.0);
          let paint = (t18 = ui.Paint.new(), t18.color = C123 || CT.C123, t18.strokeWidth = strokeWidth, t18.style = ui.PaintingStyle.stroke, t18.maskFilter = new ui.MaskFilter.blur(ui.BlurStyle.solid, strokeWidth), t18);
          let arrowExtent = this.geometry.paintExtent;
          let padding = math.max(core.double, 2.0, strokeWidth);
          let canvas = context.canvas;
          canvas.drawCircle(offset.translate(padding, padding), padding * 0.5, paint);
          switch (this.constraints.axis) {
            case C31 || CT.C31:
            {
              canvas.drawLine(offset, offset.translate(this.constraints.crossAxisExtent, 0.0), paint);
              this[_debugDrawArrow](canvas, paint, offset.translate(dart.notNull(this.constraints.crossAxisExtent) * 1.0 / 4.0, padding), offset.translate(dart.notNull(this.constraints.crossAxisExtent) * 1.0 / 4.0, dart.notNull(arrowExtent) - padding), this.constraints.normalizedGrowthDirection);
              this[_debugDrawArrow](canvas, paint, offset.translate(dart.notNull(this.constraints.crossAxisExtent) * 3.0 / 4.0, padding), offset.translate(dart.notNull(this.constraints.crossAxisExtent) * 3.0 / 4.0, dart.notNull(arrowExtent) - padding), this.constraints.normalizedGrowthDirection);
              break;
            }
            case C30 || CT.C30:
            {
              canvas.drawLine(offset, offset.translate(0.0, this.constraints.crossAxisExtent), paint);
              this[_debugDrawArrow](canvas, paint, offset.translate(padding, dart.notNull(this.constraints.crossAxisExtent) * 1.0 / 4.0), offset.translate(dart.notNull(arrowExtent) - padding, dart.notNull(this.constraints.crossAxisExtent) * 1.0 / 4.0), this.constraints.normalizedGrowthDirection);
              this[_debugDrawArrow](canvas, paint, offset.translate(padding, dart.notNull(this.constraints.crossAxisExtent) * 3.0 / 4.0), offset.translate(dart.notNull(arrowExtent) - padding, dart.notNull(this.constraints.crossAxisExtent) * 3.0 / 4.0), this.constraints.normalizedGrowthDirection);
              break;
            }
          }
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1528, 12, "() {\r\n      if (debugPaintSizeEnabled) {\r\n        final double strokeWidth = math.min(4.0, geometry.paintExtent / 30.0);\r\n        final Paint paint = Paint()\r\n          ..color = const Color(0xFF33CC33)\r\n          ..strokeWidth = strokeWidth\r\n          ..style = PaintingStyle.stroke\r\n          ..maskFilter = MaskFilter.blur(BlurStyle.solid, strokeWidth);\r\n        final double arrowExtent = geometry.paintExtent;\r\n        final double padding = math.max(2.0, strokeWidth);\r\n        final Canvas canvas = context.canvas;\r\n        canvas.drawCircle(\r\n          offset.translate(padding, padding),\r\n          padding * 0.5,\r\n          paint,\r\n        );\r\n        switch (constraints.axis) {\r\n          case Axis.vertical:\r\n            canvas.drawLine(\r\n              offset,\r\n              offset.translate(constraints.crossAxisExtent, 0.0),\r\n              paint,\r\n            );\r\n            _debugDrawArrow(\r\n              canvas,\r\n              paint,\r\n              offset.translate(constraints.crossAxisExtent * 1.0 / 4.0, padding),\r\n              offset.translate(constraints.crossAxisExtent * 1.0 / 4.0, arrowExtent - padding),\r\n              constraints.normalizedGrowthDirection,\r\n            );\r\n            _debugDrawArrow(\r\n              canvas,\r\n              paint,\r\n              offset.translate(constraints.crossAxisExtent * 3.0 / 4.0, padding),\r\n              offset.translate(constraints.crossAxisExtent * 3.0 / 4.0, arrowExtent - padding),\r\n              constraints.normalizedGrowthDirection,\r\n            );\r\n            break;\r\n          case Axis.horizontal:\r\n            canvas.drawLine(\r\n              offset,\r\n              offset.translate(0.0, constraints.crossAxisExtent),\r\n              paint,\r\n            );\r\n            _debugDrawArrow(\r\n              canvas,\r\n              paint,\r\n              offset.translate(padding, constraints.crossAxisExtent * 1.0 / 4.0),\r\n              offset.translate(arrowExtent - padding, constraints.crossAxisExtent * 1.0 / 4.0),\r\n              constraints.normalizedGrowthDirection,\r\n            );\r\n            _debugDrawArrow(\r\n              canvas,\r\n              paint,\r\n              offset.translate(padding, constraints.crossAxisExtent * 3.0 / 4.0),\r\n              offset.translate(arrowExtent - padding, constraints.crossAxisExtent * 3.0 / 4.0),\r\n              constraints.normalizedGrowthDirection,\r\n            );\r\n            break;\r\n        }\r\n      }\r\n      return true;\r\n    }()");
    }
    handleEvent(event, entry) {
      sliver$.SliverHitTestEntry._check(entry);
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfSliverGeometry()).new("geometry", this.geometry));
    }
  };
  (sliver$.RenderSliver.new = function() {
    this[_geometry] = null;
    sliver$.RenderSliver.__proto__.new.call(this);
    ;
  }).prototype = sliver$.RenderSliver.prototype;
  dart.addTypeTests(sliver$.RenderSliver);
  dart.setMethodSignature(sliver$.RenderSliver, () => ({
    __proto__: dart.getMethods(sliver$.RenderSliver.__proto__),
    debugAssertDoesMeetConstraints: dart.fnType(dart.void, []),
    performResize: dart.fnType(dart.void, []),
    hitTest: dart.fnType(core.bool, [sliver$.SliverHitTestResult], {crossAxisPosition: core.double, mainAxisPosition: core.double}, {}),
    hitTestSelf: dart.fnType(core.bool, [], {crossAxisPosition: core.double, mainAxisPosition: core.double}, {}),
    hitTestChildren: dart.fnType(core.bool, [sliver$.SliverHitTestResult], {crossAxisPosition: core.double, mainAxisPosition: core.double}, {}),
    calculatePaintOffset: dart.fnType(core.double, [sliver$.SliverConstraints], {from: core.double, to: core.double}, {}),
    calculateCacheOffset: dart.fnType(core.double, [sliver$.SliverConstraints], {from: core.double, to: core.double}, {}),
    childMainAxisPosition: dart.fnType(core.double, [core.Object]),
    childCrossAxisPosition: dart.fnType(core.double, [core.Object]),
    childScrollOffset: dart.fnType(core.double, [core.Object]),
    getAbsoluteSizeRelativeToOrigin: dart.fnType(ui.Size, []),
    getAbsoluteSize: dart.fnType(ui.Size, []),
    [_debugDrawArrow]: dart.fnType(dart.void, [ui.Canvas, ui.Paint, ui.Offset, ui.Offset, sliver$.GrowthDirection])
  }));
  dart.setGetterSignature(sliver$.RenderSliver, () => ({
    __proto__: dart.getGetters(sliver$.RenderSliver.__proto__),
    constraints: sliver$.SliverConstraints,
    geometry: sliver$.SliverGeometry,
    semanticBounds: ui.Rect,
    paintBounds: ui.Rect,
    centerOffsetAdjustment: core.double
  }));
  dart.setSetterSignature(sliver$.RenderSliver, () => ({
    __proto__: dart.getSetters(sliver$.RenderSliver.__proto__),
    geometry: sliver$.SliverGeometry
  }));
  dart.setLibraryUri(sliver$.RenderSliver, "package:flutter/src/rendering/sliver.dart");
  dart.setFieldSignature(sliver$.RenderSliver, () => ({
    __proto__: dart.getFields(sliver$.RenderSliver.__proto__),
    [_geometry]: dart.fieldType(sliver$.SliverGeometry)
  }));
  const _getRightWayUp = dart.privateName(sliver$, "_getRightWayUp");
  sliver$.RenderSliverHelpers = class RenderSliverHelpers extends core.Object {
    [_getRightWayUp](constraints) {
      if (!(constraints != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1608, 12, "constraints != null");
      if (!(constraints.axisDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1609, 12, "constraints.axisDirection != null");
      let rightWayUp = null;
      switch (constraints.axisDirection) {
        case C116 || CT.C116:
        case C120 || CT.C120:
        {
          rightWayUp = false;
          break;
        }
        case C118 || CT.C118:
        case C117 || CT.C117:
        {
          rightWayUp = true;
          break;
        }
      }
      if (!(constraints.growthDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1621, 12, "constraints.growthDirection != null");
      switch (constraints.growthDirection) {
        case C121 || CT.C121:
        {
          break;
        }
        case C122 || CT.C122:
        {
          rightWayUp = !dart.test(rightWayUp);
          break;
        }
      }
      if (!(rightWayUp != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1629, 12, "rightWayUp != null");
      return rightWayUp;
    }
    hitTestBoxChild(result, child, opts) {
      let mainAxisPosition = opts && 'mainAxisPosition' in opts ? opts.mainAxisPosition : null;
      let crossAxisPosition = opts && 'crossAxisPosition' in opts ? opts.crossAxisPosition : null;
      let rightWayUp = this[_getRightWayUp](this.constraints);
      let delta = this.childMainAxisPosition(child);
      let crossAxisDelta = this.childCrossAxisPosition(child);
      let absolutePosition = dart.notNull(mainAxisPosition) - dart.notNull(delta);
      let absoluteCrossAxisPosition = dart.notNull(crossAxisPosition) - dart.notNull(crossAxisDelta);
      let paintOffset = null;
      let transformedPosition = null;
      if (!(this.constraints.axis != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1651, 12, "constraints.axis != null");
      switch (this.constraints.axis) {
        case C30 || CT.C30:
        {
          if (!dart.test(rightWayUp)) {
            absolutePosition = dart.notNull(child.size.width) - absolutePosition;
            delta = dart.notNull(this.geometry.paintExtent) - dart.notNull(child.size.width) - dart.notNull(delta);
          }
          paintOffset = new ui.Offset.new(delta, crossAxisDelta);
          transformedPosition = new ui.Offset.new(absolutePosition, absoluteCrossAxisPosition);
          break;
        }
        case C31 || CT.C31:
        {
          if (!dart.test(rightWayUp)) {
            absolutePosition = dart.notNull(child.size.height) - absolutePosition;
            delta = dart.notNull(this.geometry.paintExtent) - dart.notNull(child.size.height) - dart.notNull(delta);
          }
          paintOffset = new ui.Offset.new(crossAxisDelta, delta);
          transformedPosition = new ui.Offset.new(absoluteCrossAxisPosition, absolutePosition);
          break;
        }
      }
      if (!(paintOffset != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1670, 12, "paintOffset != null");
      if (!(transformedPosition != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1671, 12, "transformedPosition != null");
      return result.addWithPaintOffset({offset: paintOffset, position: null, hitTest: dart.fn((result, _) => child.hitTest(result, {position: transformedPosition}), BoxHitTestResultAndOffsetTobool())});
    }
    applyPaintTransformForBoxChild(child, transform) {
      let rightWayUp = this[_getRightWayUp](this.constraints);
      let delta = this.childMainAxisPosition(child);
      let crossAxisDelta = this.childCrossAxisPosition(child);
      if (!(this.constraints.axis != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1694, 12, "constraints.axis != null");
      switch (this.constraints.axis) {
        case C30 || CT.C30:
        {
          if (!dart.test(rightWayUp)) delta = dart.notNull(this.geometry.paintExtent) - dart.notNull(child.size.width) - dart.notNull(delta);
          transform.translate(delta, crossAxisDelta);
          break;
        }
        case C31 || CT.C31:
        {
          if (!dart.test(rightWayUp)) delta = dart.notNull(this.geometry.paintExtent) - dart.notNull(child.size.height) - dart.notNull(delta);
          transform.translate(crossAxisDelta, delta);
          break;
        }
      }
    }
  };
  (sliver$.RenderSliverHelpers.new = function() {
    ;
  }).prototype = sliver$.RenderSliverHelpers.prototype;
  dart.addTypeTests(sliver$.RenderSliverHelpers);
  sliver$.RenderSliverHelpers[dart.implements] = () => [sliver$.RenderSliver];
  dart.setMethodSignature(sliver$.RenderSliverHelpers, () => ({
    __proto__: dart.getMethods(sliver$.RenderSliverHelpers.__proto__),
    [_getRightWayUp]: dart.fnType(core.bool, [sliver$.SliverConstraints]),
    hitTestBoxChild: dart.fnType(core.bool, [box.BoxHitTestResult, box.RenderBox], {crossAxisPosition: core.double, mainAxisPosition: core.double}, {}),
    applyPaintTransformForBoxChild: dart.fnType(dart.void, [box.RenderBox, vector_math_64.Matrix4])
  }));
  dart.setLibraryUri(sliver$.RenderSliverHelpers, "package:flutter/src/rendering/sliver.dart");
  sliver_multi_box_adaptor.RenderSliverWithKeepAliveMixin = class RenderSliverWithKeepAliveMixin extends core.Object {};
  sliver_multi_box_adaptor.RenderSliverWithKeepAliveMixin[dart.mixinOn] = Object => class RenderSliverWithKeepAliveMixin extends Object {
    setupParentData(child) {
      object$.RenderObject._check(child);
      if (!sliver_multi_box_adaptor.KeepAliveParentDataMixin.is(child.parentData)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 144, 12, "child.parentData is KeepAliveParentDataMixin");
    }
  };
  (sliver_multi_box_adaptor.RenderSliverWithKeepAliveMixin[dart.mixinNew] = function() {
  }).prototype = sliver_multi_box_adaptor.RenderSliverWithKeepAliveMixin.prototype;
  dart.addTypeTests(sliver_multi_box_adaptor.RenderSliverWithKeepAliveMixin);
  sliver_multi_box_adaptor.RenderSliverWithKeepAliveMixin[dart.implements] = () => [sliver$.RenderSliver, core.Object];
  dart.setMethodSignature(sliver_multi_box_adaptor.RenderSliverWithKeepAliveMixin, () => ({
    __proto__: dart.getMethods(sliver_multi_box_adaptor.RenderSliverWithKeepAliveMixin.__proto__),
    setupParentData: dart.fnType(dart.void, [core.Object])
  }));
  dart.setLibraryUri(sliver_multi_box_adaptor.RenderSliverWithKeepAliveMixin, "package:flutter/src/rendering/sliver_multi_box_adaptor.dart");
  const RenderSliver_ContainerRenderObjectMixin$36 = class RenderSliver_ContainerRenderObjectMixin extends sliver$.RenderSliver {};
  (RenderSliver_ContainerRenderObjectMixin$36.new = function() {
    object$.ContainerRenderObjectMixin$(box.RenderBox, sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData)[dart.mixinNew].call(this);
    RenderSliver_ContainerRenderObjectMixin$36.__proto__.new.call(this);
  }).prototype = RenderSliver_ContainerRenderObjectMixin$36.prototype;
  dart.applyMixin(RenderSliver_ContainerRenderObjectMixin$36, object$.ContainerRenderObjectMixin$(box.RenderBox, sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData));
  const RenderSliver_RenderSliverHelpers$36 = class RenderSliver_RenderSliverHelpers extends RenderSliver_ContainerRenderObjectMixin$36 {};
  (RenderSliver_RenderSliverHelpers$36.new = function() {
    RenderSliver_RenderSliverHelpers$36.__proto__.new.call(this);
  }).prototype = RenderSliver_RenderSliverHelpers$36.prototype;
  dart.applyMixin(RenderSliver_RenderSliverHelpers$36, sliver$.RenderSliverHelpers);
  const RenderSliver_RenderSliverWithKeepAliveMixin$36 = class RenderSliver_RenderSliverWithKeepAliveMixin extends RenderSliver_RenderSliverHelpers$36 {};
  (RenderSliver_RenderSliverWithKeepAliveMixin$36.new = function() {
    RenderSliver_RenderSliverWithKeepAliveMixin$36.__proto__.new.call(this);
  }).prototype = RenderSliver_RenderSliverWithKeepAliveMixin$36.prototype;
  dart.applyMixin(RenderSliver_RenderSliverWithKeepAliveMixin$36, sliver_multi_box_adaptor.RenderSliverWithKeepAliveMixin);
  sliver_multi_box_adaptor.RenderSliverMultiBoxAdaptor = class RenderSliverMultiBoxAdaptor extends RenderSliver_RenderSliverWithKeepAliveMixin$36 {
    setupParentData(child) {
      object$.RenderObject._check(child);
      if (!sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData.is(child.parentData)) child.parentData = new sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData.new();
    }
    get childManager() {
      return this[_childManager];
    }
    get debugChildIntegrityEnabled() {
      return this[_debugChildIntegrityEnabled];
    }
    set debugChildIntegrityEnabled(enabled) {
      if (!(enabled != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 235, 12, "enabled != null");
      if (!dart.test(dart.fn(() => {
        this[_debugChildIntegrityEnabled] = enabled;
        return dart.test(this[_debugVerifyChildOrder]()) && (!dart.test(this[_debugChildIntegrityEnabled]) || dart.test(this[_debugDanglingKeepAlives][$isEmpty]));
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 236, 12, "() {\r\n      _debugChildIntegrityEnabled = enabled;\r\n      return _debugVerifyChildOrder() &&\r\n        (!_debugChildIntegrityEnabled || _debugDanglingKeepAlives.isEmpty);\r\n    }()");
    }
    adoptChild(child) {
      object$.RenderObject._check(child);
      super.adoptChild(child);
      let childParentData = sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData.as(child.parentData);
      if (!dart.test(childParentData[_keptAlive])) this.childManager.didAdoptChild(box.RenderBox.as(child));
    }
    [_debugAssertChildListLocked]() {
      return this.childManager.debugAssertChildListLocked();
    }
    [_debugVerifyChildOrder]() {
      if (dart.test(this[_debugChildIntegrityEnabled])) {
        let child = this.firstChild;
        let index = null;
        while (child != null) {
          index = this.indexOf(child);
          child = this.childAfter(child);
          if (!(child == null || dart.notNull(this.indexOf(child)) > dart.notNull(index))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 263, 16, "child == null || indexOf(child) > index");
        }
      }
      return true;
    }
    insert(child, opts) {
      box.RenderBox._check(child);
      let after = opts && 'after' in opts ? opts.after : null;
      box.RenderBox._check(after);
      if (!!dart.test(this[_keepAliveBucket][$containsValue](child))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 271, 12, "!_keepAliveBucket.containsValue(child)");
      super.insert(child, {after: after});
      if (!(this.firstChild != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 273, 12, "firstChild != null");
      if (!dart.test(this[_debugVerifyChildOrder]())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 274, 12, "_debugVerifyChildOrder()");
    }
    move(child, opts) {
      box.RenderBox._check(child);
      let after = opts && 'after' in opts ? opts.after : null;
      box.RenderBox._check(after);
      let childParentData = sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData.as(child.parentData);
      if (!dart.test(childParentData.keptAlive)) {
        super.move(child, {after: after});
        this.childManager.didAdoptChild(child);
        this.markNeedsLayout();
      } else {
        if (dart.equals(this[_keepAliveBucket][$_get](childParentData.index), child)) {
          this[_keepAliveBucket][$remove](childParentData.index);
        }
        if (!dart.test(dart.fn(() => {
          this[_debugDanglingKeepAlives][$remove](child);
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 301, 14, "() {\r\n        _debugDanglingKeepAlives.remove(child);\r\n        return true;\r\n      }()");
        this.childManager.didAdoptChild(child);
        if (!dart.test(dart.fn(() => {
          if (dart.test(this[_keepAliveBucket][$containsKey](childParentData.index))) this[_debugDanglingKeepAlives][$add](this[_keepAliveBucket][$_get](childParentData.index));
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 310, 14, "() {\r\n        if (_keepAliveBucket.containsKey(childParentData.index))\r\n          _debugDanglingKeepAlives.add(_keepAliveBucket[childParentData.index]);\r\n        return true;\r\n      }()");
        this[_keepAliveBucket][$_set](childParentData.index, child);
      }
    }
    remove(child) {
      box.RenderBox._check(child);
      let childParentData = sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData.as(child.parentData);
      if (!dart.test(childParentData[_keptAlive])) {
        super.remove(child);
        return;
      }
      if (!dart.equals(this[_keepAliveBucket][$_get](childParentData.index), child)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 326, 12, "_keepAliveBucket[childParentData.index] == child");
      if (!dart.test(dart.fn(() => {
        this[_debugDanglingKeepAlives][$remove](child);
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 327, 12, "() {\r\n      _debugDanglingKeepAlives.remove(child);\r\n      return true;\r\n    }()");
      this[_keepAliveBucket][$remove](childParentData.index);
      this.dropChild(child);
    }
    removeAll() {
      super.removeAll();
      this[_keepAliveBucket][$values][$forEach](dart.bind(this, 'dropChild'));
      this[_keepAliveBucket][$clear]();
    }
    [_createOrObtainChild](index, opts) {
      let after = opts && 'after' in opts ? opts.after : null;
      this.invokeLayoutCallback(sliver$.SliverConstraints, dart.fn(constraints => {
        if (!dart.equals(constraints, this.constraints)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 344, 14, "constraints == this.constraints");
        if (dart.test(this[_keepAliveBucket][$containsKey](index))) {
          let child = this[_keepAliveBucket][$remove](index);
          let childParentData = sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData.as(child.parentData);
          if (!dart.test(childParentData[_keptAlive])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 348, 16, "childParentData._keptAlive");
          this.dropChild(child);
          child.parentData = childParentData;
          this.insert(child, {after: after});
          childParentData[_keptAlive] = false;
        } else {
          this[_childManager].createChild(index, {after: after});
        }
      }, SliverConstraintsToNull()));
    }
    [_destroyOrCacheChild](child) {
      let childParentData = sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData.as(child.parentData);
      if (dart.test(childParentData.keepAlive)) {
        if (!!dart.test(childParentData[_keptAlive])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 362, 14, "!childParentData._keptAlive");
        this.remove(child);
        this[_keepAliveBucket][$_set](childParentData.index, child);
        child.parentData = childParentData;
        super.adoptChild(child);
        childParentData[_keptAlive] = true;
      } else {
        if (!dart.equals(child.parent, this)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 369, 14, "child.parent == this");
        this[_childManager].removeChild(child);
        if (!(child.parent == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 371, 14, "child.parent == null");
      }
    }
    attach(owner) {
      object$.PipelineOwner._check(owner);
      super.attach(owner);
      for (let child of this[_keepAliveBucket][$values])
        child.attach(owner);
    }
    detach() {
      super.detach();
      for (let child of this[_keepAliveBucket][$values])
        child.detach();
    }
    redepthChildren() {
      super.redepthChildren();
      this[_keepAliveBucket][$values][$forEach](dart.bind(this, 'redepthChild'));
    }
    visitChildren(visitor) {
      super.visitChildren(visitor);
      this[_keepAliveBucket][$values][$forEach](visitor);
    }
    visitChildrenForSemantics(visitor) {
      super.visitChildren(visitor);
    }
    addInitialChild(opts) {
      let index = opts && 'index' in opts ? opts.index : 0;
      let layoutOffset = opts && 'layoutOffset' in opts ? opts.layoutOffset : 0;
      if (!dart.test(this[_debugAssertChildListLocked]())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 425, 12, "_debugAssertChildListLocked()");
      if (!(this.firstChild == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 426, 12, "firstChild == null");
      this[_createOrObtainChild](index, {after: null});
      if (this.firstChild != null) {
        if (!dart.equals(this.firstChild, this.lastChild)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 429, 14, "firstChild == lastChild");
        if (!(this.indexOf(this.firstChild) == index)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 430, 14, "indexOf(firstChild) == index");
        let firstChildParentData = sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData.as(this.firstChild.parentData);
        firstChildParentData.layoutOffset = layoutOffset;
        return true;
      }
      this.childManager.setDidUnderflow(true);
      return false;
    }
    insertAndLayoutLeadingChild(childConstraints, opts) {
      let parentUsesSize = opts && 'parentUsesSize' in opts ? opts.parentUsesSize : false;
      if (!dart.test(this[_debugAssertChildListLocked]())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 457, 12, "_debugAssertChildListLocked()");
      let index = dart.notNull(this.indexOf(this.firstChild)) - 1;
      this[_createOrObtainChild](index, {after: null});
      if (this.indexOf(this.firstChild) === index) {
        this.firstChild.layout(childConstraints, {parentUsesSize: parentUsesSize});
        return this.firstChild;
      }
      this.childManager.setDidUnderflow(true);
      return null;
    }
    insertAndLayoutChild(childConstraints, opts) {
      let after = opts && 'after' in opts ? opts.after : null;
      let parentUsesSize = opts && 'parentUsesSize' in opts ? opts.parentUsesSize : false;
      if (!dart.test(this[_debugAssertChildListLocked]())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 486, 12, "_debugAssertChildListLocked()");
      if (!(after != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 487, 12, "after != null");
      let index = dart.notNull(this.indexOf(after)) + 1;
      this[_createOrObtainChild](index, {after: after});
      let child = this.childAfter(after);
      if (child != null && this.indexOf(child) === index) {
        child.layout(childConstraints, {parentUsesSize: parentUsesSize});
        return child;
      }
      this.childManager.setDidUnderflow(true);
      return null;
    }
    collectGarbage(leadingGarbage, trailingGarbage) {
      if (!dart.test(this[_debugAssertChildListLocked]())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 510, 12, "_debugAssertChildListLocked()");
      if (!(dart.notNull(this.childCount) >= dart.notNull(leadingGarbage) + dart.notNull(trailingGarbage))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 511, 12, "childCount >= leadingGarbage + trailingGarbage");
      this.invokeLayoutCallback(sliver$.SliverConstraints, dart.fn(constraints => {
        while (dart.notNull(leadingGarbage) > 0) {
          this[_destroyOrCacheChild](this.firstChild);
          leadingGarbage = dart.notNull(leadingGarbage) - 1;
        }
        while (dart.notNull(trailingGarbage) > 0) {
          this[_destroyOrCacheChild](this.lastChild);
          trailingGarbage = dart.notNull(trailingGarbage) - 1;
        }
        this[_keepAliveBucket][$values][$where](dart.fn(child => {
          let childParentData = sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData.as(child.parentData);
          return !dart.test(childParentData.keepAlive);
        }, RenderBoxTobool()))[$toList]()[$forEach](dart.bind(this[_childManager], 'removeChild'));
        if (!dart.test(this[_keepAliveBucket][$values][$where](dart.fn(child => {
          let childParentData = sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData.as(child.parentData);
          return !dart.test(childParentData.keepAlive);
        }, RenderBoxTobool()))[$isEmpty])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 528, 14, "_keepAliveBucket.values.where((RenderBox child) {\r\n        final SliverMultiBoxAdaptorParentData childParentData = child.parentData as SliverMultiBoxAdaptorParentData;\r\n        return !childParentData.keepAlive;\r\n      }).isEmpty");
      }, SliverConstraintsToNull()));
    }
    indexOf(child) {
      if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 538, 12, "child != null");
      let childParentData = sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData.as(child.parentData);
      if (!(childParentData.index != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 540, 12, "childParentData.index != null");
      return childParentData.index;
    }
    paintExtentOf(child) {
      if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 548, 12, "child != null");
      if (!dart.test(child.hasSize)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 549, 12, "child.hasSize");
      switch (this.constraints.axis) {
        case C30 || CT.C30:
        {
          return child.size.width;
        }
        case C31 || CT.C31:
        {
          return child.size.height;
        }
      }
      return null;
    }
    hitTestChildren(result, opts) {
      let mainAxisPosition = opts && 'mainAxisPosition' in opts ? opts.mainAxisPosition : null;
      let crossAxisPosition = opts && 'crossAxisPosition' in opts ? opts.crossAxisPosition : null;
      let child = this.lastChild;
      let boxResult = new box.BoxHitTestResult.wrap(result);
      while (child != null) {
        if (dart.test(this.hitTestBoxChild(boxResult, child, {mainAxisPosition: mainAxisPosition, crossAxisPosition: crossAxisPosition}))) return true;
        child = this.childBefore(child);
      }
      return false;
    }
    childMainAxisPosition(child) {
      box.RenderBox._check(child);
      return dart.notNull(this.childScrollOffset(child)) - dart.notNull(this.constraints.scrollOffset);
    }
    childScrollOffset(child) {
      object$.RenderObject._check(child);
      if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 578, 12, "child != null");
      if (!dart.equals(child.parent, this)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 579, 12, "child.parent == this");
      let childParentData = sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData.as(child.parentData);
      if (!(childParentData.layoutOffset != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 581, 12, "childParentData.layoutOffset != null");
      return childParentData.layoutOffset;
    }
    applyPaintTransform(child, transform) {
      object$.RenderObject._check(child);
      this.applyPaintTransformForBoxChild(box.RenderBox.as(child), transform);
    }
    paint(context, offset) {
      if (this.firstChild == null) return;
      let mainAxisUnit = null;
      let crossAxisUnit = null;
      let originOffset = null;
      let addExtent = null;
      switch (sliver$.applyGrowthDirectionToAxisDirection(this.constraints.axisDirection, this.constraints.growthDirection)) {
        case C116 || CT.C116:
        {
          mainAxisUnit = C114 || CT.C114;
          crossAxisUnit = C115 || CT.C115;
          originOffset = offset['+'](new ui.Offset.new(0.0, this.geometry.paintExtent));
          addExtent = true;
          break;
        }
        case C117 || CT.C117:
        {
          mainAxisUnit = C115 || CT.C115;
          crossAxisUnit = C34 || CT.C34;
          originOffset = offset;
          addExtent = false;
          break;
        }
        case C118 || CT.C118:
        {
          mainAxisUnit = C34 || CT.C34;
          crossAxisUnit = C115 || CT.C115;
          originOffset = offset;
          addExtent = false;
          break;
        }
        case C120 || CT.C120:
        {
          mainAxisUnit = C119 || CT.C119;
          crossAxisUnit = C34 || CT.C34;
          originOffset = offset['+'](new ui.Offset.new(this.geometry.paintExtent, 0.0));
          addExtent = true;
          break;
        }
      }
      if (!(mainAxisUnit != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 624, 12, "mainAxisUnit != null");
      if (!(addExtent != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 625, 12, "addExtent != null");
      let child = this.firstChild;
      while (child != null) {
        let mainAxisDelta = this.childMainAxisPosition(child);
        let crossAxisDelta = this.childCrossAxisPosition(child);
        let childOffset = new ui.Offset.new(dart.notNull(originOffset.dx) + dart.notNull(mainAxisUnit.dx) * dart.notNull(mainAxisDelta) + dart.notNull(crossAxisUnit.dx) * dart.notNull(crossAxisDelta), dart.notNull(originOffset.dy) + dart.notNull(mainAxisUnit.dy) * dart.notNull(mainAxisDelta) + dart.notNull(crossAxisUnit.dy) * dart.notNull(crossAxisDelta));
        if (dart.test(addExtent)) childOffset = childOffset['+'](mainAxisUnit['*'](this.paintExtentOf(child)));
        if (dart.notNull(mainAxisDelta) < dart.notNull(this.constraints.remainingPaintExtent) && dart.notNull(mainAxisDelta) + dart.notNull(this.paintExtentOf(child)) > 0) context.paintChild(child, childOffset);
        child = this.childAfter(child);
      }
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(diagnostics.DiagnosticsNode.message(this.firstChild != null ? "currently live children: " + dart.str(this.indexOf(this.firstChild)) + " to " + dart.str(this.indexOf(this.lastChild)) : "no children current live"));
    }
    debugAssertChildListIsNonEmptyAndContiguous() {
      if (!dart.test(dart.fn(() => {
        if (!(this.firstChild != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 658, 14, "firstChild != null");
        let index = this.indexOf(this.firstChild);
        let child = this.childAfter(this.firstChild);
        while (child != null) {
          index = dart.notNull(index) + 1;
          if (!(this.indexOf(child) == index)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 663, 16, "indexOf(child) == index");
          child = this.childAfter(child);
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 657, 12, "() {\r\n      assert(firstChild != null);\r\n      int index = indexOf(firstChild);\r\n      RenderBox child = childAfter(firstChild);\r\n      while (child != null) {\r\n        index += 1;\r\n        assert(indexOf(child) == index);\r\n        child = childAfter(child);\r\n      }\r\n      return true;\r\n    }()");
      return true;
    }
    debugDescribeChildren() {
      let t15;
      let children = JSArrayOfDiagnosticsNode().of([]);
      if (this.firstChild != null) {
        let child = this.firstChild;
        while (true) {
          let childParentData = sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData.as(child.parentData);
          children[$add](child.toDiagnosticsNode({name: "child with index " + dart.str(childParentData.index)}));
          if (dart.equals(child, this.lastChild)) break;
          child = childParentData.nextSibling;
        }
      }
      if (dart.test(this[_keepAliveBucket][$isNotEmpty])) {
        let indices = (t15 = this[_keepAliveBucket][$keys][$toList](), t15[$sort](), t15);
        for (let index of indices) {
          children[$add](this[_keepAliveBucket][$_get](index).toDiagnosticsNode({name: "child with index " + dart.str(index) + " (kept alive but not laid out)", style: diagnostics.DiagnosticsTreeStyle.offstage}));
        }
      }
      return children;
    }
  };
  (sliver_multi_box_adaptor.RenderSliverMultiBoxAdaptor.new = function(opts) {
    let childManager = opts && 'childManager' in opts ? opts.childManager : null;
    this[_keepAliveBucket] = new (IdentityMapOfint$RenderBox()).new();
    this[_debugDanglingKeepAlives] = null;
    this[_debugChildIntegrityEnabled] = true;
    if (!(childManager != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 195, 15, "childManager != null");
    this[_childManager] = childManager;
    sliver_multi_box_adaptor.RenderSliverMultiBoxAdaptor.__proto__.new.call(this);
    if (!dart.test(dart.fn(() => {
      this[_debugDanglingKeepAlives] = JSArrayOfRenderBox().of([]);
      return true;
    }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_multi_box_adaptor.dart", 197, 12, "() {\r\n      _debugDanglingKeepAlives = <RenderBox>[];\r\n      return true;\r\n    }()");
  }).prototype = sliver_multi_box_adaptor.RenderSliverMultiBoxAdaptor.prototype;
  dart.addTypeTests(sliver_multi_box_adaptor.RenderSliverMultiBoxAdaptor);
  dart.setMethodSignature(sliver_multi_box_adaptor.RenderSliverMultiBoxAdaptor, () => ({
    __proto__: dart.getMethods(sliver_multi_box_adaptor.RenderSliverMultiBoxAdaptor.__proto__),
    [_debugAssertChildListLocked]: dart.fnType(core.bool, []),
    [_debugVerifyChildOrder]: dart.fnType(core.bool, []),
    [_createOrObtainChild]: dart.fnType(dart.void, [core.int], {after: box.RenderBox}, {}),
    [_destroyOrCacheChild]: dart.fnType(dart.void, [box.RenderBox]),
    addInitialChild: dart.fnType(core.bool, [], {index: core.int, layoutOffset: core.double}, {}),
    insertAndLayoutLeadingChild: dart.fnType(box.RenderBox, [box.BoxConstraints], {parentUsesSize: core.bool}, {}),
    insertAndLayoutChild: dart.fnType(box.RenderBox, [box.BoxConstraints], {after: box.RenderBox, parentUsesSize: core.bool}, {}),
    collectGarbage: dart.fnType(dart.void, [core.int, core.int]),
    indexOf: dart.fnType(core.int, [box.RenderBox]),
    paintExtentOf: dart.fnType(core.double, [box.RenderBox]),
    debugAssertChildListIsNonEmptyAndContiguous: dart.fnType(core.bool, [])
  }));
  dart.setGetterSignature(sliver_multi_box_adaptor.RenderSliverMultiBoxAdaptor, () => ({
    __proto__: dart.getGetters(sliver_multi_box_adaptor.RenderSliverMultiBoxAdaptor.__proto__),
    childManager: sliver_multi_box_adaptor.RenderSliverBoxChildManager,
    debugChildIntegrityEnabled: core.bool
  }));
  dart.setSetterSignature(sliver_multi_box_adaptor.RenderSliverMultiBoxAdaptor, () => ({
    __proto__: dart.getSetters(sliver_multi_box_adaptor.RenderSliverMultiBoxAdaptor.__proto__),
    debugChildIntegrityEnabled: core.bool
  }));
  dart.setLibraryUri(sliver_multi_box_adaptor.RenderSliverMultiBoxAdaptor, "package:flutter/src/rendering/sliver_multi_box_adaptor.dart");
  dart.setFieldSignature(sliver_multi_box_adaptor.RenderSliverMultiBoxAdaptor, () => ({
    __proto__: dart.getFields(sliver_multi_box_adaptor.RenderSliverMultiBoxAdaptor.__proto__),
    [_childManager]: dart.finalFieldType(sliver_multi_box_adaptor.RenderSliverBoxChildManager),
    [_keepAliveBucket]: dart.finalFieldType(core.Map$(core.int, box.RenderBox)),
    [_debugDanglingKeepAlives]: dart.fieldType(core.List$(box.RenderBox)),
    [_debugChildIntegrityEnabled]: dart.fieldType(core.bool)
  }));
  sliver_grid.RenderSliverGrid = class RenderSliverGrid extends sliver_multi_box_adaptor.RenderSliverMultiBoxAdaptor {
    setupParentData(child) {
      object$.RenderObject._check(child);
      if (!sliver_grid.SliverGridParentData.is(child.parentData)) child.parentData = new sliver_grid.SliverGridParentData.new();
    }
    get gridDelegate() {
      return this[_gridDelegate];
    }
    set gridDelegate(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 497, 12, "value != null");
      if (dart.equals(this[_gridDelegate], value)) return;
      if (!dart.equals(dart.runtimeType(value), dart.runtimeType(this[_gridDelegate])) || dart.test(value.shouldRelayout(this[_gridDelegate]))) this.markNeedsLayout();
      this[_gridDelegate] = value;
    }
    childCrossAxisPosition(child) {
      box.RenderBox._check(child);
      let childParentData = sliver_grid.SliverGridParentData.as(child.parentData);
      return childParentData.crossAxisOffset;
    }
    performLayout() {
      this.childManager.didStartLayout();
      this.childManager.setDidUnderflow(false);
      let scrollOffset = dart.notNull(this.constraints.scrollOffset) + dart.notNull(this.constraints.cacheOrigin);
      if (!(scrollOffset >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 518, 12, "scrollOffset >= 0.0");
      let remainingExtent = this.constraints.remainingCacheExtent;
      if (!(dart.notNull(remainingExtent) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 520, 12, "remainingExtent >= 0.0");
      let targetEndScrollOffset = scrollOffset + dart.notNull(remainingExtent);
      let layout = this[_gridDelegate].getLayout(this.constraints);
      let firstIndex = layout.getMinChildIndexForScrollOffset(scrollOffset);
      let targetLastIndex = targetEndScrollOffset[$isFinite] ? layout.getMaxChildIndexForScrollOffset(targetEndScrollOffset) : null;
      if (this.firstChild != null) {
        let oldFirstIndex = this.indexOf(this.firstChild);
        let oldLastIndex = this.indexOf(this.lastChild);
        let leadingGarbage = dart.asInt((dart.notNull(firstIndex) - dart.notNull(oldFirstIndex))[$clamp](0, this.childCount));
        let trailingGarbage = targetLastIndex == null ? 0 : dart.asInt((dart.notNull(oldLastIndex) - dart.notNull(targetLastIndex))[$clamp](0, this.childCount));
        this.collectGarbage(leadingGarbage, trailingGarbage);
      } else {
        this.collectGarbage(0, 0);
      }
      let firstChildGridGeometry = layout.getGeometryForChildIndex(firstIndex);
      let leadingScrollOffset = firstChildGridGeometry.scrollOffset;
      let trailingScrollOffset = firstChildGridGeometry.trailingScrollOffset;
      if (this.firstChild == null) {
        if (!dart.test(this.addInitialChild({index: firstIndex, layoutOffset: firstChildGridGeometry.scrollOffset}))) {
          let max = layout.computeMaxScrollOffset(this.childManager.childCount);
          this.geometry = new sliver$.SliverGeometry.new({scrollExtent: max, maxPaintExtent: max});
          this.childManager.didFinishLayout();
          return;
        }
      }
      let trailingChildWithLayout = null;
      for (let index = dart.notNull(this.indexOf(this.firstChild)) - 1; index >= dart.notNull(firstIndex); index = index - 1) {
        let gridGeometry = layout.getGeometryForChildIndex(index);
        let child = this.insertAndLayoutLeadingChild(gridGeometry.getBoxConstraints(this.constraints));
        let childParentData = sliver_grid.SliverGridParentData.as(child.parentData);
        childParentData.layoutOffset = gridGeometry.scrollOffset;
        childParentData.crossAxisOffset = gridGeometry.crossAxisOffset;
        if (!(childParentData.index === index)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 568, 14, "childParentData.index == index");
        trailingChildWithLayout == null ? trailingChildWithLayout = child : null;
        trailingScrollOffset = math.max(core.double, trailingScrollOffset, gridGeometry.trailingScrollOffset);
      }
      if (trailingChildWithLayout == null) {
        this.firstChild.layout(firstChildGridGeometry.getBoxConstraints(this.constraints));
        let childParentData = sliver_grid.SliverGridParentData.as(this.firstChild.parentData);
        childParentData.layoutOffset = firstChildGridGeometry.scrollOffset;
        childParentData.crossAxisOffset = firstChildGridGeometry.crossAxisOffset;
        trailingChildWithLayout = this.firstChild;
      }
      for (let index = dart.notNull(this.indexOf(trailingChildWithLayout)) + 1; targetLastIndex == null || index <= dart.notNull(targetLastIndex); index = index + 1) {
        let gridGeometry = layout.getGeometryForChildIndex(index);
        let childConstraints = gridGeometry.getBoxConstraints(this.constraints);
        let child = this.childAfter(trailingChildWithLayout);
        if (child == null || this.indexOf(child) !== index) {
          child = this.insertAndLayoutChild(childConstraints, {after: trailingChildWithLayout});
          if (child == null) {
            break;
          }
        } else {
          child.layout(childConstraints);
        }
        trailingChildWithLayout = child;
        if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 595, 14, "child != null");
        let childParentData = sliver_grid.SliverGridParentData.as(child.parentData);
        childParentData.layoutOffset = gridGeometry.scrollOffset;
        childParentData.crossAxisOffset = gridGeometry.crossAxisOffset;
        if (!(childParentData.index === index)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 599, 14, "childParentData.index == index");
        trailingScrollOffset = math.max(core.double, trailingScrollOffset, gridGeometry.trailingScrollOffset);
      }
      let lastIndex = this.indexOf(this.lastChild);
      if (!(dart.notNull(this.childScrollOffset(this.firstChild)) <= scrollOffset)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 605, 12, "childScrollOffset(firstChild) <= scrollOffset");
      if (!dart.test(this.debugAssertChildListIsNonEmptyAndContiguous())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 606, 12, "debugAssertChildListIsNonEmptyAndContiguous()");
      if (!(this.indexOf(this.firstChild) == firstIndex)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 607, 12, "indexOf(firstChild) == firstIndex");
      if (!(targetLastIndex == null || dart.notNull(lastIndex) <= dart.notNull(targetLastIndex))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 608, 12, "targetLastIndex == null || lastIndex <= targetLastIndex");
      let estimatedTotalExtent = this.childManager.estimateMaxScrollOffset(this.constraints, {firstIndex: firstIndex, lastIndex: lastIndex, leadingScrollOffset: leadingScrollOffset, trailingScrollOffset: trailingScrollOffset});
      let paintExtent = this.calculatePaintOffset(this.constraints, {from: leadingScrollOffset, to: trailingScrollOffset});
      let cacheExtent = this.calculateCacheOffset(this.constraints, {from: leadingScrollOffset, to: trailingScrollOffset});
      this.geometry = new sliver$.SliverGeometry.new({scrollExtent: estimatedTotalExtent, paintExtent: paintExtent, maxPaintExtent: estimatedTotalExtent, cacheExtent: cacheExtent, hasVisualOverflow: true});
      if (estimatedTotalExtent == trailingScrollOffset) this.childManager.setDidUnderflow(true);
      this.childManager.didFinishLayout();
    }
  };
  (sliver_grid.RenderSliverGrid.new = function(opts) {
    let childManager = opts && 'childManager' in opts ? opts.childManager : null;
    let gridDelegate = opts && 'gridDelegate' in opts ? opts.gridDelegate : null;
    if (!(gridDelegate != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_grid.dart", 483, 15, "gridDelegate != null");
    this[_gridDelegate] = gridDelegate;
    sliver_grid.RenderSliverGrid.__proto__.new.call(this, {childManager: childManager});
    ;
  }).prototype = sliver_grid.RenderSliverGrid.prototype;
  dart.addTypeTests(sliver_grid.RenderSliverGrid);
  dart.setMethodSignature(sliver_grid.RenderSliverGrid, () => ({
    __proto__: dart.getMethods(sliver_grid.RenderSliverGrid.__proto__),
    performLayout: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(sliver_grid.RenderSliverGrid, () => ({
    __proto__: dart.getGetters(sliver_grid.RenderSliverGrid.__proto__),
    gridDelegate: sliver_grid.SliverGridDelegate
  }));
  dart.setSetterSignature(sliver_grid.RenderSliverGrid, () => ({
    __proto__: dart.getSetters(sliver_grid.RenderSliverGrid.__proto__),
    gridDelegate: sliver_grid.SliverGridDelegate
  }));
  dart.setLibraryUri(sliver_grid.RenderSliverGrid, "package:flutter/src/rendering/sliver_grid.dart");
  dart.setFieldSignature(sliver_grid.RenderSliverGrid, () => ({
    __proto__: dart.getFields(sliver_grid.RenderSliverGrid.__proto__),
    [_gridDelegate]: dart.fieldType(sliver_grid.SliverGridDelegate)
  }));
  sliver_multi_box_adaptor.RenderSliverBoxChildManager = class RenderSliverBoxChildManager extends core.Object {
    didStartLayout() {
    }
    didFinishLayout() {
    }
    debugAssertChildListLocked() {
      return true;
    }
  };
  (sliver_multi_box_adaptor.RenderSliverBoxChildManager.new = function() {
    ;
  }).prototype = sliver_multi_box_adaptor.RenderSliverBoxChildManager.prototype;
  dart.addTypeTests(sliver_multi_box_adaptor.RenderSliverBoxChildManager);
  dart.setMethodSignature(sliver_multi_box_adaptor.RenderSliverBoxChildManager, () => ({
    __proto__: dart.getMethods(sliver_multi_box_adaptor.RenderSliverBoxChildManager.__proto__),
    didStartLayout: dart.fnType(dart.void, []),
    didFinishLayout: dart.fnType(dart.void, []),
    debugAssertChildListLocked: dart.fnType(core.bool, [])
  }));
  dart.setLibraryUri(sliver_multi_box_adaptor.RenderSliverBoxChildManager, "package:flutter/src/rendering/sliver_multi_box_adaptor.dart");
  let C124;
  sliver$.GrowthDirection = class GrowthDirection extends core.Object {
    toString() {
      return this[_name$11];
    }
  };
  (sliver$.GrowthDirection.new = function(index, _name) {
    this.index = index;
    this[_name$11] = _name;
    ;
  }).prototype = sliver$.GrowthDirection.prototype;
  dart.addTypeTests(sliver$.GrowthDirection);
  dart.setLibraryUri(sliver$.GrowthDirection, "package:flutter/src/rendering/sliver.dart");
  dart.setFieldSignature(sliver$.GrowthDirection, () => ({
    __proto__: dart.getFields(sliver$.GrowthDirection.__proto__),
    index: dart.finalFieldType(core.int),
    [_name$11]: dart.finalFieldType(core.String)
  }));
  dart.defineExtensionMethods(sliver$.GrowthDirection, ['toString']);
  sliver$.GrowthDirection.forward = C121 || CT.C121;
  sliver$.GrowthDirection.reverse = C122 || CT.C122;
  sliver$.GrowthDirection.values = C124 || CT.C124;
  const axisDirection$ = dart.privateName(sliver$, "SliverConstraints.axisDirection");
  const growthDirection$ = dart.privateName(sliver$, "SliverConstraints.growthDirection");
  const userScrollDirection$ = dart.privateName(sliver$, "SliverConstraints.userScrollDirection");
  const scrollOffset$0 = dart.privateName(sliver$, "SliverConstraints.scrollOffset");
  const precedingScrollExtent$ = dart.privateName(sliver$, "SliverConstraints.precedingScrollExtent");
  const overlap$ = dart.privateName(sliver$, "SliverConstraints.overlap");
  const remainingPaintExtent$ = dart.privateName(sliver$, "SliverConstraints.remainingPaintExtent");
  const crossAxisExtent$0 = dart.privateName(sliver$, "SliverConstraints.crossAxisExtent");
  const crossAxisDirection$ = dart.privateName(sliver$, "SliverConstraints.crossAxisDirection");
  const viewportMainAxisExtent$ = dart.privateName(sliver$, "SliverConstraints.viewportMainAxisExtent");
  const cacheOrigin$ = dart.privateName(sliver$, "SliverConstraints.cacheOrigin");
  const remainingCacheExtent$ = dart.privateName(sliver$, "SliverConstraints.remainingCacheExtent");
  sliver$.SliverConstraints = class SliverConstraints extends object$.Constraints {
    get axisDirection() {
      return this[axisDirection$];
    }
    set axisDirection(value) {
      super.axisDirection = value;
    }
    get growthDirection() {
      return this[growthDirection$];
    }
    set growthDirection(value) {
      super.growthDirection = value;
    }
    get userScrollDirection() {
      return this[userScrollDirection$];
    }
    set userScrollDirection(value) {
      super.userScrollDirection = value;
    }
    get scrollOffset() {
      return this[scrollOffset$0];
    }
    set scrollOffset(value) {
      super.scrollOffset = value;
    }
    get precedingScrollExtent() {
      return this[precedingScrollExtent$];
    }
    set precedingScrollExtent(value) {
      super.precedingScrollExtent = value;
    }
    get overlap() {
      return this[overlap$];
    }
    set overlap(value) {
      super.overlap = value;
    }
    get remainingPaintExtent() {
      return this[remainingPaintExtent$];
    }
    set remainingPaintExtent(value) {
      super.remainingPaintExtent = value;
    }
    get crossAxisExtent() {
      return this[crossAxisExtent$0];
    }
    set crossAxisExtent(value) {
      super.crossAxisExtent = value;
    }
    get crossAxisDirection() {
      return this[crossAxisDirection$];
    }
    set crossAxisDirection(value) {
      super.crossAxisDirection = value;
    }
    get viewportMainAxisExtent() {
      return this[viewportMainAxisExtent$];
    }
    set viewportMainAxisExtent(value) {
      super.viewportMainAxisExtent = value;
    }
    get cacheOrigin() {
      return this[cacheOrigin$];
    }
    set cacheOrigin(value) {
      super.cacheOrigin = value;
    }
    get remainingCacheExtent() {
      return this[remainingCacheExtent$];
    }
    set remainingCacheExtent(value) {
      super.remainingCacheExtent = value;
    }
    copyWith(opts) {
      let t18, t18$, t18$0, t18$1, t18$2, t18$3, t18$4, t18$5, t18$6, t18$7, t18$8, t18$9;
      let axisDirection = opts && 'axisDirection' in opts ? opts.axisDirection : null;
      let growthDirection = opts && 'growthDirection' in opts ? opts.growthDirection : null;
      let userScrollDirection = opts && 'userScrollDirection' in opts ? opts.userScrollDirection : null;
      let scrollOffset = opts && 'scrollOffset' in opts ? opts.scrollOffset : null;
      let precedingScrollExtent = opts && 'precedingScrollExtent' in opts ? opts.precedingScrollExtent : null;
      let overlap = opts && 'overlap' in opts ? opts.overlap : null;
      let remainingPaintExtent = opts && 'remainingPaintExtent' in opts ? opts.remainingPaintExtent : null;
      let crossAxisExtent = opts && 'crossAxisExtent' in opts ? opts.crossAxisExtent : null;
      let crossAxisDirection = opts && 'crossAxisDirection' in opts ? opts.crossAxisDirection : null;
      let viewportMainAxisExtent = opts && 'viewportMainAxisExtent' in opts ? opts.viewportMainAxisExtent : null;
      let remainingCacheExtent = opts && 'remainingCacheExtent' in opts ? opts.remainingCacheExtent : null;
      let cacheOrigin = opts && 'cacheOrigin' in opts ? opts.cacheOrigin : null;
      return new sliver$.SliverConstraints.new({axisDirection: (t18 = axisDirection, t18 == null ? this.axisDirection : t18), growthDirection: (t18$ = growthDirection, t18$ == null ? this.growthDirection : t18$), userScrollDirection: (t18$0 = userScrollDirection, t18$0 == null ? this.userScrollDirection : t18$0), scrollOffset: (t18$1 = scrollOffset, t18$1 == null ? this.scrollOffset : t18$1), precedingScrollExtent: (t18$2 = precedingScrollExtent, t18$2 == null ? this.precedingScrollExtent : t18$2), overlap: (t18$3 = overlap, t18$3 == null ? this.overlap : t18$3), remainingPaintExtent: (t18$4 = remainingPaintExtent, t18$4 == null ? this.remainingPaintExtent : t18$4), crossAxisExtent: (t18$5 = crossAxisExtent, t18$5 == null ? this.crossAxisExtent : t18$5), crossAxisDirection: (t18$6 = crossAxisDirection, t18$6 == null ? this.crossAxisDirection : t18$6), viewportMainAxisExtent: (t18$7 = viewportMainAxisExtent, t18$7 == null ? this.viewportMainAxisExtent : t18$7), remainingCacheExtent: (t18$8 = remainingCacheExtent, t18$8 == null ? this.remainingCacheExtent : t18$8), cacheOrigin: (t18$9 = cacheOrigin, t18$9 == null ? this.cacheOrigin : t18$9)});
    }
    get axis() {
      return basic_types$.axisDirectionToAxis(this.axisDirection);
    }
    get normalizedGrowthDirection() {
      if (!(this.axisDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 348, 12, "axisDirection != null");
      switch (this.axisDirection) {
        case C118 || CT.C118:
        case C117 || CT.C117:
        {
          return this.growthDirection;
        }
        case C116 || CT.C116:
        case C120 || CT.C120:
        {
          switch (this.growthDirection) {
            case C121 || CT.C121:
            {
              return sliver$.GrowthDirection.reverse;
            }
            case C122 || CT.C122:
            {
              return sliver$.GrowthDirection.forward;
            }
          }
          return null;
        }
      }
      return null;
    }
    get isTight() {
      return false;
    }
    get isNormalized() {
      return dart.notNull(this.scrollOffset) >= 0.0 && dart.notNull(this.crossAxisExtent) >= 0.0 && !dart.equals(basic_types$.axisDirectionToAxis(this.axisDirection), basic_types$.axisDirectionToAxis(this.crossAxisDirection)) && dart.notNull(this.viewportMainAxisExtent) >= 0.0 && dart.notNull(this.remainingPaintExtent) >= 0.0;
    }
    asBoxConstraints(opts) {
      let minExtent = opts && 'minExtent' in opts ? opts.minExtent : 0;
      let maxExtent = opts && 'maxExtent' in opts ? opts.maxExtent : 1 / 0;
      let crossAxisExtent = opts && 'crossAxisExtent' in opts ? opts.crossAxisExtent : null;
      crossAxisExtent == null ? crossAxisExtent = this.crossAxisExtent : null;
      switch (this.axis) {
        case C30 || CT.C30:
        {
          return new box.BoxConstraints.new({minHeight: crossAxisExtent, maxHeight: crossAxisExtent, minWidth: minExtent, maxWidth: maxExtent});
        }
        case C31 || CT.C31:
        {
          return new box.BoxConstraints.new({minWidth: crossAxisExtent, maxWidth: crossAxisExtent, minHeight: minExtent, maxHeight: maxExtent});
        }
      }
      return null;
    }
    debugAssertIsValid(opts) {
      let isAppliedConstraint = opts && 'isAppliedConstraint' in opts ? opts.isAppliedConstraint : false;
      let informationCollector = opts && 'informationCollector' in opts ? opts.informationCollector : null;
      if (!dart.test(dart.fn(() => {
        let hasErrors = false;
        let errorMessage = new core.StringBuffer.new("\n");
        function verify(check, message) {
          if (dart.test(check)) return;
          hasErrors = true;
          errorMessage.writeln("  " + dart.str(message));
        }
        dart.fn(verify, boolAndStringTovoid());
        function verifyDouble(property, name, opts) {
          let mustBeNegative = opts && 'mustBeNegative' in opts ? opts.mustBeNegative : false;
          let mustBePositive = opts && 'mustBePositive' in opts ? opts.mustBePositive : false;
          verify(property != null, "The \"" + dart.str(name) + "\" is null.");
          if (property[$isNaN]) {
            let additional = ".";
            if (dart.test(mustBePositive)) {
              additional = ", expected greater than or equal to zero.";
            } else if (dart.test(mustBeNegative)) {
              additional = ", expected less than or equal to zero.";
            }
            verify(false, "The \"" + dart.str(name) + "\" is NaN" + additional);
          } else if (dart.test(mustBePositive)) {
            verify(dart.notNull(property) >= 0.0, "The \"" + dart.str(name) + "\" is negative.");
          } else if (dart.test(mustBeNegative)) {
            verify(dart.notNull(property) <= 0.0, "The \"" + dart.str(name) + "\" is positive.");
          }
        }
        dart.fn(verifyDouble, doubleAndString__Tovoid());
        verify(this.axis != null, "The \"axis\" is null.");
        verify(this.growthDirection != null, "The \"growthDirection\" is null.");
        verifyDouble(this.scrollOffset, "scrollOffset");
        verifyDouble(this.overlap, "overlap");
        verifyDouble(this.crossAxisExtent, "crossAxisExtent");
        verifyDouble(this.scrollOffset, "scrollOffset", {mustBePositive: true});
        verify(this.crossAxisDirection != null, "The \"crossAxisDirection\" is null.");
        verify(!dart.equals(basic_types$.axisDirectionToAxis(this.axisDirection), basic_types$.axisDirectionToAxis(this.crossAxisDirection)), "The \"axisDirection\" and the \"crossAxisDirection\" are along the same axis.");
        verifyDouble(this.viewportMainAxisExtent, "viewportMainAxisExtent", {mustBePositive: true});
        verifyDouble(this.remainingPaintExtent, "remainingPaintExtent", {mustBePositive: true});
        verifyDouble(this.remainingCacheExtent, "remainingCacheExtent", {mustBePositive: true});
        verifyDouble(this.cacheOrigin, "cacheOrigin", {mustBeNegative: true});
        verifyDouble(this.precedingScrollExtent, "precedingScrollExtent", {mustBePositive: true});
        verify(this.isNormalized, "The constraints are not normalized.");
        if (hasErrors) {
          dart.throw(new assertions.FlutterError.fromParts((() => {
            let t18 = JSArrayOfDiagnosticsNode().of([]);
            t18[$add](new assertions.ErrorSummary.new(dart.str(this[$runtimeType]) + " is not valid: " + dart.str(errorMessage)));
            if (informationCollector != null) for (let t19 of informationCollector())
              t18[$add](t19);
            t18[$add](new (DiagnosticsPropertyOfSliverConstraints()).new("The offending constraints were", this, {style: diagnostics.DiagnosticsTreeStyle.errorProperty}));
            return t18;
          })()));
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 416, 12, "() {\r\n      bool hasErrors = false;\r\n      final StringBuffer errorMessage = StringBuffer('\\n');\r\n      void verify(bool check, String message) {\r\n        if (check)\r\n          return;\r\n        hasErrors = true;\r\n        errorMessage.writeln('  $message');\r\n      }\r\n      void verifyDouble(double property, String name, {bool mustBePositive = false, bool mustBeNegative = false}) {\r\n        verify(property != null, 'The \"$name\" is null.');\r\n        if (property.isNaN) {\r\n          String additional = '.';\r\n          if (mustBePositive) {\r\n            additional = ', expected greater than or equal to zero.';\r\n          } else if (mustBeNegative) {\r\n            additional = ', expected less than or equal to zero.';\r\n          }\r\n          verify(false, 'The \"$name\" is NaN$additional');\r\n        } else if (mustBePositive) {\r\n          verify(property >= 0.0, 'The \"$name\" is negative.');\r\n        } else if (mustBeNegative) {\r\n          verify(property <= 0.0, 'The \"$name\" is positive.');\r\n        }\r\n      }\r\n      verify(axis != null, 'The \"axis\" is null.');\r\n      verify(growthDirection != null, 'The \"growthDirection\" is null.');\r\n      verifyDouble(scrollOffset, 'scrollOffset');\r\n      verifyDouble(overlap, 'overlap');\r\n      verifyDouble(crossAxisExtent, 'crossAxisExtent');\r\n      verifyDouble(scrollOffset, 'scrollOffset', mustBePositive: true);\r\n      verify(crossAxisDirection != null, 'The \"crossAxisDirection\" is null.');\r\n      verify(axisDirectionToAxis(axisDirection) != axisDirectionToAxis(crossAxisDirection), 'The \"axisDirection\" and the \"crossAxisDirection\" are along the same axis.');\r\n      verifyDouble(viewportMainAxisExtent, 'viewportMainAxisExtent', mustBePositive: true);\r\n      verifyDouble(remainingPaintExtent, 'remainingPaintExtent', mustBePositive: true);\r\n      verifyDouble(remainingCacheExtent, 'remainingCacheExtent', mustBePositive: true);\r\n      verifyDouble(cacheOrigin, 'cacheOrigin', mustBeNegative: true);\r\n      verifyDouble(precedingScrollExtent, 'precedingScrollExtent', mustBePositive: true);\r\n      verify(isNormalized, 'The constraints are not normalized.'); // should be redundant with earlier checks\r\n      if (hasErrors) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('$runtimeType is not valid: $errorMessage'),\r\n          if (informationCollector != null)\r\n            ...informationCollector(),\r\n          DiagnosticsProperty<SliverConstraints>('The offending constraints were', this, style: DiagnosticsTreeStyle.errorProperty),\r\n        ]);\r\n      }\r\n      return true;\r\n    }()");
      return true;
    }
    _equals(other) {
      if (other == null) return false;
      if (this === other) return true;
      if (!sliver$.SliverConstraints.is(other)) return false;
      if (!(sliver$.SliverConstraints.is(other) && dart.test(other.debugAssertIsValid()))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 474, 12, "other is SliverConstraints && other.debugAssertIsValid()");
      return sliver$.SliverConstraints.is(other) && dart.equals(other.axisDirection, this.axisDirection) && dart.equals(other.growthDirection, this.growthDirection) && other.scrollOffset == this.scrollOffset && other.overlap == this.overlap && other.remainingPaintExtent == this.remainingPaintExtent && other.crossAxisExtent == this.crossAxisExtent && dart.equals(other.crossAxisDirection, this.crossAxisDirection) && other.viewportMainAxisExtent == this.viewportMainAxisExtent && other.remainingCacheExtent == this.remainingCacheExtent && other.cacheOrigin == this.cacheOrigin;
    }
    get hashCode() {
      return ui.hashValues(this.axisDirection, this.growthDirection, this.scrollOffset, this.overlap, this.remainingPaintExtent, this.crossAxisExtent, this.crossAxisDirection, this.viewportMainAxisExtent, this.remainingCacheExtent, this.cacheOrigin);
    }
    toString() {
      let properties = (() => {
        let t20 = JSArrayOfString().of([]);
        t20[$add](dart.str(this.axisDirection));
        t20[$add](dart.str(this.growthDirection));
        t20[$add](dart.str(this.userScrollDirection));
        t20[$add]("scrollOffset: " + this.scrollOffset[$toStringAsFixed](1));
        t20[$add]("remainingPaintExtent: " + this.remainingPaintExtent[$toStringAsFixed](1));
        if (this.overlap !== 0.0) t20[$add]("overlap: " + this.overlap[$toStringAsFixed](1));
        t20[$add]("crossAxisExtent: " + this.crossAxisExtent[$toStringAsFixed](1));
        t20[$add]("crossAxisDirection: " + dart.str(this.crossAxisDirection));
        t20[$add]("viewportMainAxisExtent: " + this.viewportMainAxisExtent[$toStringAsFixed](1));
        t20[$add]("remainingCacheExtent: " + this.remainingCacheExtent[$toStringAsFixed](1));
        t20[$add]("cacheOrigin: " + this.cacheOrigin[$toStringAsFixed](1));
        return t20;
      })();
      return "SliverConstraints(" + dart.str(properties[$join](", ")) + ")";
    }
  };
  (sliver$.SliverConstraints.new = function(opts) {
    let axisDirection = opts && 'axisDirection' in opts ? opts.axisDirection : null;
    let growthDirection = opts && 'growthDirection' in opts ? opts.growthDirection : null;
    let userScrollDirection = opts && 'userScrollDirection' in opts ? opts.userScrollDirection : null;
    let scrollOffset = opts && 'scrollOffset' in opts ? opts.scrollOffset : null;
    let precedingScrollExtent = opts && 'precedingScrollExtent' in opts ? opts.precedingScrollExtent : null;
    let overlap = opts && 'overlap' in opts ? opts.overlap : null;
    let remainingPaintExtent = opts && 'remainingPaintExtent' in opts ? opts.remainingPaintExtent : null;
    let crossAxisExtent = opts && 'crossAxisExtent' in opts ? opts.crossAxisExtent : null;
    let crossAxisDirection = opts && 'crossAxisDirection' in opts ? opts.crossAxisDirection : null;
    let viewportMainAxisExtent = opts && 'viewportMainAxisExtent' in opts ? opts.viewportMainAxisExtent : null;
    let remainingCacheExtent = opts && 'remainingCacheExtent' in opts ? opts.remainingCacheExtent : null;
    let cacheOrigin = opts && 'cacheOrigin' in opts ? opts.cacheOrigin : null;
    this[axisDirection$] = axisDirection;
    this[growthDirection$] = growthDirection;
    this[userScrollDirection$] = userScrollDirection;
    this[scrollOffset$0] = scrollOffset;
    this[precedingScrollExtent$] = precedingScrollExtent;
    this[overlap$] = overlap;
    this[remainingPaintExtent$] = remainingPaintExtent;
    this[crossAxisExtent$0] = crossAxisExtent;
    this[crossAxisDirection$] = crossAxisDirection;
    this[viewportMainAxisExtent$] = viewportMainAxisExtent;
    this[remainingCacheExtent$] = remainingCacheExtent;
    this[cacheOrigin$] = cacheOrigin;
    if (!(axisDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 110, 15, "axisDirection != null");
    if (!(growthDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 111, 15, "growthDirection != null");
    if (!(userScrollDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 112, 15, "userScrollDirection != null");
    if (!(scrollOffset != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 113, 15, "scrollOffset != null");
    if (!(precedingScrollExtent != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 114, 15, "precedingScrollExtent != null");
    if (!(overlap != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 115, 15, "overlap != null");
    if (!(remainingPaintExtent != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 116, 15, "remainingPaintExtent != null");
    if (!(crossAxisExtent != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 117, 15, "crossAxisExtent != null");
    if (!(crossAxisDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 118, 15, "crossAxisDirection != null");
    if (!(viewportMainAxisExtent != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 119, 15, "viewportMainAxisExtent != null");
    if (!(remainingCacheExtent != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 120, 15, "remainingCacheExtent != null");
    if (!(cacheOrigin != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 121, 15, "cacheOrigin != null");
    sliver$.SliverConstraints.__proto__.new.call(this);
    ;
  }).prototype = sliver$.SliverConstraints.prototype;
  dart.addTypeTests(sliver$.SliverConstraints);
  dart.setMethodSignature(sliver$.SliverConstraints, () => ({
    __proto__: dart.getMethods(sliver$.SliverConstraints.__proto__),
    copyWith: dart.fnType(sliver$.SliverConstraints, [], {axisDirection: basic_types$.AxisDirection, cacheOrigin: core.double, crossAxisDirection: basic_types$.AxisDirection, crossAxisExtent: core.double, growthDirection: sliver$.GrowthDirection, overlap: core.double, precedingScrollExtent: core.double, remainingCacheExtent: core.double, remainingPaintExtent: core.double, scrollOffset: core.double, userScrollDirection: viewport_offset.ScrollDirection, viewportMainAxisExtent: core.double}, {}),
    asBoxConstraints: dart.fnType(box.BoxConstraints, [], {crossAxisExtent: core.double, maxExtent: core.double, minExtent: core.double}, {}),
    _equals: dart.fnType(core.bool, [core.Object]),
    [$_equals]: dart.fnType(core.bool, [core.Object])
  }));
  dart.setGetterSignature(sliver$.SliverConstraints, () => ({
    __proto__: dart.getGetters(sliver$.SliverConstraints.__proto__),
    axis: basic_types$.Axis,
    normalizedGrowthDirection: sliver$.GrowthDirection,
    isTight: core.bool,
    isNormalized: core.bool
  }));
  dart.setLibraryUri(sliver$.SliverConstraints, "package:flutter/src/rendering/sliver.dart");
  dart.setFieldSignature(sliver$.SliverConstraints, () => ({
    __proto__: dart.getFields(sliver$.SliverConstraints.__proto__),
    axisDirection: dart.finalFieldType(basic_types$.AxisDirection),
    growthDirection: dart.finalFieldType(sliver$.GrowthDirection),
    userScrollDirection: dart.finalFieldType(viewport_offset.ScrollDirection),
    scrollOffset: dart.finalFieldType(core.double),
    precedingScrollExtent: dart.finalFieldType(core.double),
    overlap: dart.finalFieldType(core.double),
    remainingPaintExtent: dart.finalFieldType(core.double),
    crossAxisExtent: dart.finalFieldType(core.double),
    crossAxisDirection: dart.finalFieldType(basic_types$.AxisDirection),
    viewportMainAxisExtent: dart.finalFieldType(core.double),
    cacheOrigin: dart.finalFieldType(core.double),
    remainingCacheExtent: dart.finalFieldType(core.double)
  }));
  dart.defineExtensionMethods(sliver$.SliverConstraints, ['_equals', 'toString']);
  dart.defineExtensionAccessors(sliver$.SliverConstraints, ['hashCode']);
  const scrollExtent$ = dart.privateName(sliver$, "SliverGeometry.scrollExtent");
  const paintOrigin$ = dart.privateName(sliver$, "SliverGeometry.paintOrigin");
  const paintExtent$ = dart.privateName(sliver$, "SliverGeometry.paintExtent");
  const layoutExtent$ = dart.privateName(sliver$, "SliverGeometry.layoutExtent");
  const maxPaintExtent$ = dart.privateName(sliver$, "SliverGeometry.maxPaintExtent");
  const maxScrollObstructionExtent$ = dart.privateName(sliver$, "SliverGeometry.maxScrollObstructionExtent");
  const hitTestExtent$ = dart.privateName(sliver$, "SliverGeometry.hitTestExtent");
  const visible$ = dart.privateName(sliver$, "SliverGeometry.visible");
  const hasVisualOverflow$ = dart.privateName(sliver$, "SliverGeometry.hasVisualOverflow");
  const scrollOffsetCorrection$ = dart.privateName(sliver$, "SliverGeometry.scrollOffsetCorrection");
  const cacheExtent$ = dart.privateName(sliver$, "SliverGeometry.cacheExtent");
  let C125;
  sliver$.SliverGeometry = class SliverGeometry extends diagnostics.Diagnosticable {
    get scrollExtent() {
      return this[scrollExtent$];
    }
    set scrollExtent(value) {
      super.scrollExtent = value;
    }
    get paintOrigin() {
      return this[paintOrigin$];
    }
    set paintOrigin(value) {
      super.paintOrigin = value;
    }
    get paintExtent() {
      return this[paintExtent$];
    }
    set paintExtent(value) {
      super.paintExtent = value;
    }
    get layoutExtent() {
      return this[layoutExtent$];
    }
    set layoutExtent(value) {
      super.layoutExtent = value;
    }
    get maxPaintExtent() {
      return this[maxPaintExtent$];
    }
    set maxPaintExtent(value) {
      super.maxPaintExtent = value;
    }
    get maxScrollObstructionExtent() {
      return this[maxScrollObstructionExtent$];
    }
    set maxScrollObstructionExtent(value) {
      super.maxScrollObstructionExtent = value;
    }
    get hitTestExtent() {
      return this[hitTestExtent$];
    }
    set hitTestExtent(value) {
      super.hitTestExtent = value;
    }
    get visible() {
      return this[visible$];
    }
    set visible(value) {
      super.visible = value;
    }
    get hasVisualOverflow() {
      return this[hasVisualOverflow$];
    }
    set hasVisualOverflow(value) {
      super.hasVisualOverflow = value;
    }
    get scrollOffsetCorrection() {
      return this[scrollOffsetCorrection$];
    }
    set scrollOffsetCorrection(value) {
      super.scrollOffsetCorrection = value;
    }
    get cacheExtent() {
      return this[cacheExtent$];
    }
    set cacheExtent(value) {
      super.cacheExtent = value;
    }
    debugAssertIsValid(opts) {
      let informationCollector = opts && 'informationCollector' in opts ? opts.informationCollector : null;
      if (!dart.test(dart.fn(() => {
        let t25;
        const verify = (check, summary, opts) => {
          let details = opts && 'details' in opts ? opts.details : null;
          if (dart.test(check)) return;
          dart.throw(new assertions.FlutterError.fromParts((() => {
            let t21 = JSArrayOfDiagnosticsNode().of([]);
            t21[$add](new assertions.ErrorSummary.new(dart.str(object.objectRuntimeType(this, "SliverGeometry")) + " is not valid: " + dart.str(summary)));
            let t22 = details;
            if (t22 != null) for (let t23 of t22)
              t21[$add](t23);
            if (informationCollector != null) for (let t24 of informationCollector())
              t21[$add](t24);
            return t21;
          })()));
        };
        dart.fn(verify, boolAndString__Tovoid());
        verify(this.scrollExtent != null, "The \"scrollExtent\" is null.");
        verify(dart.notNull(this.scrollExtent) >= 0.0, "The \"scrollExtent\" is negative.");
        verify(this.paintExtent != null, "The \"paintExtent\" is null.");
        verify(dart.notNull(this.paintExtent) >= 0.0, "The \"paintExtent\" is negative.");
        verify(this.paintOrigin != null, "The \"paintOrigin\" is null.");
        verify(this.layoutExtent != null, "The \"layoutExtent\" is null.");
        verify(dart.notNull(this.layoutExtent) >= 0.0, "The \"layoutExtent\" is negative.");
        verify(dart.notNull(this.cacheExtent) >= 0.0, "The \"cacheExtent\" is negative.");
        if (dart.notNull(this.layoutExtent) > dart.notNull(this.paintExtent)) {
          verify(false, "The \"layoutExtent\" exceeds the \"paintExtent\".", {details: sliver$._debugCompareFloats("paintExtent", this.paintExtent, "layoutExtent", this.layoutExtent)});
        }
        verify(this.maxPaintExtent != null, "The \"maxPaintExtent\" is null.");
        if (dart.notNull(this.paintExtent) - dart.notNull(this.maxPaintExtent) > 1e-10) {
          verify(false, "The \"maxPaintExtent\" is less than the \"paintExtent\".", {details: (t25 = sliver$._debugCompareFloats("maxPaintExtent", this.maxPaintExtent, "paintExtent", this.paintExtent), t25[$add](new assertions.ErrorDescription.new("By definition, a sliver can't paint more than the maximum that it can paint!")), t25)});
        }
        verify(this.hitTestExtent != null, "The \"hitTestExtent\" is null.");
        verify(dart.notNull(this.hitTestExtent) >= 0.0, "The \"hitTestExtent\" is negative.");
        verify(this.visible != null, "The \"visible\" property is null.");
        verify(this.hasVisualOverflow != null, "The \"hasVisualOverflow\" is null.");
        verify(this.scrollOffsetCorrection !== 0.0, "The \"scrollOffsetCorrection\" is zero.");
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 714, 12, "() {\r\n      void verify(bool check, String summary, {List<DiagnosticsNode> details}) {\r\n        if (check)\r\n          return;\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('${objectRuntimeType(this, 'SliverGeometry')} is not valid: $summary'),\r\n          ...?details,\r\n          if (informationCollector != null)\r\n            ...informationCollector(),\r\n        ]);\r\n      }\r\n\r\n      verify(scrollExtent != null, 'The \"scrollExtent\" is null.');\r\n      verify(scrollExtent >= 0.0, 'The \"scrollExtent\" is negative.');\r\n      verify(paintExtent != null, 'The \"paintExtent\" is null.');\r\n      verify(paintExtent >= 0.0, 'The \"paintExtent\" is negative.');\r\n      verify(paintOrigin != null, 'The \"paintOrigin\" is null.');\r\n      verify(layoutExtent != null, 'The \"layoutExtent\" is null.');\r\n      verify(layoutExtent >= 0.0, 'The \"layoutExtent\" is negative.');\r\n      verify(cacheExtent >= 0.0, 'The \"cacheExtent\" is negative.');\r\n      if (layoutExtent > paintExtent) {\r\n        verify(false,\r\n          'The \"layoutExtent\" exceeds the \"paintExtent\".',\r\n          details: _debugCompareFloats('paintExtent', paintExtent, 'layoutExtent', layoutExtent),\r\n        );\r\n      }\r\n      verify(maxPaintExtent != null, 'The \"maxPaintExtent\" is null.');\r\n      // If the paintExtent is slightly more than the maxPaintExtent, but the difference is still less\r\n      // than precisionErrorTolerance, we will not throw the assert below.\r\n      if (paintExtent - maxPaintExtent > precisionErrorTolerance) {\r\n        verify(false,\r\n          'The \"maxPaintExtent\" is less than the \"paintExtent\".',\r\n          details:\r\n            _debugCompareFloats('maxPaintExtent', maxPaintExtent, 'paintExtent', paintExtent)\r\n              ..add(ErrorDescription('By definition, a sliver can\\'t paint more than the maximum that it can paint!')),\r\n        );\r\n      }\r\n      verify(hitTestExtent != null, 'The \"hitTestExtent\" is null.');\r\n      verify(hitTestExtent >= 0.0, 'The \"hitTestExtent\" is negative.');\r\n      verify(visible != null, 'The \"visible\" property is null.');\r\n      verify(hasVisualOverflow != null, 'The \"hasVisualOverflow\" is null.');\r\n      verify(scrollOffsetCorrection != 0.0, 'The \"scrollOffsetCorrection\" is zero.');\r\n      return true;\r\n    }()");
      return true;
    }
    toStringShort() {
      return dart.str(object.objectRuntimeType(this, "SliverGeometry"));
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new diagnostics.DoubleProperty.new("scrollExtent", this.scrollExtent));
      if (dart.notNull(this.paintExtent) > 0.0) {
        properties.add(new diagnostics.DoubleProperty.new("paintExtent", this.paintExtent, {unit: dart.test(this.visible) ? null : " but not painting"}));
      } else if (this.paintExtent === 0.0) {
        if (dart.test(this.visible)) {
          properties.add(new diagnostics.DoubleProperty.new("paintExtent", this.paintExtent, {unit: dart.test(this.visible) ? null : " but visible"}));
        }
        properties.add(new diagnostics.FlagProperty.new("visible", {value: this.visible, ifFalse: "hidden"}));
      } else {
        properties.add(new diagnostics.DoubleProperty.new("paintExtent", this.paintExtent, {tooltip: "!"}));
      }
      properties.add(new diagnostics.DoubleProperty.new("paintOrigin", this.paintOrigin, {defaultValue: 0.0}));
      properties.add(new diagnostics.DoubleProperty.new("layoutExtent", this.layoutExtent, {defaultValue: this.paintExtent}));
      properties.add(new diagnostics.DoubleProperty.new("maxPaintExtent", this.maxPaintExtent));
      properties.add(new diagnostics.DoubleProperty.new("hitTestExtent", this.hitTestExtent, {defaultValue: this.paintExtent}));
      properties.add(new (DiagnosticsPropertyOfbool()).new("hasVisualOverflow", this.hasVisualOverflow, {defaultValue: false}));
      properties.add(new diagnostics.DoubleProperty.new("scrollOffsetCorrection", this.scrollOffsetCorrection, {defaultValue: null}));
      properties.add(new diagnostics.DoubleProperty.new("cacheExtent", this.cacheExtent, {defaultValue: 0.0}));
    }
  };
  (sliver$.SliverGeometry.new = function(opts) {
    let t21, t21$, t21$0, t21$1, t21$2;
    let scrollExtent = opts && 'scrollExtent' in opts ? opts.scrollExtent : 0;
    let paintExtent = opts && 'paintExtent' in opts ? opts.paintExtent : 0;
    let paintOrigin = opts && 'paintOrigin' in opts ? opts.paintOrigin : 0;
    let layoutExtent = opts && 'layoutExtent' in opts ? opts.layoutExtent : null;
    let maxPaintExtent = opts && 'maxPaintExtent' in opts ? opts.maxPaintExtent : 0;
    let maxScrollObstructionExtent = opts && 'maxScrollObstructionExtent' in opts ? opts.maxScrollObstructionExtent : 0;
    let hitTestExtent = opts && 'hitTestExtent' in opts ? opts.hitTestExtent : null;
    let visible = opts && 'visible' in opts ? opts.visible : null;
    let hasVisualOverflow = opts && 'hasVisualOverflow' in opts ? opts.hasVisualOverflow : false;
    let scrollOffsetCorrection = opts && 'scrollOffsetCorrection' in opts ? opts.scrollOffsetCorrection : null;
    let cacheExtent = opts && 'cacheExtent' in opts ? opts.cacheExtent : null;
    this[scrollExtent$] = scrollExtent;
    this[paintExtent$] = paintExtent;
    this[paintOrigin$] = paintOrigin;
    this[maxPaintExtent$] = maxPaintExtent;
    this[maxScrollObstructionExtent$] = maxScrollObstructionExtent;
    this[hasVisualOverflow$] = hasVisualOverflow;
    this[scrollOffsetCorrection$] = scrollOffsetCorrection;
    if (!(scrollExtent != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 549, 15, "scrollExtent != null");
    if (!(paintExtent != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 550, 15, "paintExtent != null");
    if (!(paintOrigin != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 551, 15, "paintOrigin != null");
    if (!(maxPaintExtent != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 552, 15, "maxPaintExtent != null");
    if (!(hasVisualOverflow != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 553, 15, "hasVisualOverflow != null");
    if (!(scrollOffsetCorrection !== 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 554, 15, "scrollOffsetCorrection != 0.0");
    this[layoutExtent$] = (t21 = layoutExtent, t21 == null ? paintExtent : t21);
    this[hitTestExtent$] = (t21$ = hitTestExtent, t21$ == null ? paintExtent : t21$);
    this[cacheExtent$] = (t21$1 = (t21$0 = cacheExtent, t21$0 == null ? layoutExtent : t21$0), t21$1 == null ? paintExtent : t21$1);
    this[visible$] = (t21$2 = visible, t21$2 == null ? dart.notNull(paintExtent) > 0.0 : t21$2);
    sliver$.SliverGeometry.__proto__.new.call(this);
    ;
  }).prototype = sliver$.SliverGeometry.prototype;
  dart.addTypeTests(sliver$.SliverGeometry);
  dart.setMethodSignature(sliver$.SliverGeometry, () => ({
    __proto__: dart.getMethods(sliver$.SliverGeometry.__proto__),
    debugAssertIsValid: dart.fnType(core.bool, [], {informationCollector: dart.fnType(core.Iterable$(diagnostics.DiagnosticsNode), [])}, {})
  }));
  dart.setLibraryUri(sliver$.SliverGeometry, "package:flutter/src/rendering/sliver.dart");
  dart.setFieldSignature(sliver$.SliverGeometry, () => ({
    __proto__: dart.getFields(sliver$.SliverGeometry.__proto__),
    scrollExtent: dart.finalFieldType(core.double),
    paintOrigin: dart.finalFieldType(core.double),
    paintExtent: dart.finalFieldType(core.double),
    layoutExtent: dart.finalFieldType(core.double),
    maxPaintExtent: dart.finalFieldType(core.double),
    maxScrollObstructionExtent: dart.finalFieldType(core.double),
    hitTestExtent: dart.finalFieldType(core.double),
    visible: dart.finalFieldType(core.bool),
    hasVisualOverflow: dart.finalFieldType(core.bool),
    scrollOffsetCorrection: dart.finalFieldType(core.double),
    cacheExtent: dart.finalFieldType(core.double)
  }));
  dart.defineLazy(sliver$.SliverGeometry, {
    /*sliver$.SliverGeometry.zero*/get zero() {
      return C125 || CT.C125;
    }
  });
  sliver$.SliverHitTestResult = class SliverHitTestResult extends hit_test.HitTestResult {
    addWithAxisOffset(opts) {
      let paintOffset = opts && 'paintOffset' in opts ? opts.paintOffset : null;
      let mainAxisOffset = opts && 'mainAxisOffset' in opts ? opts.mainAxisOffset : null;
      let crossAxisOffset = opts && 'crossAxisOffset' in opts ? opts.crossAxisOffset : null;
      let mainAxisPosition = opts && 'mainAxisPosition' in opts ? opts.mainAxisPosition : null;
      let crossAxisPosition = opts && 'crossAxisPosition' in opts ? opts.crossAxisPosition : null;
      let hitTest = opts && 'hitTest' in opts ? opts.hitTest : null;
      if (!(mainAxisOffset != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 856, 12, "mainAxisOffset != null");
      if (!(crossAxisOffset != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 857, 12, "crossAxisOffset != null");
      if (!(mainAxisPosition != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 858, 12, "mainAxisPosition != null");
      if (!(crossAxisPosition != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 859, 12, "crossAxisPosition != null");
      if (!(hitTest != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 860, 12, "hitTest != null");
      if (paintOffset != null) {
        this.pushTransform(vector_math_64.Matrix4.translationValues(paintOffset.dx, paintOffset.dy, 0.0));
      }
      let isHit = hitTest(this, {mainAxisPosition: dart.notNull(mainAxisPosition) - dart.notNull(mainAxisOffset), crossAxisPosition: dart.notNull(crossAxisPosition) - dart.notNull(crossAxisOffset)});
      if (paintOffset != null) {
        this.popTransform();
      }
      return isHit;
    }
  };
  (sliver$.SliverHitTestResult.new = function() {
    sliver$.SliverHitTestResult.__proto__.new.call(this);
    ;
  }).prototype = sliver$.SliverHitTestResult.prototype;
  (sliver$.SliverHitTestResult.wrap = function(result) {
    sliver$.SliverHitTestResult.__proto__.wrap.call(this, result);
    ;
  }).prototype = sliver$.SliverHitTestResult.prototype;
  dart.addTypeTests(sliver$.SliverHitTestResult);
  dart.setMethodSignature(sliver$.SliverHitTestResult, () => ({
    __proto__: dart.getMethods(sliver$.SliverHitTestResult.__proto__),
    addWithAxisOffset: dart.fnType(core.bool, [], {crossAxisOffset: core.double, crossAxisPosition: core.double, hitTest: dart.fnType(core.bool, [sliver$.SliverHitTestResult], {crossAxisPosition: core.double, mainAxisPosition: core.double}, {}), mainAxisOffset: core.double, mainAxisPosition: core.double, paintOffset: ui.Offset}, {})
  }));
  dart.setLibraryUri(sliver$.SliverHitTestResult, "package:flutter/src/rendering/sliver.dart");
  const mainAxisPosition$ = dart.privateName(sliver$, "SliverHitTestEntry.mainAxisPosition");
  const crossAxisPosition$ = dart.privateName(sliver$, "SliverHitTestEntry.crossAxisPosition");
  sliver$.SliverHitTestEntry = class SliverHitTestEntry extends hit_test.HitTestEntry {
    get mainAxisPosition() {
      return this[mainAxisPosition$];
    }
    set mainAxisPosition(value) {
      super.mainAxisPosition = value;
    }
    get crossAxisPosition() {
      return this[crossAxisPosition$];
    }
    set crossAxisPosition(value) {
      super.crossAxisPosition = value;
    }
    get target() {
      return sliver$.RenderSliver.as(super.target);
    }
    toString() {
      return dart.str(dart.runtimeType(this.target)) + "@(mainAxis: " + dart.str(this.mainAxisPosition) + ", crossAxis: " + dart.str(this.crossAxisPosition) + ")";
    }
  };
  (sliver$.SliverHitTestEntry.new = function(target, opts) {
    let mainAxisPosition = opts && 'mainAxisPosition' in opts ? opts.mainAxisPosition : null;
    let crossAxisPosition = opts && 'crossAxisPosition' in opts ? opts.crossAxisPosition : null;
    this[mainAxisPosition$] = mainAxisPosition;
    this[crossAxisPosition$] = crossAxisPosition;
    if (!(mainAxisPosition != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 888, 15, "mainAxisPosition != null");
    if (!(crossAxisPosition != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 889, 15, "crossAxisPosition != null");
    sliver$.SliverHitTestEntry.__proto__.new.call(this, target);
    ;
  }).prototype = sliver$.SliverHitTestEntry.prototype;
  dart.addTypeTests(sliver$.SliverHitTestEntry);
  dart.setGetterSignature(sliver$.SliverHitTestEntry, () => ({
    __proto__: dart.getGetters(sliver$.SliverHitTestEntry.__proto__),
    target: sliver$.RenderSliver
  }));
  dart.setLibraryUri(sliver$.SliverHitTestEntry, "package:flutter/src/rendering/sliver.dart");
  dart.setFieldSignature(sliver$.SliverHitTestEntry, () => ({
    __proto__: dart.getFields(sliver$.SliverHitTestEntry.__proto__),
    mainAxisPosition: dart.finalFieldType(core.double),
    crossAxisPosition: dart.finalFieldType(core.double)
  }));
  dart.defineExtensionMethods(sliver$.SliverHitTestEntry, ['toString']);
  const SliverLogicalParentData_ContainerParentDataMixin$36$ = class SliverLogicalParentData_ContainerParentDataMixin extends sliver$.SliverLogicalParentData {};
  (SliverLogicalParentData_ContainerParentDataMixin$36$.new = function() {
    object$.ContainerParentDataMixin$(sliver$.RenderSliver)[dart.mixinNew].call(this);
    SliverLogicalParentData_ContainerParentDataMixin$36$.__proto__.new.call(this);
  }).prototype = SliverLogicalParentData_ContainerParentDataMixin$36$.prototype;
  dart.applyMixin(SliverLogicalParentData_ContainerParentDataMixin$36$, object$.ContainerParentDataMixin$(sliver$.RenderSliver));
  sliver$.SliverLogicalContainerParentData = class SliverLogicalContainerParentData extends SliverLogicalParentData_ContainerParentDataMixin$36$ {};
  (sliver$.SliverLogicalContainerParentData.new = function() {
    sliver$.SliverLogicalContainerParentData.__proto__.new.call(this);
    ;
  }).prototype = sliver$.SliverLogicalContainerParentData.prototype;
  dart.addTypeTests(sliver$.SliverLogicalContainerParentData);
  dart.setLibraryUri(sliver$.SliverLogicalContainerParentData, "package:flutter/src/rendering/sliver.dart");
  const paintOffset = dart.privateName(sliver$, "SliverPhysicalParentData.paintOffset");
  sliver$.SliverPhysicalParentData = class SliverPhysicalParentData extends object$.ParentData {
    get paintOffset() {
      return this[paintOffset];
    }
    set paintOffset(value) {
      this[paintOffset] = value;
    }
    applyPaintTransform(transform) {
      transform.translate(this.paintOffset.dx, this.paintOffset.dy);
    }
    toString() {
      return "paintOffset=" + dart.str(this.paintOffset);
    }
  };
  (sliver$.SliverPhysicalParentData.new = function() {
    this[paintOffset] = ui.Offset.zero;
    ;
  }).prototype = sliver$.SliverPhysicalParentData.prototype;
  dart.addTypeTests(sliver$.SliverPhysicalParentData);
  dart.setMethodSignature(sliver$.SliverPhysicalParentData, () => ({
    __proto__: dart.getMethods(sliver$.SliverPhysicalParentData.__proto__),
    applyPaintTransform: dart.fnType(dart.void, [vector_math_64.Matrix4])
  }));
  dart.setLibraryUri(sliver$.SliverPhysicalParentData, "package:flutter/src/rendering/sliver.dart");
  dart.setFieldSignature(sliver$.SliverPhysicalParentData, () => ({
    __proto__: dart.getFields(sliver$.SliverPhysicalParentData.__proto__),
    paintOffset: dart.fieldType(ui.Offset)
  }));
  dart.defineExtensionMethods(sliver$.SliverPhysicalParentData, ['toString']);
  const SliverPhysicalParentData_ContainerParentDataMixin$36 = class SliverPhysicalParentData_ContainerParentDataMixin extends sliver$.SliverPhysicalParentData {};
  (SliverPhysicalParentData_ContainerParentDataMixin$36.new = function() {
    object$.ContainerParentDataMixin$(sliver$.RenderSliver)[dart.mixinNew].call(this);
    SliverPhysicalParentData_ContainerParentDataMixin$36.__proto__.new.call(this);
  }).prototype = SliverPhysicalParentData_ContainerParentDataMixin$36.prototype;
  dart.applyMixin(SliverPhysicalParentData_ContainerParentDataMixin$36, object$.ContainerParentDataMixin$(sliver$.RenderSliver));
  sliver$.SliverPhysicalContainerParentData = class SliverPhysicalContainerParentData extends SliverPhysicalParentData_ContainerParentDataMixin$36 {};
  (sliver$.SliverPhysicalContainerParentData.new = function() {
    sliver$.SliverPhysicalContainerParentData.__proto__.new.call(this);
    ;
  }).prototype = sliver$.SliverPhysicalContainerParentData.prototype;
  dart.addTypeTests(sliver$.SliverPhysicalContainerParentData);
  dart.setLibraryUri(sliver$.SliverPhysicalContainerParentData, "package:flutter/src/rendering/sliver.dart");
  const RenderSliver_RenderObjectWithChildMixin$36 = class RenderSliver_RenderObjectWithChildMixin extends sliver$.RenderSliver {};
  (RenderSliver_RenderObjectWithChildMixin$36.new = function() {
    object$.RenderObjectWithChildMixin$(box.RenderBox)[dart.mixinNew].call(this);
    RenderSliver_RenderObjectWithChildMixin$36.__proto__.new.call(this);
  }).prototype = RenderSliver_RenderObjectWithChildMixin$36.prototype;
  dart.applyMixin(RenderSliver_RenderObjectWithChildMixin$36, object$.RenderObjectWithChildMixin$(box.RenderBox));
  const RenderSliver_RenderSliverHelpers$36$ = class RenderSliver_RenderSliverHelpers extends RenderSliver_RenderObjectWithChildMixin$36 {};
  (RenderSliver_RenderSliverHelpers$36$.new = function() {
    RenderSliver_RenderSliverHelpers$36$.__proto__.new.call(this);
  }).prototype = RenderSliver_RenderSliverHelpers$36$.prototype;
  dart.applyMixin(RenderSliver_RenderSliverHelpers$36$, sliver$.RenderSliverHelpers);
  sliver$.RenderSliverSingleBoxAdapter = class RenderSliverSingleBoxAdapter extends RenderSliver_RenderSliverHelpers$36$ {
    setupParentData(child) {
      object$.RenderObject._check(child);
      if (!sliver$.SliverPhysicalParentData.is(child.parentData)) child.parentData = new sliver$.SliverPhysicalParentData.new();
    }
    setChildParentData(child, constraints, geometry) {
      let childParentData = sliver$.SliverPhysicalParentData.as(child.parentData);
      if (!(constraints.axisDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1743, 12, "constraints.axisDirection != null");
      if (!(constraints.growthDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1744, 12, "constraints.growthDirection != null");
      switch (sliver$.applyGrowthDirectionToAxisDirection(constraints.axisDirection, constraints.growthDirection)) {
        case C116 || CT.C116:
        {
          childParentData.paintOffset = new ui.Offset.new(0.0, -(dart.notNull(geometry.scrollExtent) - (dart.notNull(geometry.paintExtent) + dart.notNull(constraints.scrollOffset))));
          break;
        }
        case C117 || CT.C117:
        {
          childParentData.paintOffset = new ui.Offset.new(-dart.notNull(constraints.scrollOffset), 0.0);
          break;
        }
        case C118 || CT.C118:
        {
          childParentData.paintOffset = new ui.Offset.new(0.0, -dart.notNull(constraints.scrollOffset));
          break;
        }
        case C120 || CT.C120:
        {
          childParentData.paintOffset = new ui.Offset.new(-(dart.notNull(geometry.scrollExtent) - (dart.notNull(geometry.paintExtent) + dart.notNull(constraints.scrollOffset))), 0.0);
          break;
        }
      }
      if (!(childParentData.paintOffset != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1759, 12, "childParentData.paintOffset != null");
    }
    hitTestChildren(result, opts) {
      let mainAxisPosition = opts && 'mainAxisPosition' in opts ? opts.mainAxisPosition : null;
      let crossAxisPosition = opts && 'crossAxisPosition' in opts ? opts.crossAxisPosition : null;
      if (!(dart.notNull(this.geometry.hitTestExtent) > 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1764, 12, "geometry.hitTestExtent > 0.0");
      if (this.child != null) return this.hitTestBoxChild(new box.BoxHitTestResult.wrap(result), this.child, {mainAxisPosition: mainAxisPosition, crossAxisPosition: crossAxisPosition});
      return false;
    }
    childMainAxisPosition(child) {
      box.RenderBox._check(child);
      return -dart.notNull(this.constraints.scrollOffset);
    }
    applyPaintTransform(child, transform) {
      object$.RenderObject._check(child);
      if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1777, 12, "child != null");
      if (!dart.equals(child, this.child)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1778, 12, "child == this.child");
      let childParentData = sliver$.SliverPhysicalParentData.as(child.parentData);
      childParentData.applyPaintTransform(transform);
    }
    paint(context, offset) {
      if (this.child != null && dart.test(this.geometry.visible)) {
        let childParentData = sliver$.SliverPhysicalParentData.as(this.child.parentData);
        context.paintChild(this.child, offset['+'](childParentData.paintOffset));
      }
    }
  };
  (sliver$.RenderSliverSingleBoxAdapter.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    sliver$.RenderSliverSingleBoxAdapter.__proto__.new.call(this);
    this.child = child;
  }).prototype = sliver$.RenderSliverSingleBoxAdapter.prototype;
  dart.addTypeTests(sliver$.RenderSliverSingleBoxAdapter);
  dart.setMethodSignature(sliver$.RenderSliverSingleBoxAdapter, () => ({
    __proto__: dart.getMethods(sliver$.RenderSliverSingleBoxAdapter.__proto__),
    setChildParentData: dart.fnType(dart.void, [object$.RenderObject, sliver$.SliverConstraints, sliver$.SliverGeometry])
  }));
  dart.setLibraryUri(sliver$.RenderSliverSingleBoxAdapter, "package:flutter/src/rendering/sliver.dart");
  sliver$.RenderSliverToBoxAdapter = class RenderSliverToBoxAdapter extends sliver$.RenderSliverSingleBoxAdapter {
    performLayout() {
      if (this.child == null) {
        this.geometry = sliver$.SliverGeometry.zero;
        return;
      }
      this.child.layout(this.constraints.asBoxConstraints(), {parentUsesSize: true});
      let childExtent = null;
      switch (this.constraints.axis) {
        case C30 || CT.C30:
        {
          childExtent = this.child.size.width;
          break;
        }
        case C31 || CT.C31:
        {
          childExtent = this.child.size.height;
          break;
        }
      }
      if (!(childExtent != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1826, 12, "childExtent != null");
      let paintedChildSize = this.calculatePaintOffset(this.constraints, {from: 0.0, to: childExtent});
      let cacheExtent = this.calculateCacheOffset(this.constraints, {from: 0.0, to: childExtent});
      if (!paintedChildSize[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1830, 12, "paintedChildSize.isFinite");
      if (!(dart.notNull(paintedChildSize) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 1831, 12, "paintedChildSize >= 0.0");
      this.geometry = new sliver$.SliverGeometry.new({scrollExtent: childExtent, paintExtent: paintedChildSize, cacheExtent: cacheExtent, maxPaintExtent: childExtent, hitTestExtent: paintedChildSize, hasVisualOverflow: dart.notNull(childExtent) > dart.notNull(this.constraints.remainingPaintExtent) || dart.notNull(this.constraints.scrollOffset) > 0.0});
      this.setChildParentData(this.child, this.constraints, this.geometry);
    }
  };
  (sliver$.RenderSliverToBoxAdapter.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    sliver$.RenderSliverToBoxAdapter.__proto__.new.call(this, {child: child});
    ;
  }).prototype = sliver$.RenderSliverToBoxAdapter.prototype;
  dart.addTypeTests(sliver$.RenderSliverToBoxAdapter);
  dart.setMethodSignature(sliver$.RenderSliverToBoxAdapter, () => ({
    __proto__: dart.getMethods(sliver$.RenderSliverToBoxAdapter.__proto__),
    performLayout: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(sliver$.RenderSliverToBoxAdapter, "package:flutter/src/rendering/sliver.dart");
  sliver$.applyGrowthDirectionToAxisDirection = function applyGrowthDirectionToAxisDirection(axisDirection, growthDirection) {
    if (!(axisDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 54, 10, "axisDirection != null");
    if (!(growthDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 55, 10, "growthDirection != null");
    switch (growthDirection) {
      case C121 || CT.C121:
      {
        return axisDirection;
      }
      case C122 || CT.C122:
      {
        return basic_types$.flipAxisDirection(axisDirection);
      }
    }
    return null;
  };
  sliver$.applyGrowthDirectionToScrollDirection = function applyGrowthDirectionToScrollDirection(scrollDirection, growthDirection) {
    if (!(scrollDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 75, 10, "scrollDirection != null");
    if (!(growthDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver.dart", 76, 10, "growthDirection != null");
    switch (growthDirection) {
      case C121 || CT.C121:
      {
        return scrollDirection;
      }
      case C122 || CT.C122:
      {
        return viewport_offset.flipScrollDirection(scrollDirection);
      }
    }
    return null;
  };
  sliver$._debugCompareFloats = function _debugCompareFloats(labelA, valueA, labelB, valueB) {
    return (() => {
      let t25 = JSArrayOfDiagnosticsNode().of([]);
      if (valueA[$toStringAsFixed](1) !== valueB[$toStringAsFixed](1))
        t25[$add](new assertions.ErrorDescription.new("The " + dart.str(labelA) + " is " + valueA[$toStringAsFixed](1) + ", but " + "the " + dart.str(labelB) + " is " + valueB[$toStringAsFixed](1) + "."));
      else
        for (let t26 of JSArrayOfDiagnosticsNode().of([new assertions.ErrorDescription.new("The " + dart.str(labelA) + " is " + dart.str(valueA) + ", but the " + dart.str(labelB) + " is " + dart.str(valueB) + "."), new assertions.ErrorHint.new("Maybe you have fallen prey to floating point rounding errors, and should explicitly " + "apply the min() or max() functions, or the clamp() method, to the " + dart.str(labelB) + "?")]))
          t25[$add](t26);
      return t25;
    })();
  };
  const _name$12 = dart.privateName(viewport_offset, "_name");
  let C126;
  let C127;
  let C128;
  let C129;
  viewport_offset.ScrollDirection = class ScrollDirection extends core.Object {
    toString() {
      return this[_name$12];
    }
  };
  (viewport_offset.ScrollDirection.new = function(index, _name) {
    this.index = index;
    this[_name$12] = _name;
    ;
  }).prototype = viewport_offset.ScrollDirection.prototype;
  dart.addTypeTests(viewport_offset.ScrollDirection);
  dart.setLibraryUri(viewport_offset.ScrollDirection, "package:flutter/src/rendering/viewport_offset.dart");
  dart.setFieldSignature(viewport_offset.ScrollDirection, () => ({
    __proto__: dart.getFields(viewport_offset.ScrollDirection.__proto__),
    index: dart.finalFieldType(core.int),
    [_name$12]: dart.finalFieldType(core.String)
  }));
  dart.defineExtensionMethods(viewport_offset.ScrollDirection, ['toString']);
  viewport_offset.ScrollDirection.idle = C126 || CT.C126;
  viewport_offset.ScrollDirection.forward = C127 || CT.C127;
  viewport_offset.ScrollDirection.reverse = C128 || CT.C128;
  viewport_offset.ScrollDirection.values = C129 || CT.C129;
  viewport_offset.ViewportOffset = class ViewportOffset extends change_notifier.ChangeNotifier {
    moveTo(to, opts) {
      let t27;
      let duration = opts && 'duration' in opts ? opts.duration : null;
      let curve = opts && 'curve' in opts ? opts.curve : null;
      let clamp = opts && 'clamp' in opts ? opts.clamp : null;
      if (!(to != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport_offset.dart", 199, 12, "to != null");
      if (duration == null || dart.equals(duration, core.Duration.zero)) {
        this.jumpTo(to);
        return FutureOfvoid().value();
      } else {
        return this.animateTo(to, {duration: duration, curve: (t27 = curve, t27 == null ? curves.Curves.ease : t27)});
      }
    }
    toString() {
      let description = JSArrayOfString().of([]);
      this.debugFillDescription(description);
      return dart.str(diagnostics.describeIdentity(this)) + "(" + dart.str(description[$join](", ")) + ")";
    }
    debugFillDescription(description) {
      let t27;
      description[$add]("offset: " + dart.str((t27 = this.pixels, t27 == null ? null : t27[$toStringAsFixed](1))));
    }
  };
  (viewport_offset.ViewportOffset.new = function() {
    viewport_offset.ViewportOffset.__proto__.new.call(this);
    ;
  }).prototype = viewport_offset.ViewportOffset.prototype;
  dart.addTypeTests(viewport_offset.ViewportOffset);
  dart.setMethodSignature(viewport_offset.ViewportOffset, () => ({
    __proto__: dart.getMethods(viewport_offset.ViewportOffset.__proto__),
    moveTo: dart.fnType(async.Future$(dart.void), [core.double], {clamp: core.bool, curve: curves.Curve, duration: core.Duration}, {}),
    debugFillDescription: dart.fnType(dart.void, [core.List$(core.String)])
  }));
  dart.setLibraryUri(viewport_offset.ViewportOffset, "package:flutter/src/rendering/viewport_offset.dart");
  dart.defineExtensionMethods(viewport_offset.ViewportOffset, ['toString']);
  const _pixels$ = dart.privateName(viewport_offset, "_pixels");
  viewport_offset._FixedViewportOffset = class _FixedViewportOffset extends viewport_offset.ViewportOffset {
    get pixels() {
      return this[_pixels$];
    }
    applyViewportDimension(viewportDimension) {
      return true;
    }
    applyContentDimensions(minScrollExtent, maxScrollExtent) {
      return true;
    }
    correctBy(correction) {
      this[_pixels$] = dart.notNull(this[_pixels$]) + dart.notNull(correction);
    }
    jumpTo(pixels) {
    }
    animateTo(to, opts) {
      let duration = opts && 'duration' in opts ? opts.duration : null;
      let curve = opts && 'curve' in opts ? opts.curve : null;
      return async.async(dart.void, function* animateTo() {
      });
    }
    get userScrollDirection() {
      return viewport_offset.ScrollDirection.idle;
    }
    get allowImplicitScrolling() {
      return false;
    }
  };
  (viewport_offset._FixedViewportOffset.new = function(_pixels) {
    this[_pixels$] = _pixels;
    viewport_offset._FixedViewportOffset.__proto__.new.call(this);
    ;
  }).prototype = viewport_offset._FixedViewportOffset.prototype;
  dart.defineValue(viewport_offset._FixedViewportOffset, 'zero', function() {
    this[_pixels$] = 0.0;
    viewport_offset._FixedViewportOffset.__proto__.new.call(this);
    ;
  }).prototype = viewport_offset._FixedViewportOffset.prototype;
  dart.addTypeTests(viewport_offset._FixedViewportOffset);
  dart.setMethodSignature(viewport_offset._FixedViewportOffset, () => ({
    __proto__: dart.getMethods(viewport_offset._FixedViewportOffset.__proto__),
    applyViewportDimension: dart.fnType(core.bool, [core.double]),
    applyContentDimensions: dart.fnType(core.bool, [core.double, core.double]),
    correctBy: dart.fnType(dart.void, [core.double]),
    jumpTo: dart.fnType(dart.void, [core.double]),
    animateTo: dart.fnType(async.Future$(dart.void), [core.double], {curve: curves.Curve, duration: core.Duration}, {})
  }));
  dart.setGetterSignature(viewport_offset._FixedViewportOffset, () => ({
    __proto__: dart.getGetters(viewport_offset._FixedViewportOffset.__proto__),
    pixels: core.double,
    userScrollDirection: viewport_offset.ScrollDirection,
    allowImplicitScrolling: core.bool
  }));
  dart.setLibraryUri(viewport_offset._FixedViewportOffset, "package:flutter/src/rendering/viewport_offset.dart");
  dart.setFieldSignature(viewport_offset._FixedViewportOffset, () => ({
    __proto__: dart.getFields(viewport_offset._FixedViewportOffset.__proto__),
    [_pixels$]: dart.fieldType(core.double)
  }));
  viewport_offset.flipScrollDirection = function flipScrollDirection(direction) {
    switch (direction) {
      case C126 || CT.C126:
      {
        return viewport_offset.ScrollDirection.idle;
      }
      case C127 || CT.C127:
      {
        return viewport_offset.ScrollDirection.reverse;
      }
      case C128 || CT.C128:
      {
        return viewport_offset.ScrollDirection.forward;
      }
    }
    return null;
  };
  const _name$13 = dart.privateName(viewport, "_name");
  let C130;
  let C131;
  let C132;
  viewport.CacheExtentStyle = class CacheExtentStyle extends core.Object {
    toString() {
      return this[_name$13];
    }
  };
  (viewport.CacheExtentStyle.new = function(index, _name) {
    this.index = index;
    this[_name$13] = _name;
    ;
  }).prototype = viewport.CacheExtentStyle.prototype;
  dart.addTypeTests(viewport.CacheExtentStyle);
  dart.setLibraryUri(viewport.CacheExtentStyle, "package:flutter/src/rendering/viewport.dart");
  dart.setFieldSignature(viewport.CacheExtentStyle, () => ({
    __proto__: dart.getFields(viewport.CacheExtentStyle.__proto__),
    index: dart.finalFieldType(core.int),
    [_name$13]: dart.finalFieldType(core.String)
  }));
  dart.defineExtensionMethods(viewport.CacheExtentStyle, ['toString']);
  viewport.CacheExtentStyle.pixel = C130 || CT.C130;
  viewport.CacheExtentStyle.viewport = C131 || CT.C131;
  viewport.CacheExtentStyle.values = C132 || CT.C132;
  viewport.RenderAbstractViewport = class RenderAbstractViewport extends object$.RenderObject {
    static __() {
      return null;
    }
    static of(object) {
      while (object != null) {
        if (viewport.RenderAbstractViewport.is(object)) return object;
        object = object$.RenderObject.as(object.parent);
      }
      return null;
    }
  };
  dart.addTypeTests(viewport.RenderAbstractViewport);
  dart.setLibraryUri(viewport.RenderAbstractViewport, "package:flutter/src/rendering/viewport.dart");
  dart.defineLazy(viewport.RenderAbstractViewport, {
    /*viewport.RenderAbstractViewport.defaultCacheExtent*/get defaultCacheExtent() {
      return 250;
    }
  });
  const offset$1 = dart.privateName(viewport, "RevealedOffset.offset");
  const rect$2 = dart.privateName(viewport, "RevealedOffset.rect");
  viewport.RevealedOffset = class RevealedOffset extends core.Object {
    get offset() {
      return this[offset$1];
    }
    set offset(value) {
      super.offset = value;
    }
    get rect() {
      return this[rect$2];
    }
    set rect(value) {
      super.rect = value;
    }
    toString() {
      return dart.str(object.objectRuntimeType(this, "RevealedOffset")) + "(offset: " + dart.str(this.offset) + ", rect: " + dart.str(this.rect) + ")";
    }
  };
  (viewport.RevealedOffset.new = function(opts) {
    let offset = opts && 'offset' in opts ? opts.offset : null;
    let rect = opts && 'rect' in opts ? opts.rect : null;
    this[offset$1] = offset;
    this[rect$2] = rect;
    if (!(offset != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 102, 15, "offset != null");
    if (!(rect != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 103, 15, "rect != null");
    ;
  }).prototype = viewport.RevealedOffset.prototype;
  dart.addTypeTests(viewport.RevealedOffset);
  dart.setLibraryUri(viewport.RevealedOffset, "package:flutter/src/rendering/viewport.dart");
  dart.setFieldSignature(viewport.RevealedOffset, () => ({
    __proto__: dart.getFields(viewport.RevealedOffset.__proto__),
    offset: dart.finalFieldType(core.double),
    rect: dart.finalFieldType(ui.Rect)
  }));
  dart.defineExtensionMethods(viewport.RevealedOffset, ['toString']);
  const _calculatedCacheExtent = dart.privateName(viewport, "_calculatedCacheExtent");
  const _axisDirection = dart.privateName(viewport, "_axisDirection");
  const _crossAxisDirection = dart.privateName(viewport, "_crossAxisDirection");
  const _offset$0 = dart.privateName(viewport, "_offset");
  const _cacheExtent = dart.privateName(viewport, "_cacheExtent");
  const _cacheExtentStyle = dart.privateName(viewport, "_cacheExtentStyle");
  const _paintContents = dart.privateName(viewport, "_paintContents");
  const _is_RenderViewportBase_default = Symbol('_is_RenderViewportBase_default');
  viewport.RenderViewportBase$ = dart.generic(ParentDataClass => {
    const RenderBox_ContainerRenderObjectMixin$36 = class RenderBox_ContainerRenderObjectMixin extends box.RenderBox {};
    (RenderBox_ContainerRenderObjectMixin$36.new = function() {
      object$.ContainerRenderObjectMixin$(sliver$.RenderSliver, ParentDataClass)[dart.mixinNew].call(this);
      RenderBox_ContainerRenderObjectMixin$36.__proto__.new.call(this);
    }).prototype = RenderBox_ContainerRenderObjectMixin$36.prototype;
    dart.applyMixin(RenderBox_ContainerRenderObjectMixin$36, object$.ContainerRenderObjectMixin$(sliver$.RenderSliver, ParentDataClass));
    class RenderViewportBase extends RenderBox_ContainerRenderObjectMixin$36 {
      describeSemanticsConfiguration(config) {
        super.describeSemanticsConfiguration(config);
        config.addTagForChildren(viewport.RenderViewport.useTwoPaneSemantics);
      }
      visitChildrenForSemantics(visitor) {
        this.childrenInPaintOrder[$where](dart.fn(sliver => dart.test(sliver.geometry.visible) || dart.notNull(sliver.geometry.cacheExtent) > 0.0, RenderSliverTobool()))[$forEach](visitor);
      }
      get axisDirection() {
        return this[_axisDirection];
      }
      set axisDirection(value) {
        if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 208, 12, "value != null");
        if (dart.equals(value, this[_axisDirection])) return;
        this[_axisDirection] = value;
        this.markNeedsLayout();
      }
      get crossAxisDirection() {
        return this[_crossAxisDirection];
      }
      set crossAxisDirection(value) {
        if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 224, 12, "value != null");
        if (dart.equals(value, this[_crossAxisDirection])) return;
        this[_crossAxisDirection] = value;
        this.markNeedsLayout();
      }
      get axis() {
        return basic_types$.axisDirectionToAxis(this.axisDirection);
      }
      get offset() {
        return this[_offset$0];
      }
      set offset(value) {
        if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 246, 12, "value != null");
        if (dart.equals(value, this[_offset$0])) return;
        if (dart.test(this.attached)) this[_offset$0].removeListener(dart.bind(this, 'markNeedsLayout'));
        this[_offset$0] = value;
        if (dart.test(this.attached)) this[_offset$0].addListener(dart.bind(this, 'markNeedsLayout'));
        this.markNeedsLayout();
      }
      get cacheExtent() {
        return this[_cacheExtent];
      }
      set cacheExtent(value) {
        let t27;
        value = (t27 = value, t27 == null ? 250 : t27);
        if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 282, 12, "value != null");
        if (value == this[_cacheExtent]) return;
        this[_cacheExtent] = value;
        this.markNeedsLayout();
      }
      get cacheExtentStyle() {
        return this[_cacheExtentStyle];
      }
      set cacheExtentStyle(value) {
        if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 309, 12, "value != null");
        if (dart.equals(value, this[_cacheExtentStyle])) {
          return;
        }
        this[_cacheExtentStyle] = value;
        this.markNeedsLayout();
      }
      attach(owner) {
        object$.PipelineOwner._check(owner);
        super.attach(owner);
        this[_offset$0].addListener(dart.bind(this, 'markNeedsLayout'));
      }
      detach() {
        this[_offset$0].removeListener(dart.bind(this, 'markNeedsLayout'));
        super.detach();
      }
      debugThrowIfNotCheckingIntrinsics() {
        if (!dart.test(dart.fn(() => {
          if (!dart.test(object$.RenderObject.debugCheckingIntrinsics)) {
            if (!!viewport.RenderShrinkWrappingViewport.is(this)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 340, 16, "this is! RenderShrinkWrappingViewport");
            dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new(dart.str(this[$runtimeType]) + " does not support returning intrinsic dimensions."), new assertions.ErrorDescription.new("Calculating the intrinsic dimensions would require instantiating every child of " + "the viewport, which defeats the point of viewports being lazy."), new assertions.ErrorHint.new("If you are merely trying to shrink-wrap the viewport in the main axis direction, " + "consider a RenderShrinkWrappingViewport render object (ShrinkWrappingViewport widget), " + "which achieves that effect without implementing the intrinsic dimension API.")])));
          }
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 338, 12, "() {\r\n      if (!RenderObject.debugCheckingIntrinsics) {\r\n        assert(this is! RenderShrinkWrappingViewport); // it has its own message\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('$runtimeType does not support returning intrinsic dimensions.'),\r\n          ErrorDescription(\r\n            'Calculating the intrinsic dimensions would require instantiating every child of '\r\n            'the viewport, which defeats the point of viewports being lazy.',\r\n          ),\r\n          ErrorHint(\r\n            'If you are merely trying to shrink-wrap the viewport in the main axis direction, '\r\n            'consider a RenderShrinkWrappingViewport render object (ShrinkWrappingViewport widget), '\r\n            'which achieves that effect without implementing the intrinsic dimension API.'\r\n          ),\r\n        ]);\r\n      }\r\n      return true;\r\n    }()");
        return true;
      }
      computeMinIntrinsicWidth(height) {
        if (!dart.test(this.debugThrowIfNotCheckingIntrinsics())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 361, 12, "debugThrowIfNotCheckingIntrinsics()");
        return 0.0;
      }
      computeMaxIntrinsicWidth(height) {
        if (!dart.test(this.debugThrowIfNotCheckingIntrinsics())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 367, 12, "debugThrowIfNotCheckingIntrinsics()");
        return 0.0;
      }
      computeMinIntrinsicHeight(width) {
        if (!dart.test(this.debugThrowIfNotCheckingIntrinsics())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 373, 12, "debugThrowIfNotCheckingIntrinsics()");
        return 0.0;
      }
      computeMaxIntrinsicHeight(width) {
        if (!dart.test(this.debugThrowIfNotCheckingIntrinsics())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 379, 12, "debugThrowIfNotCheckingIntrinsics()");
        return 0.0;
      }
      get isRepaintBoundary() {
        return true;
      }
      layoutChildSequence(opts) {
        let child = opts && 'child' in opts ? opts.child : null;
        let scrollOffset = opts && 'scrollOffset' in opts ? opts.scrollOffset : null;
        let overlap = opts && 'overlap' in opts ? opts.overlap : null;
        let layoutOffset = opts && 'layoutOffset' in opts ? opts.layoutOffset : null;
        let remainingPaintExtent = opts && 'remainingPaintExtent' in opts ? opts.remainingPaintExtent : null;
        let mainAxisExtent = opts && 'mainAxisExtent' in opts ? opts.mainAxisExtent : null;
        let crossAxisExtent = opts && 'crossAxisExtent' in opts ? opts.crossAxisExtent : null;
        let growthDirection = opts && 'growthDirection' in opts ? opts.growthDirection : null;
        let advance = opts && 'advance' in opts ? opts.advance : null;
        let remainingCacheExtent = opts && 'remainingCacheExtent' in opts ? opts.remainingCacheExtent : null;
        let cacheOrigin = opts && 'cacheOrigin' in opts ? opts.cacheOrigin : null;
        if (!scrollOffset[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 430, 12, "scrollOffset.isFinite");
        if (!(dart.notNull(scrollOffset) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 431, 12, "scrollOffset >= 0.0");
        let initialLayoutOffset = layoutOffset;
        let adjustedUserScrollDirection = sliver$.applyGrowthDirectionToScrollDirection(this.offset.userScrollDirection, growthDirection);
        if (!(adjustedUserScrollDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 435, 12, "adjustedUserScrollDirection != null");
        let maxPaintOffset = dart.notNull(layoutOffset) + dart.notNull(overlap);
        let precedingScrollExtent = 0.0;
        while (child != null) {
          let sliverScrollOffset = dart.notNull(scrollOffset) <= 0.0 ? 0.0 : scrollOffset;
          let correctedCacheOrigin = math.max(core.double, cacheOrigin, -dart.notNull(sliverScrollOffset));
          let cacheExtentCorrection = dart.notNull(cacheOrigin) - correctedCacheOrigin;
          if (!(dart.notNull(sliverScrollOffset) >= correctedCacheOrigin[$abs]())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 447, 14, "sliverScrollOffset >= correctedCacheOrigin.abs()");
          if (!(correctedCacheOrigin <= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 448, 14, "correctedCacheOrigin <= 0.0");
          if (!(dart.notNull(sliverScrollOffset) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 449, 14, "sliverScrollOffset >= 0.0");
          if (!(cacheExtentCorrection <= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 450, 14, "cacheExtentCorrection <= 0.0");
          child.layout(new sliver$.SliverConstraints.new({axisDirection: this.axisDirection, growthDirection: growthDirection, userScrollDirection: adjustedUserScrollDirection, scrollOffset: sliverScrollOffset, precedingScrollExtent: precedingScrollExtent, overlap: maxPaintOffset - dart.notNull(layoutOffset), remainingPaintExtent: math.max(core.double, 0.0, dart.notNull(remainingPaintExtent) - dart.notNull(layoutOffset) + dart.notNull(initialLayoutOffset)), crossAxisExtent: crossAxisExtent, crossAxisDirection: this.crossAxisDirection, viewportMainAxisExtent: mainAxisExtent, remainingCacheExtent: math.max(core.double, 0.0, dart.notNull(remainingCacheExtent) + cacheExtentCorrection), cacheOrigin: correctedCacheOrigin}), {parentUsesSize: true});
          let childLayoutGeometry = child.geometry;
          if (!dart.test(childLayoutGeometry.debugAssertIsValid())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 468, 14, "childLayoutGeometry.debugAssertIsValid()");
          if (childLayoutGeometry.scrollOffsetCorrection != null) return childLayoutGeometry.scrollOffsetCorrection;
          let effectiveLayoutOffset = dart.notNull(layoutOffset) + dart.notNull(childLayoutGeometry.paintOrigin);
          if (dart.test(childLayoutGeometry.visible) || dart.notNull(scrollOffset) > 0) {
            this.updateChildLayoutOffset(child, effectiveLayoutOffset, growthDirection);
          } else {
            this.updateChildLayoutOffset(child, -dart.notNull(scrollOffset) + dart.notNull(initialLayoutOffset), growthDirection);
          }
          maxPaintOffset = math.max(core.double, effectiveLayoutOffset + dart.notNull(childLayoutGeometry.paintExtent), maxPaintOffset);
          scrollOffset = dart.notNull(scrollOffset) - dart.notNull(childLayoutGeometry.scrollExtent);
          precedingScrollExtent = precedingScrollExtent + dart.notNull(childLayoutGeometry.scrollExtent);
          layoutOffset = dart.notNull(layoutOffset) + dart.notNull(childLayoutGeometry.layoutExtent);
          if (childLayoutGeometry.cacheExtent !== 0.0) {
            remainingCacheExtent = dart.notNull(remainingCacheExtent) - (dart.notNull(childLayoutGeometry.cacheExtent) - cacheExtentCorrection);
            cacheOrigin = math.min(core.double, correctedCacheOrigin + dart.notNull(childLayoutGeometry.cacheExtent), 0.0);
          }
          this.updateOutOfBandData(growthDirection, childLayoutGeometry);
          child = advance(child);
        }
        return 0.0;
      }
      describeApproximatePaintClip(child) {
        sliver$.RenderSliver._check(child);
        let viewportClip = ui.Offset.zero['&'](this.size);
        if (child.constraints.overlap === 0 || !child.constraints.viewportMainAxisExtent[$isFinite]) {
          return viewportClip;
        }
        let left = viewportClip.left;
        let right = viewportClip.right;
        let top = viewportClip.top;
        let bottom = viewportClip.bottom;
        let startOfOverlap = dart.notNull(child.constraints.viewportMainAxisExtent) - dart.notNull(child.constraints.remainingPaintExtent);
        let overlapCorrection = startOfOverlap + dart.notNull(child.constraints.overlap);
        switch (sliver$.applyGrowthDirectionToAxisDirection(this.axisDirection, child.constraints.growthDirection)) {
          case C118 || CT.C118:
          {
            top = dart.notNull(top) + overlapCorrection;
            break;
          }
          case C116 || CT.C116:
          {
            bottom = dart.notNull(bottom) - overlapCorrection;
            break;
          }
          case C117 || CT.C117:
          {
            left = dart.notNull(left) + overlapCorrection;
            break;
          }
          case C120 || CT.C120:
          {
            right = dart.notNull(right) - overlapCorrection;
            break;
          }
        }
        return new ui.Rect.fromLTRB(left, top, right, bottom);
      }
      describeSemanticsClip(child) {
        sliver$.RenderSliver._check(child);
        if (!(this.axis != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 548, 12, "axis != null");
        if (this[_calculatedCacheExtent] == null) {
          return this.semanticBounds;
        }
        switch (this.axis) {
          case C31 || CT.C31:
          {
            return new ui.Rect.fromLTRB(this.semanticBounds.left, dart.notNull(this.semanticBounds.top) - dart.notNull(this[_calculatedCacheExtent]), this.semanticBounds.right, dart.notNull(this.semanticBounds.bottom) + dart.notNull(this[_calculatedCacheExtent]));
          }
          case C30 || CT.C30:
          {
            return new ui.Rect.fromLTRB(dart.notNull(this.semanticBounds.left) - dart.notNull(this[_calculatedCacheExtent]), this.semanticBounds.top, dart.notNull(this.semanticBounds.right) + dart.notNull(this[_calculatedCacheExtent]), this.semanticBounds.bottom);
          }
        }
        return null;
      }
      paint(context, offset) {
        if (this.firstChild == null) return;
        if (dart.test(this.hasVisualOverflow)) {
          context.pushClipRect(this.needsCompositing, offset, ui.Offset.zero['&'](this.size), dart.bind(this, _paintContents));
        } else {
          this[_paintContents](context, offset);
        }
      }
      [_paintContents](context, offset) {
        for (let child of this.childrenInPaintOrder) {
          if (dart.test(child.geometry.visible)) context.paintChild(child, offset['+'](this.paintOffsetOf(child)));
        }
      }
      debugPaintSize(context, offset) {
        if (!dart.test(dart.fn(() => {
          let t27;
          super.debugPaintSize(context, offset);
          let paint = (t27 = ui.Paint.new(), t27.style = ui.PaintingStyle.stroke, t27.strokeWidth = 1.0, t27.color = C22 || CT.C22, t27);
          let canvas = context.canvas;
          let child = this.firstChild;
          while (child != null) {
            let size = null;
            switch (this.axis) {
              case C31 || CT.C31:
              {
                size = new ui.Size.new(child.constraints.crossAxisExtent, child.geometry.layoutExtent);
                break;
              }
              case C30 || CT.C30:
              {
                size = new ui.Size.new(child.geometry.layoutExtent, child.constraints.crossAxisExtent);
                break;
              }
            }
            if (!(size != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 611, 16, "size != null");
            canvas.drawRect(offset['+'](this.paintOffsetOf(child))['&'](size).deflate(0.5), paint);
            child = this.childAfter(child);
          }
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 593, 12, "() {\r\n      super.debugPaintSize(context, offset);\r\n      final Paint paint = Paint()\r\n        ..style = PaintingStyle.stroke\r\n        ..strokeWidth = 1.0\r\n        ..color = const Color(0xFF00FF00);\r\n      final Canvas canvas = context.canvas;\r\n      RenderSliver child = firstChild;\r\n      while (child != null) {\r\n        Size size;\r\n        switch (axis) {\r\n          case Axis.vertical:\r\n            size = Size(child.constraints.crossAxisExtent, child.geometry.layoutExtent);\r\n            break;\r\n          case Axis.horizontal:\r\n            size = Size(child.geometry.layoutExtent, child.constraints.crossAxisExtent);\r\n            break;\r\n        }\r\n        assert(size != null);\r\n        canvas.drawRect(((offset + paintOffsetOf(child)) & size).deflate(0.5), paint);\r\n        child = childAfter(child);\r\n      }\r\n      return true;\r\n    }()");
      }
      hitTestChildren(result, opts) {
        let position = opts && 'position' in opts ? opts.position : null;
        let mainAxisPosition = null;
        let crossAxisPosition = null;
        switch (this.axis) {
          case C31 || CT.C31:
          {
            mainAxisPosition = position.dy;
            crossAxisPosition = position.dx;
            break;
          }
          case C30 || CT.C30:
          {
            mainAxisPosition = position.dx;
            crossAxisPosition = position.dy;
            break;
          }
        }
        if (!(mainAxisPosition != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 632, 12, "mainAxisPosition != null");
        if (!(crossAxisPosition != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 633, 12, "crossAxisPosition != null");
        let sliverResult = new sliver$.SliverHitTestResult.wrap(result);
        for (let child of this.childrenInHitTestOrder) {
          if (!dart.test(child.geometry.visible)) {
            continue;
          }
          let transform = vector_math_64.Matrix4.identity();
          this.applyPaintTransform(child, transform);
          let isHit = result.addWithPaintTransform({transform: transform, position: null, hitTest: dart.fn((result, _) => child.hitTest(sliverResult, {mainAxisPosition: this.computeChildMainAxisPosition(child, mainAxisPosition), crossAxisPosition: crossAxisPosition}), BoxHitTestResultAndOffsetTobool())});
          if (dart.test(isHit)) {
            return true;
          }
        }
        return false;
      }
      getOffsetToReveal(target, alignment, opts) {
        let rect = opts && 'rect' in opts ? opts.rect : null;
        let leadingScrollOffset = 0.0;
        let targetMainAxisExtent = null;
        rect == null ? rect = target.paintBounds : null;
        let child = target;
        let pivot = null;
        let onlySlivers = sliver$.RenderSliver.is(target);
        while (!dart.equals(child.parent, this)) {
          let parent = object$.RenderObject.as(child.parent);
          if (!(parent != null)) dart.assertFailed(dart.str(target) + " must be a descendant of " + dart.str(this), "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 673, 14, "parent != null");
          if (box.RenderBox.is(child)) {
            pivot = child;
          }
          if (sliver$.RenderSliver.is(parent)) {
            leadingScrollOffset = dart.notNull(leadingScrollOffset) + dart.notNull(parent.childScrollOffset(child));
          } else {
            onlySlivers = false;
            leadingScrollOffset = 0.0;
          }
          child = parent;
        }
        if (pivot != null) {
          if (!(pivot.parent != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 687, 14, "pivot.parent != null");
          if (!!dart.equals(pivot.parent, this)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 688, 14, "pivot.parent != this");
          if (!!dart.equals(pivot, this)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 689, 14, "pivot != this");
          if (!sliver$.RenderSliver.is(pivot.parent)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 690, 14, "pivot.parent is RenderSliver");
          let pivotParent = sliver$.RenderSliver.as(pivot.parent);
          let transform = target.getTransformTo(pivot);
          let bounds = matrix_utils.MatrixUtils.transformRect(transform, rect);
          let growthDirection = pivotParent.constraints.growthDirection;
          switch (sliver$.applyGrowthDirectionToAxisDirection(this.axisDirection, growthDirection)) {
            case C116 || CT.C116:
            {
              let offset = null;
              switch (growthDirection) {
                case C121 || CT.C121:
                {
                  offset = bounds.bottom;
                  break;
                }
                case C122 || CT.C122:
                {
                  offset = bounds.top;
                  break;
                }
              }
              leadingScrollOffset = dart.notNull(leadingScrollOffset) + (dart.notNull(pivot.size.height) - dart.notNull(offset));
              targetMainAxisExtent = bounds.height;
              break;
            }
            case C117 || CT.C117:
            {
              let offset = null;
              switch (growthDirection) {
                case C121 || CT.C121:
                {
                  offset = bounds.left;
                  break;
                }
                case C122 || CT.C122:
                {
                  offset = bounds.right;
                  break;
                }
              }
              leadingScrollOffset = dart.notNull(leadingScrollOffset) + dart.notNull(offset);
              targetMainAxisExtent = bounds.width;
              break;
            }
            case C118 || CT.C118:
            {
              let offset = null;
              switch (growthDirection) {
                case C121 || CT.C121:
                {
                  offset = bounds.top;
                  break;
                }
                case C122 || CT.C122:
                {
                  offset = bounds.bottom;
                  break;
                }
              }
              leadingScrollOffset = dart.notNull(leadingScrollOffset) + dart.notNull(offset);
              targetMainAxisExtent = bounds.height;
              break;
            }
            case C120 || CT.C120:
            {
              let offset = null;
              switch (growthDirection) {
                case C121 || CT.C121:
                {
                  offset = bounds.right;
                  break;
                }
                case C122 || CT.C122:
                {
                  offset = bounds.left;
                  break;
                }
              }
              leadingScrollOffset = dart.notNull(leadingScrollOffset) + (dart.notNull(pivot.size.width) - dart.notNull(offset));
              targetMainAxisExtent = bounds.width;
              break;
            }
          }
        } else if (onlySlivers) {
          let targetSliver = sliver$.RenderSliver.as(target);
          targetMainAxisExtent = targetSliver.geometry.scrollExtent;
        } else {
          return new viewport.RevealedOffset.new({offset: this.offset.pixels, rect: rect});
        }
        if (!dart.equals(child.parent, this)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 758, 12, "child.parent == this");
        if (!sliver$.RenderSliver.is(child)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 759, 12, "child is RenderSliver");
        let sliver = sliver$.RenderSliver.as(child);
        let extentOfPinnedSlivers = this.maxScrollObstructionExtentBefore(sliver);
        leadingScrollOffset = this.scrollOffsetOf(sliver, leadingScrollOffset);
        switch (sliver.constraints.growthDirection) {
          case C121 || CT.C121:
          {
            leadingScrollOffset = dart.notNull(leadingScrollOffset) - dart.notNull(extentOfPinnedSlivers);
            break;
          }
          case C122 || CT.C122:
          {
            break;
          }
        }
        let mainAxisExtent = null;
        switch (this.axis) {
          case C30 || CT.C30:
          {
            mainAxisExtent = dart.notNull(this.size.width) - dart.notNull(extentOfPinnedSlivers);
            break;
          }
          case C31 || CT.C31:
          {
            mainAxisExtent = dart.notNull(this.size.height) - dart.notNull(extentOfPinnedSlivers);
            break;
          }
        }
        let targetOffset = dart.notNull(leadingScrollOffset) - (dart.notNull(mainAxisExtent) - dart.notNull(targetMainAxisExtent)) * dart.notNull(alignment);
        let offsetDifference = dart.notNull(this.offset.pixels) - targetOffset;
        let transform = target.getTransformTo(this);
        this.applyPaintTransform(child, transform);
        let targetRect = matrix_utils.MatrixUtils.transformRect(transform, rect);
        switch (this.axisDirection) {
          case C118 || CT.C118:
          {
            targetRect = targetRect.translate(0.0, offsetDifference);
            break;
          }
          case C117 || CT.C117:
          {
            targetRect = targetRect.translate(offsetDifference, 0.0);
            break;
          }
          case C116 || CT.C116:
          {
            targetRect = targetRect.translate(0.0, -offsetDifference);
            break;
          }
          case C120 || CT.C120:
          {
            targetRect = targetRect.translate(-offsetDifference, 0.0);
            break;
          }
        }
        return new viewport.RevealedOffset.new({offset: targetOffset, rect: targetRect});
      }
      computeAbsolutePaintOffset(child, layoutOffset, growthDirection) {
        if (!dart.test(this.hasSize)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 819, 12, "hasSize");
        if (!(this.axisDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 820, 12, "axisDirection != null");
        if (!(growthDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 821, 12, "growthDirection != null");
        if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 822, 12, "child != null");
        if (!(child.geometry != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 823, 12, "child.geometry != null");
        switch (sliver$.applyGrowthDirectionToAxisDirection(this.axisDirection, growthDirection)) {
          case C116 || CT.C116:
          {
            return new ui.Offset.new(0.0, dart.notNull(this.size.height) - (dart.notNull(layoutOffset) + dart.notNull(child.geometry.paintExtent)));
          }
          case C117 || CT.C117:
          {
            return new ui.Offset.new(layoutOffset, 0.0);
          }
          case C118 || CT.C118:
          {
            return new ui.Offset.new(0.0, layoutOffset);
          }
          case C120 || CT.C120:
          {
            return new ui.Offset.new(dart.notNull(this.size.width) - (dart.notNull(layoutOffset) + dart.notNull(child.geometry.paintExtent)), 0.0);
          }
        }
        return null;
      }
      debugFillProperties(properties) {
        super.debugFillProperties(properties);
        properties.add(new (EnumPropertyOfAxisDirection()).new("axisDirection", this.axisDirection));
        properties.add(new (EnumPropertyOfAxisDirection()).new("crossAxisDirection", this.crossAxisDirection));
        properties.add(new (DiagnosticsPropertyOfViewportOffset()).new("offset", this.offset));
      }
      debugDescribeChildren() {
        let children = JSArrayOfDiagnosticsNode().of([]);
        let child = this.firstChild;
        if (child == null) return children;
        let count = this.indexOfFirstChild;
        while (true) {
          children[$add](child.toDiagnosticsNode({name: this.labelForChild(count)}));
          if (dart.equals(child, this.lastChild)) break;
          count = dart.notNull(count) + 1;
          child = this.childAfter(child);
        }
        return children;
      }
      showOnScreen(opts) {
        let descendant = opts && 'descendant' in opts ? opts.descendant : null;
        let rect = opts && 'rect' in opts ? opts.rect : null;
        let duration = opts && 'duration' in opts ? opts.duration : C4 || CT.C4;
        let curve = opts && 'curve' in opts ? opts.curve : C5 || CT.C5;
        if (!dart.test(this.offset.allowImplicitScrolling)) {
          return super.showOnScreen({descendant: descendant, rect: rect, duration: duration, curve: curve});
        }
        let newRect = viewport.RenderViewportBase.showInViewport({descendant: descendant, viewport: this, offset: this.offset, rect: rect, duration: duration, curve: curve});
        super.showOnScreen({rect: newRect, duration: duration, curve: curve});
      }
      static showInViewport(opts) {
        let t27;
        let descendant = opts && 'descendant' in opts ? opts.descendant : null;
        let rect = opts && 'rect' in opts ? opts.rect : null;
        let viewport = opts && 'viewport' in opts ? opts.viewport : null;
        let offset = opts && 'offset' in opts ? opts.offset : null;
        let duration = opts && 'duration' in opts ? opts.duration : C4 || CT.C4;
        let curve = opts && 'curve' in opts ? opts.curve : C5 || CT.C5;
        if (!(viewport != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1033, 12, "viewport != null");
        if (!(offset != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1034, 12, "offset != null");
        if (descendant == null) {
          return rect;
        }
        let leadingEdgeOffset = viewport.getOffsetToReveal(descendant, 0.0, {rect: rect});
        let trailingEdgeOffset = viewport.getOffsetToReveal(descendant, 1.0, {rect: rect});
        let currentOffset = offset.pixels;
        let targetOffset = null;
        if (dart.notNull(leadingEdgeOffset.offset) < dart.notNull(trailingEdgeOffset.offset)) {
          let leadingEdgeDiff = (dart.notNull(offset.pixels) - dart.notNull(leadingEdgeOffset.offset))[$abs]();
          let trailingEdgeDiff = (dart.notNull(offset.pixels) - dart.notNull(trailingEdgeOffset.offset))[$abs]();
          targetOffset = leadingEdgeDiff < trailingEdgeDiff ? leadingEdgeOffset : trailingEdgeOffset;
        } else if (dart.notNull(currentOffset) > dart.notNull(leadingEdgeOffset.offset)) {
          targetOffset = leadingEdgeOffset;
        } else if (dart.notNull(currentOffset) < dart.notNull(trailingEdgeOffset.offset)) {
          targetOffset = trailingEdgeOffset;
        } else {
          let transform = descendant.getTransformTo(object$.RenderObject.as(viewport.parent));
          return matrix_utils.MatrixUtils.transformRect(transform, (t27 = rect, t27 == null ? descendant.paintBounds : t27));
        }
        if (!(targetOffset != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1085, 12, "targetOffset != null");
        offset.moveTo(targetOffset.offset, {duration: duration, curve: curve});
        return targetOffset.rect;
      }
    }
    (RenderViewportBase.new = function(opts) {
      let t27;
      let axisDirection = opts && 'axisDirection' in opts ? opts.axisDirection : C118 || CT.C118;
      let crossAxisDirection = opts && 'crossAxisDirection' in opts ? opts.crossAxisDirection : null;
      let offset = opts && 'offset' in opts ? opts.offset : null;
      let cacheExtent = opts && 'cacheExtent' in opts ? opts.cacheExtent : null;
      let cacheExtentStyle = opts && 'cacheExtentStyle' in opts ? opts.cacheExtentStyle : C130 || CT.C130;
      this[_calculatedCacheExtent] = null;
      if (!(axisDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 174, 15, "axisDirection != null");
      if (!(crossAxisDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 175, 15, "crossAxisDirection != null");
      if (!(offset != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 176, 15, "offset != null");
      if (!!dart.equals(basic_types$.axisDirectionToAxis(axisDirection), basic_types$.axisDirectionToAxis(crossAxisDirection))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 177, 15, "axisDirectionToAxis(axisDirection) != axisDirectionToAxis(crossAxisDirection)");
      if (!(cacheExtentStyle != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 178, 15, "cacheExtentStyle != null");
      if (!(cacheExtent != null || dart.equals(cacheExtentStyle, viewport.CacheExtentStyle.pixel))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 179, 15, "cacheExtent != null || cacheExtentStyle == CacheExtentStyle.pixel");
      this[_axisDirection] = axisDirection;
      this[_crossAxisDirection] = crossAxisDirection;
      this[_offset$0] = offset;
      this[_cacheExtent] = (t27 = cacheExtent, t27 == null ? 250 : t27);
      this[_cacheExtentStyle] = cacheExtentStyle;
      RenderViewportBase.__proto__.new.call(this);
      ;
    }).prototype = RenderViewportBase.prototype;
    dart.addTypeTests(RenderViewportBase);
    RenderViewportBase.prototype[_is_RenderViewportBase_default] = true;
    RenderViewportBase[dart.implements] = () => [viewport.RenderAbstractViewport];
    dart.setMethodSignature(RenderViewportBase, () => ({
      __proto__: dart.getMethods(RenderViewportBase.__proto__),
      debugThrowIfNotCheckingIntrinsics: dart.fnType(core.bool, []),
      layoutChildSequence: dart.fnType(core.double, [], {advance: dart.fnType(sliver$.RenderSliver, [sliver$.RenderSliver]), cacheOrigin: core.double, child: sliver$.RenderSliver, crossAxisExtent: core.double, growthDirection: sliver$.GrowthDirection, layoutOffset: core.double, mainAxisExtent: core.double, overlap: core.double, remainingCacheExtent: core.double, remainingPaintExtent: core.double, scrollOffset: core.double}, {}),
      [_paintContents]: dart.fnType(dart.void, [object$.PaintingContext, ui.Offset]),
      getOffsetToReveal: dart.fnType(viewport.RevealedOffset, [object$.RenderObject, core.double], {rect: ui.Rect}, {}),
      computeAbsolutePaintOffset: dart.fnType(ui.Offset, [sliver$.RenderSliver, core.double, sliver$.GrowthDirection])
    }));
    dart.setGetterSignature(RenderViewportBase, () => ({
      __proto__: dart.getGetters(RenderViewportBase.__proto__),
      axisDirection: basic_types$.AxisDirection,
      crossAxisDirection: basic_types$.AxisDirection,
      axis: basic_types$.Axis,
      offset: viewport_offset.ViewportOffset,
      cacheExtent: core.double,
      cacheExtentStyle: viewport.CacheExtentStyle
    }));
    dart.setSetterSignature(RenderViewportBase, () => ({
      __proto__: dart.getSetters(RenderViewportBase.__proto__),
      axisDirection: basic_types$.AxisDirection,
      crossAxisDirection: basic_types$.AxisDirection,
      offset: viewport_offset.ViewportOffset,
      cacheExtent: core.double,
      cacheExtentStyle: viewport.CacheExtentStyle
    }));
    dart.setLibraryUri(RenderViewportBase, "package:flutter/src/rendering/viewport.dart");
    dart.setFieldSignature(RenderViewportBase, () => ({
      __proto__: dart.getFields(RenderViewportBase.__proto__),
      [_axisDirection]: dart.fieldType(basic_types$.AxisDirection),
      [_crossAxisDirection]: dart.fieldType(basic_types$.AxisDirection),
      [_offset$0]: dart.fieldType(viewport_offset.ViewportOffset),
      [_cacheExtent]: dart.fieldType(core.double),
      [_calculatedCacheExtent]: dart.fieldType(core.double),
      [_cacheExtentStyle]: dart.fieldType(viewport.CacheExtentStyle)
    }));
    return RenderViewportBase;
  });
  viewport.RenderViewportBase = viewport.RenderViewportBase$();
  dart.addTypeTests(viewport.RenderViewportBase, _is_RenderViewportBase_default);
  const _minScrollExtent = dart.privateName(viewport, "_minScrollExtent");
  const _maxScrollExtent = dart.privateName(viewport, "_maxScrollExtent");
  const _hasVisualOverflow$0 = dart.privateName(viewport, "_hasVisualOverflow");
  const _anchor = dart.privateName(viewport, "_anchor");
  const _center = dart.privateName(viewport, "_center");
  const _attemptLayout = dart.privateName(viewport, "_attemptLayout");
  const SemanticsTag_name = dart.privateName(semantics, "SemanticsTag.name");
  let C133;
  let C134;
  viewport.RenderViewport = class RenderViewport extends viewport.RenderViewportBase$(sliver$.SliverPhysicalContainerParentData) {
    setupParentData(child) {
      object$.RenderObject._check(child);
      if (!sliver$.SliverPhysicalContainerParentData.is(child.parentData)) child.parentData = new sliver$.SliverPhysicalContainerParentData.new();
    }
    get anchor() {
      return this[_anchor];
    }
    set anchor(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1203, 12, "value != null");
      if (!(dart.notNull(value) >= 0.0 && dart.notNull(value) <= 1.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1204, 12, "value >= 0.0 && value <= 1.0");
      if (value == this[_anchor]) return;
      this[_anchor] = value;
      this.markNeedsLayout();
    }
    get center() {
      return this[_center];
    }
    set center(value) {
      if (dart.equals(value, this[_center])) return;
      this[_center] = value;
      this.markNeedsLayout();
    }
    get sizedByParent() {
      return true;
    }
    performResize() {
      if (!dart.test(dart.fn(() => {
        if (!dart.test(this.constraints.hasBoundedHeight) || !dart.test(this.constraints.hasBoundedWidth)) {
          switch (this.axis) {
            case C31 || CT.C31:
            {
              if (!dart.test(this.constraints.hasBoundedHeight)) {
                dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("Vertical viewport was given unbounded height."), new assertions.ErrorDescription.new("Viewports expand in the scrolling direction to fill their container. " + "In this case, a vertical viewport was given an unlimited amount of " + "vertical space in which to expand. This situation typically happens " + "when a scrollable widget is nested inside another scrollable widget."), new assertions.ErrorHint.new("If this widget is always nested in a scrollable widget there " + "is no need to use a viewport because there will always be enough " + "vertical space for the children. In this case, consider using a " + "Column instead. Otherwise, consider using the \"shrinkWrap\" property " + "(or a ShrinkWrappingViewport) to size the height of the viewport " + "to the sum of the heights of its children.")])));
              }
              if (!dart.test(this.constraints.hasBoundedWidth)) {
                dart.throw(assertions.FlutterError.new("Vertical viewport was given unbounded width.\n" + "Viewports expand in the cross axis to fill their container and " + "constrain their children to match their extent in the cross axis. " + "In this case, a vertical viewport was given an unlimited amount of " + "horizontal space in which to expand."));
              }
              break;
            }
            case C30 || CT.C30:
            {
              if (!dart.test(this.constraints.hasBoundedWidth)) {
                dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("Horizontal viewport was given unbounded width."), new assertions.ErrorDescription.new("Viewports expand in the scrolling direction to fill their container. " + "In this case, a horizontal viewport was given an unlimited amount of " + "horizontal space in which to expand. This situation typically happens " + "when a scrollable widget is nested inside another scrollable widget."), new assertions.ErrorHint.new("If this widget is always nested in a scrollable widget there " + "is no need to use a viewport because there will always be enough " + "horizontal space for the children. In this case, consider using a " + "Row instead. Otherwise, consider using the \"shrinkWrap\" property " + "(or a ShrinkWrappingViewport) to size the width of the viewport " + "to the sum of the widths of its children.")])));
              }
              if (!dart.test(this.constraints.hasBoundedHeight)) {
                dart.throw(assertions.FlutterError.new("Horizontal viewport was given unbounded height.\n" + "Viewports expand in the cross axis to fill their container and " + "constrain their children to match their extent in the cross axis. " + "In this case, a horizontal viewport was given an unlimited amount of " + "vertical space in which to expand."));
              }
              break;
            }
          }
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1235, 12, "() {\r\n      if (!constraints.hasBoundedHeight || !constraints.hasBoundedWidth) {\r\n        switch (axis) {\r\n          case Axis.vertical:\r\n            if (!constraints.hasBoundedHeight) {\r\n              throw FlutterError.fromParts(<DiagnosticsNode>[\r\n                ErrorSummary('Vertical viewport was given unbounded height.'),\r\n                ErrorDescription(\r\n                  'Viewports expand in the scrolling direction to fill their container. '\r\n                  'In this case, a vertical viewport was given an unlimited amount of '\r\n                  'vertical space in which to expand. This situation typically happens '\r\n                  'when a scrollable widget is nested inside another scrollable widget.'\r\n                ),\r\n                ErrorHint(\r\n                  'If this widget is always nested in a scrollable widget there '\r\n                  'is no need to use a viewport because there will always be enough '\r\n                  'vertical space for the children. In this case, consider using a '\r\n                  'Column instead. Otherwise, consider using the \"shrinkWrap\" property '\r\n                  '(or a ShrinkWrappingViewport) to size the height of the viewport '\r\n                  'to the sum of the heights of its children.'\r\n                )\r\n              ]);\r\n            }\r\n            if (!constraints.hasBoundedWidth) {\r\n              throw FlutterError(\r\n                'Vertical viewport was given unbounded width.\\n'\r\n                'Viewports expand in the cross axis to fill their container and '\r\n                'constrain their children to match their extent in the cross axis. '\r\n                'In this case, a vertical viewport was given an unlimited amount of '\r\n                'horizontal space in which to expand.'\r\n              );\r\n            }\r\n            break;\r\n          case Axis.horizontal:\r\n            if (!constraints.hasBoundedWidth) {\r\n              throw FlutterError.fromParts(<DiagnosticsNode>[\r\n                ErrorSummary('Horizontal viewport was given unbounded width.'),\r\n                ErrorDescription(\r\n                  'Viewports expand in the scrolling direction to fill their container. '\r\n                  'In this case, a horizontal viewport was given an unlimited amount of '\r\n                  'horizontal space in which to expand. This situation typically happens '\r\n                  'when a scrollable widget is nested inside another scrollable widget.'\r\n                ),\r\n                ErrorHint(\r\n                  'If this widget is always nested in a scrollable widget there '\r\n                  'is no need to use a viewport because there will always be enough '\r\n                  'horizontal space for the children. In this case, consider using a '\r\n                  'Row instead. Otherwise, consider using the \"shrinkWrap\" property '\r\n                  '(or a ShrinkWrappingViewport) to size the width of the viewport '\r\n                  'to the sum of the widths of its children.'\r\n                )\r\n              ]);\r\n            }\r\n            if (!constraints.hasBoundedHeight) {\r\n              throw FlutterError(\r\n                'Horizontal viewport was given unbounded height.\\n'\r\n                'Viewports expand in the cross axis to fill their container and '\r\n                'constrain their children to match their extent in the cross axis. '\r\n                'In this case, a horizontal viewport was given an unlimited amount of '\r\n                'vertical space in which to expand.'\r\n              );\r\n            }\r\n            break;\r\n        }\r\n      }\r\n      return true;\r\n    }()");
      this.size = this.constraints.biggest;
      switch (this.axis) {
        case C31 || CT.C31:
        {
          this.offset.applyViewportDimension(this.size.height);
          break;
        }
        case C30 || CT.C30:
        {
          this.offset.applyViewportDimension(this.size.width);
          break;
        }
      }
    }
    performLayout() {
      if (this.center == null) {
        if (!(this.firstChild == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1325, 14, "firstChild == null");
        this[_minScrollExtent] = 0.0;
        this[_maxScrollExtent] = 0.0;
        this[_hasVisualOverflow$0] = false;
        this.offset.applyContentDimensions(0.0, 0.0);
        return;
      }
      if (!dart.equals(this.center.parent, this)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1332, 12, "center.parent == this");
      let mainAxisExtent = null;
      let crossAxisExtent = null;
      switch (this.axis) {
        case C31 || CT.C31:
        {
          mainAxisExtent = this.size.height;
          crossAxisExtent = this.size.width;
          break;
        }
        case C30 || CT.C30:
        {
          mainAxisExtent = this.size.width;
          crossAxisExtent = this.size.height;
          break;
        }
      }
      let centerOffsetAdjustment = this.center.centerOffsetAdjustment;
      let correction = null;
      let count = 0;
      do {
        if (!(this.offset.pixels != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1352, 14, "offset.pixels != null");
        correction = this[_attemptLayout](mainAxisExtent, crossAxisExtent, dart.notNull(this.offset.pixels) + dart.notNull(centerOffsetAdjustment));
        if (correction !== 0.0) {
          this.offset.correctBy(correction);
        } else {
          if (dart.test(this.offset.applyContentDimensions(math.min(core.double, 0.0, dart.notNull(this[_minScrollExtent]) + dart.notNull(mainAxisExtent) * dart.notNull(this.anchor)), math.max(core.double, 0.0, dart.notNull(this[_maxScrollExtent]) - dart.notNull(mainAxisExtent) * (1.0 - dart.notNull(this.anchor)))))) break;
        }
        count = count + 1;
      } while (count < 10);
      if (!dart.test(dart.fn(() => {
        if (count >= 10) {
          if (!(count !== 1)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1367, 16, "count != 1");
          dart.throw(assertions.FlutterError.new("A RenderViewport exceeded its maximum number of layout cycles.\n" + "RenderViewport render objects, during layout, can retry if either their " + "slivers or their ViewportOffset decide that the offset should be corrected " + "to take into account information collected during that layout.\n" + "In the case of this RenderViewport object, however, this happened " + dart.str(count) + " " + "times and still there was no consensus on the scroll offset. This usually " + "indicates a bug. Specifically, it means that one of the following three " + "problems is being experienced by the RenderViewport object:\n" + " * One of the RenderSliver children or the ViewportOffset have a bug such" + " that they always think that they need to correct the offset regardless.\n" + " * Some combination of the RenderSliver children and the ViewportOffset" + " have a bad interaction such that one applies a correction then another" + " applies a reverse correction, leading to an infinite loop of corrections.\n" + " * There is a pathological case that would eventually resolve, but it is" + " so complicated that it cannot be resolved in any reasonable number of" + " layout passes."));
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1365, 12, "() {\r\n      if (count >= _maxLayoutCycles) {\r\n        assert(count != 1);\r\n        throw FlutterError(\r\n          'A RenderViewport exceeded its maximum number of layout cycles.\\n'\r\n          'RenderViewport render objects, during layout, can retry if either their '\r\n          'slivers or their ViewportOffset decide that the offset should be corrected '\r\n          'to take into account information collected during that layout.\\n'\r\n          'In the case of this RenderViewport object, however, this happened $count '\r\n          'times and still there was no consensus on the scroll offset. This usually '\r\n          'indicates a bug. Specifically, it means that one of the following three '\r\n          'problems is being experienced by the RenderViewport object:\\n'\r\n          ' * One of the RenderSliver children or the ViewportOffset have a bug such'\r\n          ' that they always think that they need to correct the offset regardless.\\n'\r\n          ' * Some combination of the RenderSliver children and the ViewportOffset'\r\n          ' have a bad interaction such that one applies a correction then another'\r\n          ' applies a reverse correction, leading to an infinite loop of corrections.\\n'\r\n          ' * There is a pathological case that would eventually resolve, but it is'\r\n          ' so complicated that it cannot be resolved in any reasonable number of'\r\n          ' layout passes.'\r\n        );\r\n      }\r\n      return true;\r\n    }()");
    }
    [_attemptLayout](mainAxisExtent, crossAxisExtent, correctedOffset) {
      if (!!mainAxisExtent[$isNaN]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1392, 12, "!mainAxisExtent.isNaN");
      if (!(dart.notNull(mainAxisExtent) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1393, 12, "mainAxisExtent >= 0.0");
      if (!crossAxisExtent[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1394, 12, "crossAxisExtent.isFinite");
      if (!(dart.notNull(crossAxisExtent) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1395, 12, "crossAxisExtent >= 0.0");
      if (!correctedOffset[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1396, 12, "correctedOffset.isFinite");
      this[_minScrollExtent] = 0.0;
      this[_maxScrollExtent] = 0.0;
      this[_hasVisualOverflow$0] = false;
      let centerOffset = dart.notNull(mainAxisExtent) * dart.notNull(this.anchor) - dart.notNull(correctedOffset);
      let reverseDirectionRemainingPaintExtent = centerOffset[$clamp](0.0, mainAxisExtent);
      let forwardDirectionRemainingPaintExtent = (dart.notNull(mainAxisExtent) - centerOffset)[$clamp](0.0, mainAxisExtent);
      switch (this.cacheExtentStyle) {
        case C130 || CT.C130:
        {
          this[_calculatedCacheExtent] = this.cacheExtent;
          break;
        }
        case C131 || CT.C131:
        {
          this[_calculatedCacheExtent] = dart.notNull(mainAxisExtent) * dart.notNull(this.cacheExtent);
          break;
        }
      }
      let fullCacheExtent = dart.notNull(mainAxisExtent) + 2 * dart.notNull(this[_calculatedCacheExtent]);
      let centerCacheOffset = centerOffset + dart.notNull(this[_calculatedCacheExtent]);
      let reverseDirectionRemainingCacheExtent = centerCacheOffset[$clamp](0.0, fullCacheExtent);
      let forwardDirectionRemainingCacheExtent = (fullCacheExtent - centerCacheOffset)[$clamp](0.0, fullCacheExtent);
      let leadingNegativeChild = this.childBefore(this.center);
      if (leadingNegativeChild != null) {
        let result = this.layoutChildSequence({child: leadingNegativeChild, scrollOffset: math.max(core.double, mainAxisExtent, centerOffset) - dart.notNull(mainAxisExtent), overlap: 0.0, layoutOffset: forwardDirectionRemainingPaintExtent, remainingPaintExtent: reverseDirectionRemainingPaintExtent, mainAxisExtent: mainAxisExtent, crossAxisExtent: crossAxisExtent, growthDirection: sliver$.GrowthDirection.reverse, advance: dart.bind(this, 'childBefore'), remainingCacheExtent: reverseDirectionRemainingCacheExtent, cacheOrigin: (dart.notNull(mainAxisExtent) - centerOffset)[$clamp](-dart.notNull(this[_calculatedCacheExtent]), 0.0)});
        if (result !== 0.0) return -dart.notNull(result);
      }
      return this.layoutChildSequence({child: this.center, scrollOffset: math.max(core.double, 0.0, -centerOffset), overlap: leadingNegativeChild == null ? math.min(core.double, 0.0, -centerOffset) : 0.0, layoutOffset: centerOffset >= dart.notNull(mainAxisExtent) ? centerOffset : reverseDirectionRemainingPaintExtent, remainingPaintExtent: forwardDirectionRemainingPaintExtent, mainAxisExtent: mainAxisExtent, crossAxisExtent: crossAxisExtent, growthDirection: sliver$.GrowthDirection.forward, advance: dart.bind(this, 'childAfter'), remainingCacheExtent: forwardDirectionRemainingCacheExtent, cacheOrigin: centerOffset[$clamp](-dart.notNull(this[_calculatedCacheExtent]), 0.0)});
    }
    get hasVisualOverflow() {
      return this[_hasVisualOverflow$0];
    }
    updateOutOfBandData(growthDirection, childLayoutGeometry) {
      switch (growthDirection) {
        case C121 || CT.C121:
        {
          this[_maxScrollExtent] = dart.notNull(this[_maxScrollExtent]) + dart.notNull(childLayoutGeometry.scrollExtent);
          break;
        }
        case C122 || CT.C122:
        {
          this[_minScrollExtent] = dart.notNull(this[_minScrollExtent]) - dart.notNull(childLayoutGeometry.scrollExtent);
          break;
        }
      }
      if (dart.test(childLayoutGeometry.hasVisualOverflow)) this[_hasVisualOverflow$0] = true;
    }
    updateChildLayoutOffset(child, layoutOffset, growthDirection) {
      let childParentData = sliver$.SliverPhysicalParentData.as(child.parentData);
      childParentData.paintOffset = this.computeAbsolutePaintOffset(child, layoutOffset, growthDirection);
    }
    paintOffsetOf(child) {
      let childParentData = sliver$.SliverPhysicalParentData.as(child.parentData);
      return childParentData.paintOffset;
    }
    scrollOffsetOf(child, scrollOffsetWithinChild) {
      if (!dart.equals(child.parent, this)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1490, 12, "child.parent == this");
      let growthDirection = child.constraints.growthDirection;
      if (!(growthDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1492, 12, "growthDirection != null");
      switch (growthDirection) {
        case C121 || CT.C121:
        {
          let scrollOffsetToChild = 0.0;
          let current = this.center;
          while (!dart.equals(current, child)) {
            scrollOffsetToChild = scrollOffsetToChild + dart.notNull(current.geometry.scrollExtent);
            current = this.childAfter(current);
          }
          return scrollOffsetToChild + dart.notNull(scrollOffsetWithinChild);
        }
        case C122 || CT.C122:
        {
          let scrollOffsetToChild = 0.0;
          let current = this.childBefore(this.center);
          while (!dart.equals(current, child)) {
            scrollOffsetToChild = scrollOffsetToChild - dart.notNull(current.geometry.scrollExtent);
            current = this.childBefore(current);
          }
          return scrollOffsetToChild - dart.notNull(scrollOffsetWithinChild);
        }
      }
      return null;
    }
    maxScrollObstructionExtentBefore(child) {
      if (!dart.equals(child.parent, this)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1516, 12, "child.parent == this");
      let growthDirection = child.constraints.growthDirection;
      if (!(growthDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1518, 12, "growthDirection != null");
      switch (growthDirection) {
        case C121 || CT.C121:
        {
          let pinnedExtent = 0.0;
          let current = this.center;
          while (!dart.equals(current, child)) {
            pinnedExtent = pinnedExtent + dart.notNull(current.geometry.maxScrollObstructionExtent);
            current = this.childAfter(current);
          }
          return pinnedExtent;
        }
        case C122 || CT.C122:
        {
          let pinnedExtent = 0.0;
          let current = this.childBefore(this.center);
          while (!dart.equals(current, child)) {
            pinnedExtent = pinnedExtent + dart.notNull(current.geometry.maxScrollObstructionExtent);
            current = this.childBefore(current);
          }
          return pinnedExtent;
        }
      }
      return null;
    }
    applyPaintTransform(child, transform) {
      object$.RenderObject._check(child);
      if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1542, 12, "child != null");
      let childParentData = sliver$.SliverPhysicalParentData.as(child.parentData);
      childParentData.applyPaintTransform(transform);
    }
    computeChildMainAxisPosition(child, parentMainAxisPosition) {
      if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1549, 12, "child != null");
      if (!(child.constraints != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1550, 12, "child.constraints != null");
      let childParentData = sliver$.SliverPhysicalParentData.as(child.parentData);
      switch (sliver$.applyGrowthDirectionToAxisDirection(child.constraints.axisDirection, child.constraints.growthDirection)) {
        case C118 || CT.C118:
        {
          return dart.notNull(parentMainAxisPosition) - dart.notNull(childParentData.paintOffset.dy);
        }
        case C117 || CT.C117:
        {
          return dart.notNull(parentMainAxisPosition) - dart.notNull(childParentData.paintOffset.dx);
        }
        case C116 || CT.C116:
        {
          return dart.notNull(child.geometry.paintExtent) - (dart.notNull(parentMainAxisPosition) - dart.notNull(childParentData.paintOffset.dy));
        }
        case C120 || CT.C120:
        {
          return dart.notNull(child.geometry.paintExtent) - (dart.notNull(parentMainAxisPosition) - dart.notNull(childParentData.paintOffset.dx));
        }
      }
      return 0.0;
    }
    get indexOfFirstChild() {
      if (!(this.center != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1567, 12, "center != null");
      if (!dart.equals(this.center.parent, this)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1568, 12, "center.parent == this");
      if (!(this.firstChild != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1569, 12, "firstChild != null");
      let count = 0;
      let child = this.center;
      while (!dart.equals(child, this.firstChild)) {
        count = count - 1;
        child = this.childBefore(child);
      }
      return count;
    }
    labelForChild(index) {
      if (index === 0) return "center child";
      return "child " + dart.str(index);
    }
    get childrenInPaintOrder() {
      return new (SyncIterableOfRenderSliver()).new((function* childrenInPaintOrder() {
        if (this.firstChild == null) return;
        let child = this.firstChild;
        while (!dart.equals(child, this.center)) {
          yield child;
          child = this.childAfter(child);
        }
        child = this.lastChild;
        while (true) {
          yield child;
          if (dart.equals(child, this.center)) return;
          child = this.childBefore(child);
        }
      }).bind(this));
    }
    get childrenInHitTestOrder() {
      return new (SyncIterableOfRenderSliver()).new((function* childrenInHitTestOrder() {
        if (this.firstChild == null) return;
        let child = this.center;
        while (child != null) {
          yield child;
          child = this.childAfter(child);
        }
        child = this.childBefore(this.center);
        while (child != null) {
          yield child;
          child = this.childBefore(child);
        }
      }).bind(this));
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new diagnostics.DoubleProperty.new("anchor", this.anchor));
    }
  };
  (viewport.RenderViewport.new = function(opts) {
    let axisDirection = opts && 'axisDirection' in opts ? opts.axisDirection : C118 || CT.C118;
    let crossAxisDirection = opts && 'crossAxisDirection' in opts ? opts.crossAxisDirection : null;
    let offset = opts && 'offset' in opts ? opts.offset : null;
    let anchor = opts && 'anchor' in opts ? opts.anchor : 0;
    let children = opts && 'children' in opts ? opts.children : null;
    let center = opts && 'center' in opts ? opts.center : null;
    let cacheExtent = opts && 'cacheExtent' in opts ? opts.cacheExtent : null;
    let cacheExtentStyle = opts && 'cacheExtentStyle' in opts ? opts.cacheExtentStyle : C130 || CT.C130;
    this[_minScrollExtent] = null;
    this[_maxScrollExtent] = null;
    this[_hasVisualOverflow$0] = false;
    if (!(anchor != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1140, 15, "anchor != null");
    if (!(dart.notNull(anchor) >= 0.0 && dart.notNull(anchor) <= 1.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1141, 15, "anchor >= 0.0 && anchor <= 1.0");
    if (!(!dart.equals(cacheExtentStyle, viewport.CacheExtentStyle.viewport) || cacheExtent != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1142, 15, "cacheExtentStyle != CacheExtentStyle.viewport || cacheExtent != null");
    this[_anchor] = anchor;
    this[_center] = center;
    viewport.RenderViewport.__proto__.new.call(this, {axisDirection: axisDirection, crossAxisDirection: crossAxisDirection, offset: offset, cacheExtent: cacheExtent, cacheExtentStyle: cacheExtentStyle});
    this.addAll(children);
    if (center == null && this.firstChild != null) this[_center] = this.firstChild;
  }).prototype = viewport.RenderViewport.prototype;
  dart.addTypeTests(viewport.RenderViewport);
  dart.setMethodSignature(viewport.RenderViewport, () => ({
    __proto__: dart.getMethods(viewport.RenderViewport.__proto__),
    [_attemptLayout]: dart.fnType(core.double, [core.double, core.double, core.double]),
    updateOutOfBandData: dart.fnType(dart.void, [sliver$.GrowthDirection, sliver$.SliverGeometry]),
    updateChildLayoutOffset: dart.fnType(dart.void, [sliver$.RenderSliver, core.double, sliver$.GrowthDirection]),
    paintOffsetOf: dart.fnType(ui.Offset, [sliver$.RenderSliver]),
    scrollOffsetOf: dart.fnType(core.double, [sliver$.RenderSliver, core.double]),
    maxScrollObstructionExtentBefore: dart.fnType(core.double, [sliver$.RenderSliver]),
    computeChildMainAxisPosition: dart.fnType(core.double, [sliver$.RenderSliver, core.double]),
    labelForChild: dart.fnType(core.String, [core.int])
  }));
  dart.setGetterSignature(viewport.RenderViewport, () => ({
    __proto__: dart.getGetters(viewport.RenderViewport.__proto__),
    anchor: core.double,
    center: sliver$.RenderSliver,
    hasVisualOverflow: core.bool,
    indexOfFirstChild: core.int,
    childrenInPaintOrder: core.Iterable$(sliver$.RenderSliver),
    childrenInHitTestOrder: core.Iterable$(sliver$.RenderSliver)
  }));
  dart.setSetterSignature(viewport.RenderViewport, () => ({
    __proto__: dart.getSetters(viewport.RenderViewport.__proto__),
    anchor: core.double,
    center: sliver$.RenderSliver
  }));
  dart.setLibraryUri(viewport.RenderViewport, "package:flutter/src/rendering/viewport.dart");
  dart.setFieldSignature(viewport.RenderViewport, () => ({
    __proto__: dart.getFields(viewport.RenderViewport.__proto__),
    [_anchor]: dart.fieldType(core.double),
    [_center]: dart.fieldType(sliver$.RenderSliver),
    [_minScrollExtent]: dart.fieldType(core.double),
    [_maxScrollExtent]: dart.fieldType(core.double),
    [_hasVisualOverflow$0]: dart.fieldType(core.bool)
  }));
  dart.defineLazy(viewport.RenderViewport, {
    /*viewport.RenderViewport.useTwoPaneSemantics*/get useTwoPaneSemantics() {
      return C133 || CT.C133;
    },
    /*viewport.RenderViewport.excludeFromScrolling*/get excludeFromScrolling() {
      return C134 || CT.C134;
    },
    /*viewport.RenderViewport._maxLayoutCycles*/get _maxLayoutCycles() {
      return 10;
    }
  });
  const _shrinkWrapExtent = dart.privateName(viewport, "_shrinkWrapExtent");
  viewport.RenderShrinkWrappingViewport = class RenderShrinkWrappingViewport extends viewport.RenderViewportBase$(sliver$.SliverLogicalContainerParentData) {
    setupParentData(child) {
      object$.RenderObject._check(child);
      if (!sliver$.SliverLogicalContainerParentData.is(child.parentData)) child.parentData = new sliver$.SliverLogicalContainerParentData.new();
    }
    debugThrowIfNotCheckingIntrinsics() {
      if (!dart.test(dart.fn(() => {
        if (!dart.test(object$.RenderObject.debugCheckingIntrinsics)) {
          dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new(dart.str(this[$runtimeType]) + " does not support returning intrinsic dimensions."), new assertions.ErrorDescription.new("Calculating the intrinsic dimensions would require instantiating every child of " + "the viewport, which defeats the point of viewports being lazy."), new assertions.ErrorHint.new("If you are merely trying to shrink-wrap the viewport in the main axis direction, " + "you should be able to achieve that effect by just giving the viewport loose " + "constraints, without needing to measure its intrinsic dimensions.")])));
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1675, 12, "() {\r\n      if (!RenderObject.debugCheckingIntrinsics) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('$runtimeType does not support returning intrinsic dimensions.'),\r\n          ErrorDescription(\r\n           'Calculating the intrinsic dimensions would require instantiating every child of '\r\n           'the viewport, which defeats the point of viewports being lazy.'\r\n          ),\r\n          ErrorHint(\r\n            'If you are merely trying to shrink-wrap the viewport in the main axis direction, '\r\n            'you should be able to achieve that effect by just giving the viewport loose '\r\n            'constraints, without needing to measure its intrinsic dimensions.'\r\n          )\r\n        ]);\r\n      }\r\n      return true;\r\n    }()");
      return true;
    }
    performLayout() {
      if (this.firstChild == null) {
        switch (this.axis) {
          case C31 || CT.C31:
          {
            if (!dart.test(this.constraints.hasBoundedWidth)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1705, 18, "constraints.hasBoundedWidth");
            this.size = new ui.Size.new(this.constraints.maxWidth, this.constraints.minHeight);
            break;
          }
          case C30 || CT.C30:
          {
            if (!dart.test(this.constraints.hasBoundedHeight)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1709, 18, "constraints.hasBoundedHeight");
            this.size = new ui.Size.new(this.constraints.minWidth, this.constraints.maxHeight);
            break;
          }
        }
        this.offset.applyViewportDimension(0.0);
        this[_maxScrollExtent] = 0.0;
        this[_shrinkWrapExtent] = 0.0;
        this[_hasVisualOverflow$0] = false;
        this.offset.applyContentDimensions(0.0, 0.0);
        return;
      }
      let mainAxisExtent = null;
      let crossAxisExtent = null;
      switch (this.axis) {
        case C31 || CT.C31:
        {
          if (!dart.test(this.constraints.hasBoundedWidth)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1725, 16, "constraints.hasBoundedWidth");
          mainAxisExtent = this.constraints.maxHeight;
          crossAxisExtent = this.constraints.maxWidth;
          break;
        }
        case C30 || CT.C30:
        {
          if (!dart.test(this.constraints.hasBoundedHeight)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1730, 16, "constraints.hasBoundedHeight");
          mainAxisExtent = this.constraints.maxWidth;
          crossAxisExtent = this.constraints.maxHeight;
          break;
        }
      }
      let correction = null;
      let effectiveExtent = null;
      do {
        if (!(this.offset.pixels != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1739, 14, "offset.pixels != null");
        correction = this[_attemptLayout](mainAxisExtent, crossAxisExtent, this.offset.pixels);
        if (correction !== 0.0) {
          this.offset.correctBy(correction);
        } else {
          switch (this.axis) {
            case C31 || CT.C31:
            {
              effectiveExtent = this.constraints.constrainHeight(this[_shrinkWrapExtent]);
              break;
            }
            case C30 || CT.C30:
            {
              effectiveExtent = this.constraints.constrainWidth(this[_shrinkWrapExtent]);
              break;
            }
          }
          let didAcceptViewportDimension = this.offset.applyViewportDimension(effectiveExtent);
          let didAcceptContentDimension = this.offset.applyContentDimensions(0.0, math.max(core.double, 0.0, dart.notNull(this[_maxScrollExtent]) - dart.notNull(effectiveExtent)));
          if (dart.test(didAcceptViewportDimension) && dart.test(didAcceptContentDimension)) break;
        }
      } while (true);
      switch (this.axis) {
        case C31 || CT.C31:
        {
          this.size = this.constraints.constrainDimensions(crossAxisExtent, effectiveExtent);
          break;
        }
        case C30 || CT.C30:
        {
          this.size = this.constraints.constrainDimensions(effectiveExtent, crossAxisExtent);
          break;
        }
      }
    }
    [_attemptLayout](mainAxisExtent, crossAxisExtent, correctedOffset) {
      if (!!mainAxisExtent[$isNaN]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1774, 12, "!mainAxisExtent.isNaN");
      if (!(dart.notNull(mainAxisExtent) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1775, 12, "mainAxisExtent >= 0.0");
      if (!crossAxisExtent[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1776, 12, "crossAxisExtent.isFinite");
      if (!(dart.notNull(crossAxisExtent) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1777, 12, "crossAxisExtent >= 0.0");
      if (!correctedOffset[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1778, 12, "correctedOffset.isFinite");
      this[_maxScrollExtent] = 0.0;
      this[_shrinkWrapExtent] = 0.0;
      this[_hasVisualOverflow$0] = false;
      return this.layoutChildSequence({child: this.firstChild, scrollOffset: math.max(core.double, 0.0, correctedOffset), overlap: math.min(core.double, 0.0, correctedOffset), layoutOffset: 0.0, remainingPaintExtent: mainAxisExtent, mainAxisExtent: mainAxisExtent, crossAxisExtent: crossAxisExtent, growthDirection: sliver$.GrowthDirection.forward, advance: dart.bind(this, 'childAfter'), remainingCacheExtent: dart.notNull(mainAxisExtent) + 2 * dart.notNull(this.cacheExtent), cacheOrigin: -dart.notNull(this.cacheExtent)});
    }
    get hasVisualOverflow() {
      return this[_hasVisualOverflow$0];
    }
    updateOutOfBandData(growthDirection, childLayoutGeometry) {
      if (!dart.equals(growthDirection, sliver$.GrowthDirection.forward)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1802, 12, "growthDirection == GrowthDirection.forward");
      this[_maxScrollExtent] = dart.notNull(this[_maxScrollExtent]) + dart.notNull(childLayoutGeometry.scrollExtent);
      if (dart.test(childLayoutGeometry.hasVisualOverflow)) this[_hasVisualOverflow$0] = true;
      this[_shrinkWrapExtent] = dart.notNull(this[_shrinkWrapExtent]) + dart.notNull(childLayoutGeometry.maxPaintExtent);
    }
    updateChildLayoutOffset(child, layoutOffset, growthDirection) {
      if (!dart.equals(growthDirection, sliver$.GrowthDirection.forward)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1811, 12, "growthDirection == GrowthDirection.forward");
      let childParentData = sliver$.SliverLogicalParentData.as(child.parentData);
      childParentData.layoutOffset = layoutOffset;
    }
    paintOffsetOf(child) {
      let childParentData = sliver$.SliverLogicalParentData.as(child.parentData);
      return this.computeAbsolutePaintOffset(child, childParentData.layoutOffset, sliver$.GrowthDirection.forward);
    }
    scrollOffsetOf(child, scrollOffsetWithinChild) {
      if (!dart.equals(child.parent, this)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1824, 12, "child.parent == this");
      if (!dart.equals(child.constraints.growthDirection, sliver$.GrowthDirection.forward)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1825, 12, "child.constraints.growthDirection == GrowthDirection.forward");
      let scrollOffsetToChild = 0.0;
      let current = this.firstChild;
      while (!dart.equals(current, child)) {
        scrollOffsetToChild = scrollOffsetToChild + dart.notNull(current.geometry.scrollExtent);
        current = this.childAfter(current);
      }
      return scrollOffsetToChild + dart.notNull(scrollOffsetWithinChild);
    }
    maxScrollObstructionExtentBefore(child) {
      if (!dart.equals(child.parent, this)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1837, 12, "child.parent == this");
      if (!dart.equals(child.constraints.growthDirection, sliver$.GrowthDirection.forward)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1838, 12, "child.constraints.growthDirection == GrowthDirection.forward");
      let pinnedExtent = 0.0;
      let current = this.firstChild;
      while (!dart.equals(current, child)) {
        pinnedExtent = pinnedExtent + dart.notNull(current.geometry.maxScrollObstructionExtent);
        current = this.childAfter(current);
      }
      return pinnedExtent;
    }
    applyPaintTransform(child, transform) {
      object$.RenderObject._check(child);
      if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1850, 12, "child != null");
      let offset = this.paintOffsetOf(sliver$.RenderSliver.as(child));
      transform.translate(offset.dx, offset.dy);
    }
    computeChildMainAxisPosition(child, parentMainAxisPosition) {
      if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1857, 12, "child != null");
      if (!(child.constraints != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1858, 12, "child.constraints != null");
      if (!dart.test(this.hasSize)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/viewport.dart", 1859, 12, "hasSize");
      let childParentData = sliver$.SliverLogicalParentData.as(child.parentData);
      switch (sliver$.applyGrowthDirectionToAxisDirection(child.constraints.axisDirection, child.constraints.growthDirection)) {
        case C118 || CT.C118:
        case C117 || CT.C117:
        {
          return dart.notNull(parentMainAxisPosition) - dart.notNull(childParentData.layoutOffset);
        }
        case C116 || CT.C116:
        {
          return dart.notNull(this.size.height) - dart.notNull(parentMainAxisPosition) - dart.notNull(childParentData.layoutOffset);
        }
        case C120 || CT.C120:
        {
          return dart.notNull(this.size.width) - dart.notNull(parentMainAxisPosition) - dart.notNull(childParentData.layoutOffset);
        }
      }
      return 0.0;
    }
    get indexOfFirstChild() {
      return 0;
    }
    labelForChild(index) {
      return "child " + dart.str(index);
    }
    get childrenInPaintOrder() {
      return new (SyncIterableOfRenderSliver()).new((function* childrenInPaintOrder() {
        let child = this.firstChild;
        while (child != null) {
          yield child;
          child = this.childAfter(child);
        }
      }).bind(this));
    }
    get childrenInHitTestOrder() {
      return new (SyncIterableOfRenderSliver()).new((function* childrenInHitTestOrder() {
        let child = this.lastChild;
        while (child != null) {
          yield child;
          child = this.childBefore(child);
        }
      }).bind(this));
    }
  };
  (viewport.RenderShrinkWrappingViewport.new = function(opts) {
    let axisDirection = opts && 'axisDirection' in opts ? opts.axisDirection : C118 || CT.C118;
    let crossAxisDirection = opts && 'crossAxisDirection' in opts ? opts.crossAxisDirection : null;
    let offset = opts && 'offset' in opts ? opts.offset : null;
    let children = opts && 'children' in opts ? opts.children : null;
    this[_maxScrollExtent] = null;
    this[_shrinkWrapExtent] = null;
    this[_hasVisualOverflow$0] = false;
    viewport.RenderShrinkWrappingViewport.__proto__.new.call(this, {axisDirection: axisDirection, crossAxisDirection: crossAxisDirection, offset: offset});
    this.addAll(children);
  }).prototype = viewport.RenderShrinkWrappingViewport.prototype;
  dart.addTypeTests(viewport.RenderShrinkWrappingViewport);
  dart.setMethodSignature(viewport.RenderShrinkWrappingViewport, () => ({
    __proto__: dart.getMethods(viewport.RenderShrinkWrappingViewport.__proto__),
    [_attemptLayout]: dart.fnType(core.double, [core.double, core.double, core.double]),
    updateOutOfBandData: dart.fnType(dart.void, [sliver$.GrowthDirection, sliver$.SliverGeometry]),
    updateChildLayoutOffset: dart.fnType(dart.void, [sliver$.RenderSliver, core.double, sliver$.GrowthDirection]),
    paintOffsetOf: dart.fnType(ui.Offset, [sliver$.RenderSliver]),
    scrollOffsetOf: dart.fnType(core.double, [sliver$.RenderSliver, core.double]),
    maxScrollObstructionExtentBefore: dart.fnType(core.double, [sliver$.RenderSliver]),
    computeChildMainAxisPosition: dart.fnType(core.double, [sliver$.RenderSliver, core.double]),
    labelForChild: dart.fnType(core.String, [core.int])
  }));
  dart.setGetterSignature(viewport.RenderShrinkWrappingViewport, () => ({
    __proto__: dart.getGetters(viewport.RenderShrinkWrappingViewport.__proto__),
    hasVisualOverflow: core.bool,
    indexOfFirstChild: core.int,
    childrenInPaintOrder: core.Iterable$(sliver$.RenderSliver),
    childrenInHitTestOrder: core.Iterable$(sliver$.RenderSliver)
  }));
  dart.setLibraryUri(viewport.RenderShrinkWrappingViewport, "package:flutter/src/rendering/viewport.dart");
  dart.setFieldSignature(viewport.RenderShrinkWrappingViewport, () => ({
    __proto__: dart.getFields(viewport.RenderShrinkWrappingViewport.__proto__),
    [_maxScrollExtent]: dart.fieldType(core.double),
    [_shrinkWrapExtent]: dart.fieldType(core.double),
    [_hasVisualOverflow$0]: dart.fieldType(core.bool)
  }));
  const _name$14 = dart.privateName(animated_size, "_name");
  let C135;
  let C136;
  let C137;
  let C138;
  let C139;
  animated_size.RenderAnimatedSizeState = class RenderAnimatedSizeState extends core.Object {
    toString() {
      return this[_name$14];
    }
  };
  (animated_size.RenderAnimatedSizeState.new = function(index, _name) {
    this.index = index;
    this[_name$14] = _name;
    ;
  }).prototype = animated_size.RenderAnimatedSizeState.prototype;
  dart.addTypeTests(animated_size.RenderAnimatedSizeState);
  dart.setLibraryUri(animated_size.RenderAnimatedSizeState, "package:flutter/src/rendering/animated_size.dart");
  dart.setFieldSignature(animated_size.RenderAnimatedSizeState, () => ({
    __proto__: dart.getFields(animated_size.RenderAnimatedSizeState.__proto__),
    index: dart.finalFieldType(core.int),
    [_name$14]: dart.finalFieldType(core.String)
  }));
  dart.defineExtensionMethods(animated_size.RenderAnimatedSizeState, ['toString']);
  animated_size.RenderAnimatedSizeState.start = C135 || CT.C135;
  animated_size.RenderAnimatedSizeState.stable = C136 || CT.C136;
  animated_size.RenderAnimatedSizeState.changed = C137 || CT.C137;
  animated_size.RenderAnimatedSizeState.unstable = C138 || CT.C138;
  animated_size.RenderAnimatedSizeState.values = C139 || CT.C139;
  let C140;
  const _controller$ = dart.privateName(animated_size, "_controller");
  const _animation = dart.privateName(animated_size, "_animation");
  const _sizeTween = dart.privateName(animated_size, "_sizeTween");
  const _hasVisualOverflow$1 = dart.privateName(animated_size, "_hasVisualOverflow");
  const _lastValue = dart.privateName(animated_size, "_lastValue");
  const _state$ = dart.privateName(animated_size, "_state");
  const _vsync = dart.privateName(animated_size, "_vsync");
  const _animatedSize = dart.privateName(animated_size, "_animatedSize");
  const _layoutStart = dart.privateName(animated_size, "_layoutStart");
  const _layoutStable = dart.privateName(animated_size, "_layoutStable");
  const _layoutChanged = dart.privateName(animated_size, "_layoutChanged");
  const _layoutUnstable = dart.privateName(animated_size, "_layoutUnstable");
  const _restartAnimation = dart.privateName(animated_size, "_restartAnimation");
  animated_size.RenderAnimatedSize = class RenderAnimatedSize extends shifted_box.RenderAligningShiftedBox {
    get state() {
      return this[_state$];
    }
    get duration() {
      return this[_controller$].duration;
    }
    set duration(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/animated_size.dart", 119, 12, "value != null");
      if (dart.equals(value, this[_controller$].duration)) return;
      this[_controller$].duration = value;
    }
    get reverseDuration() {
      return this[_controller$].reverseDuration;
    }
    set reverseDuration(value) {
      if (dart.equals(value, this[_controller$].reverseDuration)) return;
      this[_controller$].reverseDuration = value;
    }
    get curve() {
      return this[_animation].curve;
    }
    set curve(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/animated_size.dart", 136, 12, "value != null");
      if (dart.equals(value, this[_animation].curve)) return;
      this[_animation].curve = value;
    }
    get isAnimating() {
      return this[_controller$].isAnimating;
    }
    get vsync() {
      return this[_vsync];
    }
    set vsync(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/animated_size.dart", 152, 12, "value != null");
      if (dart.equals(value, this[_vsync])) return;
      this[_vsync] = value;
      this[_controller$].resync(this.vsync);
    }
    detach() {
      this[_controller$].stop();
      super.detach();
    }
    get [_animatedSize]() {
      return this[_sizeTween].evaluate(this[_animation]);
    }
    performLayout() {
      let t27;
      this[_lastValue] = this[_controller$].value;
      this[_hasVisualOverflow$1] = false;
      if (this.child == null || dart.test(this.constraints.isTight)) {
        this[_controller$].stop();
        this.size = this[_sizeTween].begin = this[_sizeTween].end = this.constraints.smallest;
        this[_state$] = animated_size.RenderAnimatedSizeState.start;
        t27 = this.child;
        t27 == null ? null : t27.layout(this.constraints);
        return;
      }
      this.child.layout(this.constraints, {parentUsesSize: true});
      if (!(this[_state$] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/animated_size.dart", 184, 12, "_state != null");
      switch (this[_state$]) {
        case C135 || CT.C135:
        {
          this[_layoutStart]();
          break;
        }
        case C136 || CT.C136:
        {
          this[_layoutStable]();
          break;
        }
        case C137 || CT.C137:
        {
          this[_layoutChanged]();
          break;
        }
        case C138 || CT.C138:
        {
          this[_layoutUnstable]();
          break;
        }
      }
      this.size = this.constraints.constrain(this[_animatedSize]);
      this.alignChild();
      if (dart.notNull(this.size.width) < dart.notNull(this[_sizeTween].end.width) || dart.notNull(this.size.height) < dart.notNull(this[_sizeTween].end.height)) this[_hasVisualOverflow$1] = true;
    }
    [_restartAnimation]() {
      this[_lastValue] = 0.0;
      this[_controller$].forward({from: 0.0});
    }
    [_layoutStart]() {
      this[_sizeTween].begin = this[_sizeTween].end = this.debugAdoptSize(this.child.size);
      this[_state$] = animated_size.RenderAnimatedSizeState.stable;
    }
    [_layoutStable]() {
      if (!dart.equals(this[_sizeTween].end, this.child.size)) {
        this[_sizeTween].begin = this.size;
        this[_sizeTween].end = this.debugAdoptSize(this.child.size);
        this[_restartAnimation]();
        this[_state$] = animated_size.RenderAnimatedSizeState.changed;
      } else if (this[_controller$].value == this[_controller$].upperBound) {
        this[_sizeTween].begin = this[_sizeTween].end = this.debugAdoptSize(this.child.size);
      } else if (!dart.test(this[_controller$].isAnimating)) {
        this[_controller$].forward();
      }
    }
    [_layoutChanged]() {
      if (!dart.equals(this[_sizeTween].end, this.child.size)) {
        this[_sizeTween].begin = this[_sizeTween].end = this.debugAdoptSize(this.child.size);
        this[_restartAnimation]();
        this[_state$] = animated_size.RenderAnimatedSizeState.unstable;
      } else {
        this[_state$] = animated_size.RenderAnimatedSizeState.stable;
        if (!dart.test(this[_controller$].isAnimating)) this[_controller$].forward();
      }
    }
    [_layoutUnstable]() {
      if (!dart.equals(this[_sizeTween].end, this.child.size)) {
        this[_sizeTween].begin = this[_sizeTween].end = this.debugAdoptSize(this.child.size);
        this[_restartAnimation]();
      } else {
        this[_controller$].stop();
        this[_state$] = animated_size.RenderAnimatedSizeState.stable;
      }
    }
    paint(context, offset) {
      if (this.child != null && dart.test(this[_hasVisualOverflow$1])) {
        let rect = ui.Offset.zero['&'](this.size);
        context.pushClipRect(this.needsCompositing, offset, rect, dart.bind(this, 'paint', super.paint));
      } else {
        super.paint(context, offset);
      }
    }
  };
  (animated_size.RenderAnimatedSize.new = function(opts) {
    let t27;
    let vsync = opts && 'vsync' in opts ? opts.vsync : null;
    let duration = opts && 'duration' in opts ? opts.duration : null;
    let reverseDuration = opts && 'reverseDuration' in opts ? opts.reverseDuration : null;
    let curve = opts && 'curve' in opts ? opts.curve : C140 || CT.C140;
    let alignment = opts && 'alignment' in opts ? opts.alignment : C28 || CT.C28;
    let textDirection = opts && 'textDirection' in opts ? opts.textDirection : null;
    let child = opts && 'child' in opts ? opts.child : null;
    this[_controller$] = null;
    this[_animation] = null;
    this[_sizeTween] = new tween.SizeTween.new();
    this[_hasVisualOverflow$1] = null;
    this[_lastValue] = null;
    this[_state$] = animated_size.RenderAnimatedSizeState.start;
    if (!(vsync != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/animated_size.dart", 84, 15, "vsync != null");
    if (!(duration != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/animated_size.dart", 85, 15, "duration != null");
    if (!(curve != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/animated_size.dart", 86, 15, "curve != null");
    this[_vsync] = vsync;
    animated_size.RenderAnimatedSize.__proto__.new.call(this, {child: child, alignment: alignment, textDirection: textDirection});
    this[_controller$] = (t27 = new animation_controller.AnimationController.new({vsync: vsync, duration: duration, reverseDuration: reverseDuration}), t27.addListener(dart.fn(() => {
      if (this[_controller$].value != this[_lastValue]) this.markNeedsLayout();
    }, VoidToNull())), t27);
    this[_animation] = new animations.CurvedAnimation.new({parent: this[_controller$], curve: curve});
  }).prototype = animated_size.RenderAnimatedSize.prototype;
  dart.addTypeTests(animated_size.RenderAnimatedSize);
  dart.setMethodSignature(animated_size.RenderAnimatedSize, () => ({
    __proto__: dart.getMethods(animated_size.RenderAnimatedSize.__proto__),
    [_restartAnimation]: dart.fnType(dart.void, []),
    [_layoutStart]: dart.fnType(dart.void, []),
    [_layoutStable]: dart.fnType(dart.void, []),
    [_layoutChanged]: dart.fnType(dart.void, []),
    [_layoutUnstable]: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(animated_size.RenderAnimatedSize, () => ({
    __proto__: dart.getGetters(animated_size.RenderAnimatedSize.__proto__),
    state: animated_size.RenderAnimatedSizeState,
    duration: core.Duration,
    reverseDuration: core.Duration,
    curve: curves.Curve,
    isAnimating: core.bool,
    vsync: ticker.TickerProvider,
    [_animatedSize]: ui.Size
  }));
  dart.setSetterSignature(animated_size.RenderAnimatedSize, () => ({
    __proto__: dart.getSetters(animated_size.RenderAnimatedSize.__proto__),
    duration: core.Duration,
    reverseDuration: core.Duration,
    curve: curves.Curve,
    vsync: ticker.TickerProvider
  }));
  dart.setLibraryUri(animated_size.RenderAnimatedSize, "package:flutter/src/rendering/animated_size.dart");
  dart.setFieldSignature(animated_size.RenderAnimatedSize, () => ({
    __proto__: dart.getFields(animated_size.RenderAnimatedSize.__proto__),
    [_controller$]: dart.fieldType(animation_controller.AnimationController),
    [_animation]: dart.fieldType(animations.CurvedAnimation),
    [_sizeTween]: dart.finalFieldType(tween.SizeTween),
    [_hasVisualOverflow$1]: dart.fieldType(core.bool),
    [_lastValue]: dart.fieldType(core.double),
    [_state$]: dart.fieldType(animated_size.RenderAnimatedSizeState),
    [_vsync]: dart.fieldType(ticker.TickerProvider)
  }));
  const verticalAlignment = dart.privateName(table, "TableCellParentData.verticalAlignment");
  const x = dart.privateName(table, "TableCellParentData.x");
  const y = dart.privateName(table, "TableCellParentData.y");
  table.TableCellParentData = class TableCellParentData extends box.BoxParentData {
    get verticalAlignment() {
      return this[verticalAlignment];
    }
    set verticalAlignment(value) {
      this[verticalAlignment] = value;
    }
    get x() {
      return this[x];
    }
    set x(value) {
      this[x] = value;
    }
    get y() {
      return this[y];
    }
    set y(value) {
      this[y] = value;
    }
    toString() {
      return dart.str(super.toString()) + "; " + (this.verticalAlignment == null ? "default vertical alignment" : dart.str(this.verticalAlignment));
    }
  };
  (table.TableCellParentData.new = function() {
    this[verticalAlignment] = null;
    this[x] = null;
    this[y] = null;
    table.TableCellParentData.__proto__.new.call(this);
    ;
  }).prototype = table.TableCellParentData.prototype;
  dart.addTypeTests(table.TableCellParentData);
  dart.setLibraryUri(table.TableCellParentData, "package:flutter/src/rendering/table.dart");
  dart.setFieldSignature(table.TableCellParentData, () => ({
    __proto__: dart.getFields(table.TableCellParentData.__proto__),
    verticalAlignment: dart.fieldType(table.TableCellVerticalAlignment),
    x: dart.fieldType(core.int),
    y: dart.fieldType(core.int)
  }));
  dart.defineExtensionMethods(table.TableCellParentData, ['toString']);
  table.TableColumnWidth = class TableColumnWidth extends core.Object {
    flex(cells) {
      return null;
    }
    toString() {
      return dart.str(object.objectRuntimeType(this, "TableColumnWidth"));
    }
  };
  (table.TableColumnWidth.new = function() {
    ;
  }).prototype = table.TableColumnWidth.prototype;
  dart.addTypeTests(table.TableColumnWidth);
  dart.setMethodSignature(table.TableColumnWidth, () => ({
    __proto__: dart.getMethods(table.TableColumnWidth.__proto__),
    flex: dart.fnType(core.double, [core.Iterable$(box.RenderBox)])
  }));
  dart.setLibraryUri(table.TableColumnWidth, "package:flutter/src/rendering/table.dart");
  dart.defineExtensionMethods(table.TableColumnWidth, ['toString']);
  const _flex = dart.privateName(table, "_flex");
  const _flex$ = dart.privateName(table, "IntrinsicColumnWidth._flex");
  table.IntrinsicColumnWidth = class IntrinsicColumnWidth extends table.TableColumnWidth {
    get [_flex]() {
      return this[_flex$];
    }
    set [_flex](value) {
      super[_flex] = value;
    }
    minIntrinsicWidth(cells, containerWidth) {
      let result = 0.0;
      for (let cell of cells)
        result = math.max(core.double, result, cell.getMinIntrinsicWidth(1 / 0));
      return result;
    }
    maxIntrinsicWidth(cells, containerWidth) {
      let result = 0.0;
      for (let cell of cells)
        result = math.max(core.double, result, cell.getMaxIntrinsicWidth(1 / 0));
      return result;
    }
    flex(cells) {
      return this[_flex];
    }
    toString() {
      let t27;
      return dart.str(object.objectRuntimeType(this, "IntrinsicColumnWidth")) + "(flex: " + dart.str((t27 = this[_flex], t27 == null ? null : t27[$toStringAsFixed](1))) + ")";
    }
  };
  (table.IntrinsicColumnWidth.new = function(opts) {
    let flex = opts && 'flex' in opts ? opts.flex : null;
    this[_flex$] = flex;
    table.IntrinsicColumnWidth.__proto__.new.call(this);
    ;
  }).prototype = table.IntrinsicColumnWidth.prototype;
  dart.addTypeTests(table.IntrinsicColumnWidth);
  dart.setMethodSignature(table.IntrinsicColumnWidth, () => ({
    __proto__: dart.getMethods(table.IntrinsicColumnWidth.__proto__),
    minIntrinsicWidth: dart.fnType(core.double, [core.Iterable$(box.RenderBox), core.double]),
    maxIntrinsicWidth: dart.fnType(core.double, [core.Iterable$(box.RenderBox), core.double])
  }));
  dart.setLibraryUri(table.IntrinsicColumnWidth, "package:flutter/src/rendering/table.dart");
  dart.setFieldSignature(table.IntrinsicColumnWidth, () => ({
    __proto__: dart.getFields(table.IntrinsicColumnWidth.__proto__),
    [_flex]: dart.finalFieldType(core.double)
  }));
  dart.defineExtensionMethods(table.IntrinsicColumnWidth, ['toString']);
  const value$0 = dart.privateName(table, "FixedColumnWidth.value");
  table.FixedColumnWidth = class FixedColumnWidth extends table.TableColumnWidth {
    get value() {
      return this[value$0];
    }
    set value(value) {
      super.value = value;
    }
    minIntrinsicWidth(cells, containerWidth) {
      return this.value;
    }
    maxIntrinsicWidth(cells, containerWidth) {
      return this.value;
    }
    toString() {
      return dart.str(object.objectRuntimeType(this, "FixedColumnWidth")) + "(" + dart.str(debug.debugFormatDouble(this.value)) + ")";
    }
  };
  (table.FixedColumnWidth.new = function(value) {
    this[value$0] = value;
    if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 128, 47, "value != null");
    table.FixedColumnWidth.__proto__.new.call(this);
    ;
  }).prototype = table.FixedColumnWidth.prototype;
  dart.addTypeTests(table.FixedColumnWidth);
  dart.setMethodSignature(table.FixedColumnWidth, () => ({
    __proto__: dart.getMethods(table.FixedColumnWidth.__proto__),
    minIntrinsicWidth: dart.fnType(core.double, [core.Iterable$(box.RenderBox), core.double]),
    maxIntrinsicWidth: dart.fnType(core.double, [core.Iterable$(box.RenderBox), core.double])
  }));
  dart.setLibraryUri(table.FixedColumnWidth, "package:flutter/src/rendering/table.dart");
  dart.setFieldSignature(table.FixedColumnWidth, () => ({
    __proto__: dart.getFields(table.FixedColumnWidth.__proto__),
    value: dart.finalFieldType(core.double)
  }));
  dart.defineExtensionMethods(table.FixedColumnWidth, ['toString']);
  const value$1 = dart.privateName(table, "FractionColumnWidth.value");
  table.FractionColumnWidth = class FractionColumnWidth extends table.TableColumnWidth {
    get value() {
      return this[value$1];
    }
    set value(value) {
      super.value = value;
    }
    minIntrinsicWidth(cells, containerWidth) {
      if (!containerWidth[$isFinite]) return 0.0;
      return dart.notNull(this.value) * dart.notNull(containerWidth);
    }
    maxIntrinsicWidth(cells, containerWidth) {
      if (!containerWidth[$isFinite]) return 0.0;
      return dart.notNull(this.value) * dart.notNull(containerWidth);
    }
    toString() {
      return dart.str(object.objectRuntimeType(this, "FractionColumnWidth")) + "(" + dart.str(this.value) + ")";
    }
  };
  (table.FractionColumnWidth.new = function(value) {
    this[value$1] = value;
    if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 155, 50, "value != null");
    table.FractionColumnWidth.__proto__.new.call(this);
    ;
  }).prototype = table.FractionColumnWidth.prototype;
  dart.addTypeTests(table.FractionColumnWidth);
  dart.setMethodSignature(table.FractionColumnWidth, () => ({
    __proto__: dart.getMethods(table.FractionColumnWidth.__proto__),
    minIntrinsicWidth: dart.fnType(core.double, [core.Iterable$(box.RenderBox), core.double]),
    maxIntrinsicWidth: dart.fnType(core.double, [core.Iterable$(box.RenderBox), core.double])
  }));
  dart.setLibraryUri(table.FractionColumnWidth, "package:flutter/src/rendering/table.dart");
  dart.setFieldSignature(table.FractionColumnWidth, () => ({
    __proto__: dart.getFields(table.FractionColumnWidth.__proto__),
    value: dart.finalFieldType(core.double)
  }));
  dart.defineExtensionMethods(table.FractionColumnWidth, ['toString']);
  const value$2 = dart.privateName(table, "FlexColumnWidth.value");
  table.FlexColumnWidth = class FlexColumnWidth extends table.TableColumnWidth {
    get value() {
      return this[value$2];
    }
    set value(value) {
      super.value = value;
    }
    minIntrinsicWidth(cells, containerWidth) {
      return 0.0;
    }
    maxIntrinsicWidth(cells, containerWidth) {
      return 0.0;
    }
    flex(cells) {
      return this.value;
    }
    toString() {
      return dart.str(object.objectRuntimeType(this, "FlexColumnWidth")) + "(" + dart.str(debug.debugFormatDouble(this.value)) + ")";
    }
  };
  (table.FlexColumnWidth.new = function(value = 1) {
    this[value$2] = value;
    if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 191, 54, "value != null");
    table.FlexColumnWidth.__proto__.new.call(this);
    ;
  }).prototype = table.FlexColumnWidth.prototype;
  dart.addTypeTests(table.FlexColumnWidth);
  dart.setMethodSignature(table.FlexColumnWidth, () => ({
    __proto__: dart.getMethods(table.FlexColumnWidth.__proto__),
    minIntrinsicWidth: dart.fnType(core.double, [core.Iterable$(box.RenderBox), core.double]),
    maxIntrinsicWidth: dart.fnType(core.double, [core.Iterable$(box.RenderBox), core.double])
  }));
  dart.setLibraryUri(table.FlexColumnWidth, "package:flutter/src/rendering/table.dart");
  dart.setFieldSignature(table.FlexColumnWidth, () => ({
    __proto__: dart.getFields(table.FlexColumnWidth.__proto__),
    value: dart.finalFieldType(core.double)
  }));
  dart.defineExtensionMethods(table.FlexColumnWidth, ['toString']);
  const a$ = dart.privateName(table, "MaxColumnWidth.a");
  const b$ = dart.privateName(table, "MaxColumnWidth.b");
  table.MaxColumnWidth = class MaxColumnWidth extends table.TableColumnWidth {
    get a() {
      return this[a$];
    }
    set a(value) {
      super.a = value;
    }
    get b() {
      return this[b$];
    }
    set b(value) {
      super.b = value;
    }
    minIntrinsicWidth(cells, containerWidth) {
      return math.max(core.double, this.a.minIntrinsicWidth(cells, containerWidth), this.b.minIntrinsicWidth(cells, containerWidth));
    }
    maxIntrinsicWidth(cells, containerWidth) {
      return math.max(core.double, this.a.maxIntrinsicWidth(cells, containerWidth), this.b.maxIntrinsicWidth(cells, containerWidth));
    }
    flex(cells) {
      let aFlex = this.a.flex(cells);
      if (aFlex == null) return this.b.flex(cells);
      let bFlex = this.b.flex(cells);
      if (bFlex == null) return null;
      return math.max(core.double, aFlex, bFlex);
    }
    toString() {
      return dart.str(object.objectRuntimeType(this, "MaxColumnWidth")) + "(" + dart.str(this.a) + ", " + dart.str(this.b) + ")";
    }
  };
  (table.MaxColumnWidth.new = function(a, b) {
    this[a$] = a;
    this[b$] = b;
    table.MaxColumnWidth.__proto__.new.call(this);
    ;
  }).prototype = table.MaxColumnWidth.prototype;
  dart.addTypeTests(table.MaxColumnWidth);
  dart.setMethodSignature(table.MaxColumnWidth, () => ({
    __proto__: dart.getMethods(table.MaxColumnWidth.__proto__),
    minIntrinsicWidth: dart.fnType(core.double, [core.Iterable$(box.RenderBox), core.double]),
    maxIntrinsicWidth: dart.fnType(core.double, [core.Iterable$(box.RenderBox), core.double])
  }));
  dart.setLibraryUri(table.MaxColumnWidth, "package:flutter/src/rendering/table.dart");
  dart.setFieldSignature(table.MaxColumnWidth, () => ({
    __proto__: dart.getFields(table.MaxColumnWidth.__proto__),
    a: dart.finalFieldType(table.TableColumnWidth),
    b: dart.finalFieldType(table.TableColumnWidth)
  }));
  dart.defineExtensionMethods(table.MaxColumnWidth, ['toString']);
  const a$0 = dart.privateName(table, "MinColumnWidth.a");
  const b$0 = dart.privateName(table, "MinColumnWidth.b");
  table.MinColumnWidth = class MinColumnWidth extends table.TableColumnWidth {
    get a() {
      return this[a$0];
    }
    set a(value) {
      super.a = value;
    }
    get b() {
      return this[b$0];
    }
    set b(value) {
      super.b = value;
    }
    minIntrinsicWidth(cells, containerWidth) {
      return math.min(core.double, this.a.minIntrinsicWidth(cells, containerWidth), this.b.minIntrinsicWidth(cells, containerWidth));
    }
    maxIntrinsicWidth(cells, containerWidth) {
      return math.min(core.double, this.a.maxIntrinsicWidth(cells, containerWidth), this.b.maxIntrinsicWidth(cells, containerWidth));
    }
    flex(cells) {
      let aFlex = this.a.flex(cells);
      if (aFlex == null) return this.b.flex(cells);
      let bFlex = this.b.flex(cells);
      if (bFlex == null) return null;
      return math.min(core.double, aFlex, bFlex);
    }
    toString() {
      return dart.str(object.objectRuntimeType(this, "MinColumnWidth")) + "(" + dart.str(this.a) + ", " + dart.str(this.b) + ")";
    }
  };
  (table.MinColumnWidth.new = function(a, b) {
    this[a$0] = a;
    this[b$0] = b;
    table.MinColumnWidth.__proto__.new.call(this);
    ;
  }).prototype = table.MinColumnWidth.prototype;
  dart.addTypeTests(table.MinColumnWidth);
  dart.setMethodSignature(table.MinColumnWidth, () => ({
    __proto__: dart.getMethods(table.MinColumnWidth.__proto__),
    minIntrinsicWidth: dart.fnType(core.double, [core.Iterable$(box.RenderBox), core.double]),
    maxIntrinsicWidth: dart.fnType(core.double, [core.Iterable$(box.RenderBox), core.double])
  }));
  dart.setLibraryUri(table.MinColumnWidth, "package:flutter/src/rendering/table.dart");
  dart.setFieldSignature(table.MinColumnWidth, () => ({
    __proto__: dart.getFields(table.MinColumnWidth.__proto__),
    a: dart.finalFieldType(table.TableColumnWidth),
    b: dart.finalFieldType(table.TableColumnWidth)
  }));
  dart.defineExtensionMethods(table.MinColumnWidth, ['toString']);
  const _name$15 = dart.privateName(table, "_name");
  let C141;
  let C142;
  let C143;
  let C144;
  let C145;
  let C146;
  table.TableCellVerticalAlignment = class TableCellVerticalAlignment extends core.Object {
    toString() {
      return this[_name$15];
    }
  };
  (table.TableCellVerticalAlignment.new = function(index, _name) {
    this.index = index;
    this[_name$15] = _name;
    ;
  }).prototype = table.TableCellVerticalAlignment.prototype;
  dart.addTypeTests(table.TableCellVerticalAlignment);
  dart.setLibraryUri(table.TableCellVerticalAlignment, "package:flutter/src/rendering/table.dart");
  dart.setFieldSignature(table.TableCellVerticalAlignment, () => ({
    __proto__: dart.getFields(table.TableCellVerticalAlignment.__proto__),
    index: dart.finalFieldType(core.int),
    [_name$15]: dart.finalFieldType(core.String)
  }));
  dart.defineExtensionMethods(table.TableCellVerticalAlignment, ['toString']);
  table.TableCellVerticalAlignment.top = C141 || CT.C141;
  table.TableCellVerticalAlignment.middle = C142 || CT.C142;
  table.TableCellVerticalAlignment.bottom = C143 || CT.C143;
  table.TableCellVerticalAlignment.baseline = C144 || CT.C144;
  table.TableCellVerticalAlignment.fill = C145 || CT.C145;
  table.TableCellVerticalAlignment.values = C146 || CT.C146;
  let C147;
  const _children$ = dart.privateName(table, "_children");
  let C148;
  const _columns = dart.privateName(table, "_columns");
  const _rows = dart.privateName(table, "_rows");
  const _columnWidths = dart.privateName(table, "_columnWidths");
  const _defaultColumnWidth = dart.privateName(table, "_defaultColumnWidth");
  const _border = dart.privateName(table, "_border");
  const _rowDecorations = dart.privateName(table, "_rowDecorations");
  const _rowDecorationPainters = dart.privateName(table, "_rowDecorationPainters");
  const _configuration$0 = dart.privateName(table, "_configuration");
  const _defaultVerticalAlignment = dart.privateName(table, "_defaultVerticalAlignment");
  const _textBaseline = dart.privateName(table, "_textBaseline");
  const _baselineDistance = dart.privateName(table, "_baselineDistance");
  const _rowTops = dart.privateName(table, "_rowTops");
  const _columnLefts = dart.privateName(table, "_columnLefts");
  const _textDirection$1 = dart.privateName(table, "_textDirection");
  let C149;
  const _computeColumnWidths = dart.privateName(table, "_computeColumnWidths");
  let C150;
  let C151;
  table.RenderTable = class RenderTable extends box.RenderBox {
    get columns() {
      return this[_columns];
    }
    set columns(value) {
      let t27;
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 406, 12, "value != null");
      if (!(dart.notNull(value) >= 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 407, 12, "value >= 0");
      if (value == this.columns) return;
      let oldColumns = this.columns;
      let oldChildren = this[_children$];
      this[_columns] = value;
      this[_children$] = (t27 = JSArrayOfRenderBox().of([]), t27[$length] = dart.notNull(this.columns) * dart.notNull(this.rows), t27);
      let columnsToCopy = math.min(core.int, this.columns, oldColumns);
      for (let y = 0; y < dart.notNull(this.rows); y = y + 1) {
        for (let x = 0; x < columnsToCopy; x = x + 1)
          this[_children$][$_set](x + y * dart.notNull(this.columns), oldChildren[$_get](x + y * dart.notNull(oldColumns)));
      }
      if (dart.notNull(oldColumns) > dart.notNull(this.columns)) {
        for (let y = 0; y < dart.notNull(this.rows); y = y + 1) {
          for (let x = this.columns; dart.notNull(x) < dart.notNull(oldColumns); x = dart.notNull(x) + 1) {
            let xy = dart.notNull(x) + y * dart.notNull(oldColumns);
            if (oldChildren[$_get](xy) != null) this.dropChild(oldChildren[$_get](xy));
          }
        }
      }
      this.markNeedsLayout();
    }
    get rows() {
      return this[_rows];
    }
    set rows(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 438, 12, "value != null");
      if (!(dart.notNull(value) >= 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 439, 12, "value >= 0");
      if (value == this.rows) return;
      if (dart.notNull(this[_rows]) > dart.notNull(value)) {
        for (let xy = dart.notNull(this.columns) * dart.notNull(value); xy < dart.notNull(this[_children$][$length]); xy = xy + 1) {
          if (this[_children$][$_get](xy) != null) this.dropChild(this[_children$][$_get](xy));
        }
      }
      this[_rows] = value;
      this[_children$][$length] = dart.notNull(this.columns) * dart.notNull(this.rows);
      this.markNeedsLayout();
    }
    get columnWidths() {
      return MapOfint$TableColumnWidth().unmodifiable(this[_columnWidths]);
    }
    set columnWidths(value) {
      value == null ? value = new (IdentityMapOfint$TableColumnWidth()).new() : null;
      if (dart.equals(this[_columnWidths], value)) return;
      this[_columnWidths] = value;
      this.markNeedsLayout();
    }
    setColumnWidth(column, value) {
      if (dart.equals(this[_columnWidths][$_get](column), value)) return;
      this[_columnWidths][$_set](column, value);
      this.markNeedsLayout();
    }
    get defaultColumnWidth() {
      return this[_defaultColumnWidth];
    }
    set defaultColumnWidth(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 487, 12, "value != null");
      if (dart.equals(this.defaultColumnWidth, value)) return;
      this[_defaultColumnWidth] = value;
      this.markNeedsLayout();
    }
    get textDirection() {
      return this[_textDirection$1];
    }
    set textDirection(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 498, 12, "value != null");
      if (dart.equals(this[_textDirection$1], value)) return;
      this[_textDirection$1] = value;
      this.markNeedsLayout();
    }
    get border() {
      return this[_border];
    }
    set border(value) {
      if (dart.equals(this.border, value)) return;
      this[_border] = value;
      this.markNeedsPaint();
    }
    get rowDecorations() {
      let t27;
      return ListOfDecoration().unmodifiable((t27 = this[_rowDecorations], t27 == null ? C149 || CT.C149 : t27));
    }
    set rowDecorations(value) {
      let t27;
      if (dart.equals(this[_rowDecorations], value)) return;
      this[_rowDecorations] = value;
      if (this[_rowDecorationPainters] != null) {
        for (let painter of this[_rowDecorationPainters]) {
          t27 = painter;
          t27 == null ? null : t27.dispose();
        }
      }
      this[_rowDecorationPainters] = this[_rowDecorations] != null ? ListOfBoxPainter().new(this[_rowDecorations][$length]) : null;
    }
    get configuration() {
      return this[_configuration$0];
    }
    set configuration(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 542, 12, "value != null");
      if (dart.equals(value, this[_configuration$0])) return;
      this[_configuration$0] = value;
      this.markNeedsPaint();
    }
    get defaultVerticalAlignment() {
      return this[_defaultVerticalAlignment];
    }
    set defaultVerticalAlignment(value) {
      if (dart.equals(this[_defaultVerticalAlignment], value)) return;
      this[_defaultVerticalAlignment] = value;
      this.markNeedsLayout();
    }
    get textBaseline() {
      return this[_textBaseline];
    }
    set textBaseline(value) {
      if (dart.equals(this[_textBaseline], value)) return;
      this[_textBaseline] = value;
      this.markNeedsLayout();
    }
    setupParentData(child) {
      object$.RenderObject._check(child);
      if (!table.TableCellParentData.is(child.parentData)) child.parentData = new table.TableCellParentData.new();
    }
    setFlatChildren(columns, cells) {
      if (dart.equals(cells, this[_children$]) && columns == this[_columns]) return;
      if (!(dart.notNull(columns) >= 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 586, 12, "columns >= 0");
      if (columns === 0 || dart.test(cells[$isEmpty])) {
        if (!(cells == null || dart.test(cells[$isEmpty]))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 589, 14, "cells == null || cells.isEmpty");
        this[_columns] = columns;
        if (dart.test(this[_children$][$isEmpty])) {
          if (!(this[_rows] === 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 592, 16, "_rows == 0");
          return;
        }
        for (let oldChild of this[_children$]) {
          if (oldChild != null) this.dropChild(oldChild);
        }
        this[_rows] = 0;
        this[_children$][$clear]();
        this.markNeedsLayout();
        return;
      }
      if (!(cells != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 604, 12, "cells != null");
      if (!(cells[$length][$modulo](columns) === 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 605, 12, "cells.length % columns == 0");
      let lostChildren = new (_HashSetOfRenderBox()).new();
      for (let y = 0; y < dart.notNull(this[_rows]); y = y + 1) {
        for (let x = 0; x < dart.notNull(this[_columns]); x = x + 1) {
          let xyOld = x + y * dart.notNull(this[_columns]);
          let xyNew = x + y * dart.notNull(columns);
          if (this[_children$][$_get](xyOld) != null && (x >= dart.notNull(columns) || xyNew >= dart.notNull(cells[$length]) || !dart.equals(this[_children$][$_get](xyOld), cells[$_get](xyNew)))) lostChildren.add(this[_children$][$_get](xyOld));
        }
      }
      let y = 0;
      while (y * dart.notNull(columns) < dart.notNull(cells[$length])) {
        for (let x = 0; x < dart.notNull(columns); x = x + 1) {
          let xyNew = x + y * dart.notNull(columns);
          let xyOld = x + y * dart.notNull(this[_columns]);
          if (cells[$_get](xyNew) != null && (x >= dart.notNull(this[_columns]) || y >= dart.notNull(this[_rows]) || !dart.equals(this[_children$][$_get](xyOld), cells[$_get](xyNew)))) {
            if (!dart.test(lostChildren.remove(cells[$_get](xyNew)))) this.adoptChild(cells[$_get](xyNew));
          }
        }
        y = y + 1;
      }
      lostChildren[$forEach](dart.bind(this, 'dropChild'));
      this[_columns] = columns;
      this[_rows] = (dart.notNull(cells[$length]) / dart.notNull(columns))[$truncate]();
      this[_children$] = cells[$toList]();
      if (!(this[_children$][$length] === dart.notNull(this.rows) * dart.notNull(columns))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 637, 12, "_children.length == rows * columns");
      this.markNeedsLayout();
    }
    setChildren(cells) {
      if (cells == null) {
        this.setFlatChildren(0, null);
        return;
      }
      for (let oldChild of this[_children$]) {
        if (oldChild != null) this.dropChild(oldChild);
      }
      this[_children$][$clear]();
      this[_columns] = dart.test(cells[$isNotEmpty]) ? cells[$first][$length] : 0;
      this[_rows] = 0;
      cells[$forEach](dart.bind(this, 'addRow'));
      if (!(this[_children$][$length] === dart.notNull(this.rows) * dart.notNull(this.columns))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 656, 12, "_children.length == rows * columns");
    }
    addRow(cells) {
      if (!(cells[$length] == this.columns)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 663, 12, "cells.length == columns");
      if (!(this[_children$][$length] === dart.notNull(this.rows) * dart.notNull(this.columns))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 664, 12, "_children.length == rows * columns");
      this[_rows] = dart.notNull(this[_rows]) + 1;
      this[_children$][$addAll](cells);
      for (let cell of cells) {
        if (cell != null) this.adoptChild(cell);
      }
      this.markNeedsLayout();
    }
    setChild(x, y, value) {
      if (!(x != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 680, 12, "x != null");
      if (!(y != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 681, 12, "y != null");
      if (!(dart.notNull(x) >= 0 && dart.notNull(x) < dart.notNull(this.columns) && dart.notNull(y) >= 0 && dart.notNull(y) < dart.notNull(this.rows))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 682, 12, "x >= 0 && x < columns && y >= 0 && y < rows");
      if (!(this[_children$][$length] === dart.notNull(this.rows) * dart.notNull(this.columns))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 683, 12, "_children.length == rows * columns");
      let xy = dart.notNull(x) + dart.notNull(y) * dart.notNull(this.columns);
      let oldChild = this[_children$][$_get](xy);
      if (dart.equals(oldChild, value)) return;
      if (oldChild != null) this.dropChild(oldChild);
      this[_children$][$_set](xy, value);
      if (value != null) this.adoptChild(value);
    }
    attach(owner) {
      let t27;
      object$.PipelineOwner._check(owner);
      super.attach(owner);
      for (let child of this[_children$]) {
        t27 = child;
        t27 == null ? null : t27.attach(owner);
      }
    }
    detach() {
      let t27, t27$;
      super.detach();
      if (this[_rowDecorationPainters] != null) {
        for (let painter of this[_rowDecorationPainters]) {
          t27 = painter;
          t27 == null ? null : t27.dispose();
        }
        this[_rowDecorationPainters] = ListOfBoxPainter().new(this[_rowDecorations][$length]);
      }
      for (let child of this[_children$]) {
        t27$ = child;
        t27$ == null ? null : t27$.detach();
      }
    }
    visitChildren(visitor) {
      if (!(this[_children$][$length] === dart.notNull(this.rows) * dart.notNull(this.columns))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 716, 12, "_children.length == rows * columns");
      for (let child of this[_children$]) {
        if (child != null) visitor(child);
      }
    }
    computeMinIntrinsicWidth(height) {
      let t27;
      if (!(this[_children$][$length] === dart.notNull(this.rows) * dart.notNull(this.columns))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 725, 12, "_children.length == rows * columns");
      let totalMinWidth = 0.0;
      for (let x = 0; x < dart.notNull(this.columns); x = x + 1) {
        let columnWidth = (t27 = this[_columnWidths][$_get](x), t27 == null ? this.defaultColumnWidth : t27);
        let columnCells = this.column(x);
        totalMinWidth = totalMinWidth + dart.notNull(columnWidth.minIntrinsicWidth(columnCells, 1 / 0));
      }
      return totalMinWidth;
    }
    computeMaxIntrinsicWidth(height) {
      let t27;
      if (!(this[_children$][$length] === dart.notNull(this.rows) * dart.notNull(this.columns))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 737, 12, "_children.length == rows * columns");
      let totalMaxWidth = 0.0;
      for (let x = 0; x < dart.notNull(this.columns); x = x + 1) {
        let columnWidth = (t27 = this[_columnWidths][$_get](x), t27 == null ? this.defaultColumnWidth : t27);
        let columnCells = this.column(x);
        totalMaxWidth = totalMaxWidth + dart.notNull(columnWidth.maxIntrinsicWidth(columnCells, 1 / 0));
      }
      return totalMaxWidth;
    }
    computeMinIntrinsicHeight(width) {
      if (!(this[_children$][$length] === dart.notNull(this.rows) * dart.notNull(this.columns))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 751, 12, "_children.length == rows * columns");
      let widths = this[_computeColumnWidths](new box.BoxConstraints.tightForFinite({width: width}));
      let rowTop = 0.0;
      for (let y = 0; y < dart.notNull(this.rows); y = y + 1) {
        let rowHeight = 0.0;
        for (let x = 0; x < dart.notNull(this.columns); x = x + 1) {
          let xy = x + y * dart.notNull(this.columns);
          let child = this[_children$][$_get](xy);
          if (child != null) rowHeight = math.max(core.double, rowHeight, child.getMaxIntrinsicHeight(widths[$_get](x)));
        }
        rowTop = rowTop + rowHeight;
      }
      return rowTop;
    }
    computeMaxIntrinsicHeight(width) {
      return this.computeMinIntrinsicHeight(width);
    }
    computeDistanceToActualBaseline(baseline) {
      if (!!dart.test(this.debugNeedsLayout)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 776, 12, "!debugNeedsLayout");
      return this[_baselineDistance];
    }
    column(x) {
      return new (SyncIterableOfRenderBox()).new((function* column() {
        for (let y = 0; y < dart.notNull(this.rows); y = y + 1) {
          let xy = dart.notNull(x) + y * dart.notNull(this.columns);
          let child = this[_children$][$_get](xy);
          if (child != null) yield child;
        }
      }).bind(this));
    }
    row(y) {
      return new (SyncIterableOfRenderBox()).new((function* row() {
        let start = dart.notNull(y) * dart.notNull(this.columns);
        let end = (dart.notNull(y) + 1) * dart.notNull(this.columns);
        for (let xy = start; xy < end; xy = xy + 1) {
          let child = this[_children$][$_get](xy);
          if (child != null) yield child;
        }
      }).bind(this));
    }
    [_computeColumnWidths](constraints) {
      let t27, t28, t27$, t28$, t27$0;
      if (!(constraints != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 808, 12, "constraints != null");
      if (!(this[_children$][$length] === dart.notNull(this.rows) * dart.notNull(this.columns))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 809, 12, "_children.length == rows * columns");
      let widths = ListOfdouble().new(this.columns);
      let minWidths = ListOfdouble().new(this.columns);
      let flexes = ListOfdouble().new(this.columns);
      let tableWidth = 0.0;
      let unflexedTableWidth = 0.0;
      let totalFlex = 0.0;
      for (let x = 0; x < dart.notNull(this.columns); x = x + 1) {
        let columnWidth = (t27 = this[_columnWidths][$_get](x), t27 == null ? this.defaultColumnWidth : t27);
        let columnCells = this.column(x);
        let maxIntrinsicWidth = columnWidth.maxIntrinsicWidth(columnCells, constraints.maxWidth);
        if (!maxIntrinsicWidth[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 832, 14, "maxIntrinsicWidth.isFinite");
        if (!(dart.notNull(maxIntrinsicWidth) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 833, 14, "maxIntrinsicWidth >= 0.0");
        widths[$_set](x, maxIntrinsicWidth);
        tableWidth = dart.notNull(tableWidth) + dart.notNull(maxIntrinsicWidth);
        let minIntrinsicWidth = columnWidth.minIntrinsicWidth(columnCells, constraints.maxWidth);
        if (!minIntrinsicWidth[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 838, 14, "minIntrinsicWidth.isFinite");
        if (!(dart.notNull(minIntrinsicWidth) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 839, 14, "minIntrinsicWidth >= 0.0");
        minWidths[$_set](x, minIntrinsicWidth);
        if (!(dart.notNull(maxIntrinsicWidth) >= dart.notNull(minIntrinsicWidth))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 841, 14, "maxIntrinsicWidth >= minIntrinsicWidth");
        let flex = columnWidth.flex(columnCells);
        if (flex != null) {
          if (!flex[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 845, 16, "flex.isFinite");
          if (!(dart.notNull(flex) > 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 846, 16, "flex > 0.0");
          flexes[$_set](x, flex);
          totalFlex = totalFlex + dart.notNull(flex);
        } else {
          unflexedTableWidth = dart.notNull(unflexedTableWidth) + dart.notNull(maxIntrinsicWidth);
        }
      }
      if (!!dart.test(widths[$any](dart.fn(value => value == null, doubleTobool())))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 853, 12, "!widths.any((double value) => value == null)");
      let maxWidthConstraint = constraints.maxWidth;
      let minWidthConstraint = constraints.minWidth;
      if (totalFlex > 0.0) {
        let targetWidth = null;
        if (maxWidthConstraint[$isFinite]) {
          targetWidth = maxWidthConstraint;
        } else {
          targetWidth = minWidthConstraint;
        }
        if (dart.notNull(tableWidth) < dart.notNull(targetWidth)) {
          let remainingWidth = dart.notNull(targetWidth) - dart.notNull(unflexedTableWidth);
          if (!remainingWidth[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 870, 16, "remainingWidth.isFinite");
          if (!(remainingWidth >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 871, 16, "remainingWidth >= 0.0");
          for (let x = 0; x < dart.notNull(this.columns); x = x + 1) {
            if (flexes[$_get](x) != null) {
              let flexedWidth = remainingWidth * dart.notNull(flexes[$_get](x)) / totalFlex;
              if (!flexedWidth[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 875, 20, "flexedWidth.isFinite");
              if (!(flexedWidth >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 876, 20, "flexedWidth >= 0.0");
              if (dart.notNull(widths[$_get](x)) < flexedWidth) {
                let delta = flexedWidth - dart.notNull(widths[$_get](x));
                tableWidth = dart.notNull(tableWidth) + delta;
                widths[$_set](x, flexedWidth);
              }
            }
          }
          if (!(dart.notNull(tableWidth) + 1e-10 >= dart.notNull(targetWidth))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 884, 16, "tableWidth + precisionErrorTolerance >= targetWidth");
        }
      } else if (dart.notNull(tableWidth) < dart.notNull(minWidthConstraint)) {
        let delta = (dart.notNull(minWidthConstraint) - dart.notNull(tableWidth)) / dart.notNull(this.columns);
        for (let x = 0; x < dart.notNull(this.columns); x = x + 1) {
          t27$ = widths;
          t28 = x;
          t27$[$_set](t28, dart.notNull(t27$[$_get](t28)) + delta);
        }
        tableWidth = minWidthConstraint;
      }
      if (!dart.test(dart.fn(() => {
        unflexedTableWidth = null;
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 898, 12, "() {\r\n      unflexedTableWidth = null;\r\n      return true;\r\n    }()");
      if (dart.notNull(tableWidth) > dart.notNull(maxWidthConstraint)) {
        let deficit = dart.notNull(tableWidth) - dart.notNull(maxWidthConstraint);
        let availableColumns = this.columns;
        while (deficit > 1e-10 && totalFlex > 1e-10) {
          let newTotalFlex = 0.0;
          for (let x = 0; x < dart.notNull(this.columns); x = x + 1) {
            if (flexes[$_get](x) != null) {
              let newWidth = dart.notNull(widths[$_get](x)) - deficit * dart.notNull(flexes[$_get](x)) / totalFlex;
              if (!newWidth[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 929, 20, "newWidth.isFinite");
              if (newWidth <= dart.notNull(minWidths[$_get](x))) {
                deficit = deficit - (dart.notNull(widths[$_get](x)) - dart.notNull(minWidths[$_get](x)));
                widths[$_set](x, minWidths[$_get](x));
                flexes[$_set](x, null);
                availableColumns = dart.notNull(availableColumns) - 1;
              } else {
                deficit = deficit - (dart.notNull(widths[$_get](x)) - newWidth);
                widths[$_set](x, newWidth);
                newTotalFlex = newTotalFlex + dart.notNull(flexes[$_get](x));
              }
              if (!(dart.notNull(widths[$_get](x)) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 941, 20, "widths[x] >= 0.0");
            }
          }
          totalFlex = newTotalFlex;
        }
        while (deficit > 1e-10 && dart.notNull(availableColumns) > 0) {
          let delta = deficit / dart.notNull(availableColumns);
          if (!(delta !== 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 953, 16, "delta != 0");
          let newAvailableColumns = 0;
          for (let x = 0; x < dart.notNull(this.columns); x = x + 1) {
            let availableDelta = dart.notNull(widths[$_get](x)) - dart.notNull(minWidths[$_get](x));
            if (availableDelta > 0.0) {
              if (availableDelta <= delta) {
                deficit = deficit - (dart.notNull(widths[$_get](x)) - dart.notNull(minWidths[$_get](x)));
                widths[$_set](x, minWidths[$_get](x));
              } else {
                deficit = deficit - delta;
                t27$0 = widths;
                t28$ = x;
                t27$0[$_set](t28$, dart.notNull(t27$0[$_get](t28$)) - delta);
                newAvailableColumns = newAvailableColumns + 1;
              }
            }
          }
          availableColumns = newAvailableColumns;
        }
      }
      return widths;
    }
    getRowBox(row) {
      if (!(dart.notNull(row) >= 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 987, 12, "row >= 0");
      if (!(dart.notNull(row) < dart.notNull(this.rows))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 988, 12, "row < rows");
      if (!!dart.test(this.debugNeedsLayout)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 989, 12, "!debugNeedsLayout");
      return new ui.Rect.fromLTRB(0.0, this[_rowTops][$_get](row), this.size.width, this[_rowTops][$_get](dart.notNull(row) + 1));
    }
    performLayout() {
      let t27, t27$;
      let rows = this.rows;
      let columns = this.columns;
      if (!(this[_children$][$length] === dart.notNull(rows) * dart.notNull(columns))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 997, 12, "_children.length == rows * columns");
      if (dart.notNull(rows) * dart.notNull(columns) === 0) {
        this.size = this.constraints.constrain(C15 || CT.C15);
        return;
      }
      let widths = this[_computeColumnWidths](this.constraints);
      let positions = ListOfdouble().new(columns);
      let tableWidth = null;
      switch (this.textDirection) {
        case C74 || CT.C74:
        {
          positions[$_set](dart.notNull(columns) - 1, 0.0);
          for (let x = dart.notNull(columns) - 2; x >= 0; x = x - 1)
            positions[$_set](x, dart.notNull(positions[$_get](x + 1)) + dart.notNull(widths[$_get](x + 1)));
          this[_columnLefts] = positions[$reversed];
          tableWidth = dart.notNull(positions[$first]) + dart.notNull(widths[$first]);
          break;
        }
        case C75 || CT.C75:
        {
          positions[$_set](0, 0.0);
          for (let x = 1; x < dart.notNull(columns); x = x + 1)
            positions[$_set](x, dart.notNull(positions[$_get](x - 1)) + dart.notNull(widths[$_get](x - 1)));
          this[_columnLefts] = positions;
          tableWidth = dart.notNull(positions[$last]) + dart.notNull(widths[$last]);
          break;
        }
      }
      if (!!dart.test(positions[$any](dart.fn(value => value == null, doubleTobool())))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 1023, 12, "!positions.any((double value) => value == null)");
      this[_rowTops][$clear]();
      this[_baselineDistance] = null;
      let rowTop = 0.0;
      for (let y = 0; y < dart.notNull(rows); y = y + 1) {
        this[_rowTops][$add](rowTop);
        let rowHeight = 0.0;
        let haveBaseline = false;
        let beforeBaselineDistance = 0.0;
        let afterBaselineDistance = 0.0;
        let baselines = ListOfdouble().new(columns);
        for (let x = 0; x < dart.notNull(columns); x = x + 1) {
          let xy = x + y * dart.notNull(columns);
          let child = this[_children$][$_get](xy);
          if (child != null) {
            let childParentData = table.TableCellParentData.as(child.parentData);
            if (!(childParentData != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 1040, 18, "childParentData != null");
            childParentData.x = x;
            childParentData.y = y;
            switch (t27 = childParentData.verticalAlignment, t27 == null ? this.defaultVerticalAlignment : t27) {
              case C144 || CT.C144:
              {
                if (!(this.textBaseline != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 1045, 22, "textBaseline != null");
                child.layout(new box.BoxConstraints.tightFor({width: widths[$_get](x)}), {parentUsesSize: true});
                let childBaseline = child.getDistanceToBaseline(this.textBaseline, {onlyReal: true});
                if (childBaseline != null) {
                  beforeBaselineDistance = math.max(core.double, beforeBaselineDistance, childBaseline);
                  afterBaselineDistance = math.max(core.double, afterBaselineDistance, dart.notNull(child.size.height) - dart.notNull(childBaseline));
                  baselines[$_set](x, childBaseline);
                  haveBaseline = true;
                } else {
                  rowHeight = math.max(core.double, rowHeight, child.size.height);
                  childParentData.offset = new ui.Offset.new(positions[$_get](x), rowTop);
                }
                break;
              }
              case C141 || CT.C141:
              case C142 || CT.C142:
              case C143 || CT.C143:
              {
                child.layout(new box.BoxConstraints.tightFor({width: widths[$_get](x)}), {parentUsesSize: true});
                rowHeight = math.max(core.double, rowHeight, child.size.height);
                break;
              }
              case C145 || CT.C145:
              {
                break;
              }
            }
          }
        }
        if (haveBaseline) {
          if (y === 0) this[_baselineDistance] = beforeBaselineDistance;
          rowHeight = math.max(core.double, rowHeight, beforeBaselineDistance + afterBaselineDistance);
        }
        for (let x = 0; x < dart.notNull(columns); x = x + 1) {
          let xy = x + y * dart.notNull(columns);
          let child = this[_children$][$_get](xy);
          if (child != null) {
            let childParentData = table.TableCellParentData.as(child.parentData);
            switch (t27$ = childParentData.verticalAlignment, t27$ == null ? this.defaultVerticalAlignment : t27$) {
              case C144 || CT.C144:
              {
                if (baselines[$_get](x) != null) childParentData.offset = new ui.Offset.new(positions[$_get](x), rowTop + beforeBaselineDistance - dart.notNull(baselines[$_get](x)));
                break;
              }
              case C141 || CT.C141:
              {
                childParentData.offset = new ui.Offset.new(positions[$_get](x), rowTop);
                break;
              }
              case C142 || CT.C142:
              {
                childParentData.offset = new ui.Offset.new(positions[$_get](x), rowTop + (rowHeight - dart.notNull(child.size.height)) / 2.0);
                break;
              }
              case C143 || CT.C143:
              {
                childParentData.offset = new ui.Offset.new(positions[$_get](x), rowTop + rowHeight - dart.notNull(child.size.height));
                break;
              }
              case C145 || CT.C145:
              {
                child.layout(new box.BoxConstraints.tightFor({width: widths[$_get](x), height: rowHeight}));
                childParentData.offset = new ui.Offset.new(positions[$_get](x), rowTop);
                break;
              }
            }
          }
        }
        rowTop = rowTop + rowHeight;
      }
      this[_rowTops][$add](rowTop);
      this.size = this.constraints.constrain(new ui.Size.new(tableWidth, rowTop));
      if (!(this[_rowTops][$length] === dart.notNull(rows) + 1)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 1104, 12, "_rowTops.length == rows + 1");
    }
    hitTestChildren(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      if (!(this[_children$][$length] === dart.notNull(this.rows) * dart.notNull(this.columns))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 1109, 12, "_children.length == rows * columns");
      for (let index = dart.notNull(this[_children$][$length]) - 1; index >= 0; index = index - 1) {
        let child = this[_children$][$_get](index);
        if (child != null) {
          let childParentData = box.BoxParentData.as(child.parentData);
          let isHit = result.addWithPaintOffset({offset: childParentData.offset, position: position, hitTest: dart.fn((result, transformed) => {
              if (!dart.equals(transformed, position['-'](childParentData.offset))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 1118, 20, "transformed == position - childParentData.offset");
              return child.hitTest(result, {position: transformed});
            }, BoxHitTestResultAndOffsetTobool())});
          if (dart.test(isHit)) return true;
        }
      }
      return false;
    }
    paint(context, offset) {
      let t28, t27;
      if (!(this[_children$][$length] === dart.notNull(this.rows) * dart.notNull(this.columns))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 1131, 12, "_children.length == rows * columns");
      if (dart.notNull(this.rows) * dart.notNull(this.columns) === 0) {
        if (this.border != null) {
          let borderRect = new ui.Rect.fromLTWH(offset.dx, offset.dy, this.size.width, 0.0);
          this.border.paint(context.canvas, borderRect, {rows: C150 || CT.C150, columns: C150 || CT.C150});
        }
        return;
      }
      if (!(this[_rowTops][$length] === dart.notNull(this.rows) + 1)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 1139, 12, "_rowTops.length == rows + 1");
      if (this[_rowDecorations] != null) {
        if (!(this[_rowDecorations][$length] == this[_rowDecorationPainters][$length])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 1141, 14, "_rowDecorations.length == _rowDecorationPainters.length");
        let canvas = context.canvas;
        for (let y = 0; y < dart.notNull(this.rows); y = y + 1) {
          if (dart.notNull(this[_rowDecorations][$length]) <= y) break;
          if (this[_rowDecorations][$_get](y) != null) {
            t27 = this[_rowDecorationPainters];
            t28 = y;
            t27[$_get](t28) == null ? t27[$_set](t28, this[_rowDecorations][$_get](y).createBoxPainter(dart.bind(this, 'markNeedsPaint'))) : null;
            this[_rowDecorationPainters][$_get](y).paint(canvas, new ui.Offset.new(offset.dx, dart.notNull(offset.dy) + dart.notNull(this[_rowTops][$_get](y))), this.configuration.copyWith({size: new ui.Size.new(this.size.width, dart.notNull(this[_rowTops][$_get](y + 1)) - dart.notNull(this[_rowTops][$_get](y)))}));
          }
        }
      }
      for (let index = 0; index < dart.notNull(this[_children$][$length]); index = index + 1) {
        let child = this[_children$][$_get](index);
        if (child != null) {
          let childParentData = box.BoxParentData.as(child.parentData);
          context.paintChild(child, childParentData.offset['+'](offset));
        }
      }
      if (!(this[_rows] === dart.notNull(this[_rowTops][$length]) - 1)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 1163, 12, "_rows == _rowTops.length - 1");
      if (!(this[_columns] == this[_columnLefts][$length])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 1164, 12, "_columns == _columnLefts.length");
      if (this.border != null) {
        let borderRect = new ui.Rect.fromLTWH(offset.dx, offset.dy, this.size.width, this[_rowTops][$last]);
        let rows = this[_rowTops][$getRange](1, dart.notNull(this[_rowTops][$length]) - 1);
        let columns = this[_columnLefts][$skip](1);
        this.border.paint(context.canvas, borderRect, {rows: rows, columns: columns});
      }
    }
    debugFillProperties(properties) {
      let t27, t27$;
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfTableBorder()).new("border", this.border, {defaultValue: null}));
      properties.add(new (DiagnosticsPropertyOfMapOfint$TableColumnWidth()).new("specified column widths", this[_columnWidths], {level: dart.test(this[_columnWidths][$isEmpty]) ? diagnostics.DiagnosticLevel.hidden : diagnostics.DiagnosticLevel.info}));
      properties.add(new (DiagnosticsPropertyOfTableColumnWidth()).new("default column width", this.defaultColumnWidth));
      properties.add(new diagnostics.MessageProperty.new("table size", dart.str(this.columns) + "×" + dart.str(this.rows)));
      properties.add(new (IterablePropertyOfString()).new("column offsets", (t27 = this[_columnLefts], t27 == null ? null : t27[$map](core.String, C151 || CT.C151)), {ifNull: "unknown"}));
      properties.add(new (IterablePropertyOfString()).new("row offsets", (t27$ = this[_rowTops], t27$ == null ? null : t27$[$map](core.String, C151 || CT.C151)), {ifNull: "unknown"}));
    }
    debugDescribeChildren() {
      if (dart.test(this[_children$][$isEmpty])) {
        return JSArrayOfDiagnosticsNode().of([diagnostics.DiagnosticsNode.message("table is empty")]);
      }
      let children = JSArrayOfDiagnosticsNode().of([]);
      for (let y = 0; y < dart.notNull(this.rows); y = y + 1) {
        for (let x = 0; x < dart.notNull(this.columns); x = x + 1) {
          let xy = x + y * dart.notNull(this.columns);
          let child = this[_children$][$_get](xy);
          let name = "child (" + dart.str(x) + ", " + dart.str(y) + ")";
          if (child != null)
            children[$add](child.toDiagnosticsNode({name: name}));
          else
            children[$add](new (DiagnosticsPropertyOfObject()).new(name, null, {ifNull: "is null", showSeparator: false}));
        }
      }
      return children;
    }
  };
  (table.RenderTable.new = function(opts) {
    let t27, t27$, t27$0, t27$1, t27$2;
    let columns = opts && 'columns' in opts ? opts.columns : null;
    let rows = opts && 'rows' in opts ? opts.rows : null;
    let columnWidths = opts && 'columnWidths' in opts ? opts.columnWidths : null;
    let defaultColumnWidth = opts && 'defaultColumnWidth' in opts ? opts.defaultColumnWidth : C147 || CT.C147;
    let textDirection = opts && 'textDirection' in opts ? opts.textDirection : null;
    let border = opts && 'border' in opts ? opts.border : null;
    let rowDecorations = opts && 'rowDecorations' in opts ? opts.rowDecorations : null;
    let configuration = opts && 'configuration' in opts ? opts.configuration : C94 || CT.C94;
    let defaultVerticalAlignment = opts && 'defaultVerticalAlignment' in opts ? opts.defaultVerticalAlignment : C141 || CT.C141;
    let textBaseline = opts && 'textBaseline' in opts ? opts.textBaseline : null;
    let children = opts && 'children' in opts ? opts.children : null;
    this[_children$] = C148 || CT.C148;
    this[_columns] = null;
    this[_rows] = null;
    this[_columnWidths] = null;
    this[_defaultColumnWidth] = null;
    this[_border] = null;
    this[_rowDecorations] = null;
    this[_rowDecorationPainters] = null;
    this[_configuration$0] = null;
    this[_defaultVerticalAlignment] = null;
    this[_textBaseline] = null;
    this[_baselineDistance] = null;
    this[_rowTops] = JSArrayOfdouble().of([]);
    this[_columnLefts] = null;
    if (!(columns == null || dart.notNull(columns) >= 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 372, 15, "columns == null || columns >= 0");
    if (!(rows == null || dart.notNull(rows) >= 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 373, 15, "rows == null || rows >= 0");
    if (!(rows == null || children == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 374, 15, "rows == null || children == null");
    if (!(defaultColumnWidth != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 375, 15, "defaultColumnWidth != null");
    if (!(textDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 376, 15, "textDirection != null");
    if (!(configuration != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table.dart", 377, 15, "configuration != null");
    this[_textDirection$1] = textDirection;
    table.RenderTable.__proto__.new.call(this);
    this[_columns] = (t27 = columns, t27 == null ? children != null && dart.test(children[$isNotEmpty]) ? children[$first][$length] : 0 : t27);
    this[_rows] = (t27$ = rows, t27$ == null ? 0 : t27$);
    this[_children$] = (t27$0 = JSArrayOfRenderBox().of([]), t27$0[$length] = dart.notNull(this[_columns]) * dart.notNull(this[_rows]), t27$0);
    this[_columnWidths] = (t27$1 = columnWidths, t27$1 == null ? new (IdentityMapOfint$TableColumnWidth()).new() : t27$1);
    this[_defaultColumnWidth] = defaultColumnWidth;
    this[_border] = border;
    this.rowDecorations = rowDecorations;
    this[_configuration$0] = configuration;
    this[_defaultVerticalAlignment] = defaultVerticalAlignment;
    this[_textBaseline] = textBaseline;
    t27$2 = children;
    t27$2 == null ? null : t27$2[$forEach](dart.bind(this, 'addRow'));
  }).prototype = table.RenderTable.prototype;
  dart.addTypeTests(table.RenderTable);
  dart.setMethodSignature(table.RenderTable, () => ({
    __proto__: dart.getMethods(table.RenderTable.__proto__),
    setColumnWidth: dart.fnType(dart.void, [core.int, table.TableColumnWidth]),
    setFlatChildren: dart.fnType(dart.void, [core.int, core.List$(box.RenderBox)]),
    setChildren: dart.fnType(dart.void, [core.List$(core.List$(box.RenderBox))]),
    addRow: dart.fnType(dart.void, [core.List$(box.RenderBox)]),
    setChild: dart.fnType(dart.void, [core.int, core.int, box.RenderBox]),
    column: dart.fnType(core.Iterable$(box.RenderBox), [core.int]),
    row: dart.fnType(core.Iterable$(box.RenderBox), [core.int]),
    [_computeColumnWidths]: dart.fnType(core.List$(core.double), [box.BoxConstraints]),
    getRowBox: dart.fnType(ui.Rect, [core.int])
  }));
  dart.setGetterSignature(table.RenderTable, () => ({
    __proto__: dart.getGetters(table.RenderTable.__proto__),
    columns: core.int,
    rows: core.int,
    columnWidths: core.Map$(core.int, table.TableColumnWidth),
    defaultColumnWidth: table.TableColumnWidth,
    textDirection: ui.TextDirection,
    border: table_border.TableBorder,
    rowDecorations: core.List$(decoration.Decoration),
    configuration: image_provider.ImageConfiguration,
    defaultVerticalAlignment: table.TableCellVerticalAlignment,
    textBaseline: ui.TextBaseline
  }));
  dart.setSetterSignature(table.RenderTable, () => ({
    __proto__: dart.getSetters(table.RenderTable.__proto__),
    columns: core.int,
    rows: core.int,
    columnWidths: core.Map$(core.int, table.TableColumnWidth),
    defaultColumnWidth: table.TableColumnWidth,
    textDirection: ui.TextDirection,
    border: table_border.TableBorder,
    rowDecorations: core.List$(decoration.Decoration),
    configuration: image_provider.ImageConfiguration,
    defaultVerticalAlignment: table.TableCellVerticalAlignment,
    textBaseline: ui.TextBaseline
  }));
  dart.setLibraryUri(table.RenderTable, "package:flutter/src/rendering/table.dart");
  dart.setFieldSignature(table.RenderTable, () => ({
    __proto__: dart.getFields(table.RenderTable.__proto__),
    [_children$]: dart.fieldType(core.List$(box.RenderBox)),
    [_columns]: dart.fieldType(core.int),
    [_rows]: dart.fieldType(core.int),
    [_columnWidths]: dart.fieldType(core.Map$(core.int, table.TableColumnWidth)),
    [_defaultColumnWidth]: dart.fieldType(table.TableColumnWidth),
    [_textDirection$1]: dart.fieldType(ui.TextDirection),
    [_border]: dart.fieldType(table_border.TableBorder),
    [_rowDecorations]: dart.fieldType(core.List$(decoration.Decoration)),
    [_rowDecorationPainters]: dart.fieldType(core.List$(decoration.BoxPainter)),
    [_configuration$0]: dart.fieldType(image_provider.ImageConfiguration),
    [_defaultVerticalAlignment]: dart.fieldType(table.TableCellVerticalAlignment),
    [_textBaseline]: dart.fieldType(ui.TextBaseline),
    [_baselineDistance]: dart.fieldType(core.double),
    [_rowTops]: dart.finalFieldType(core.List$(core.double)),
    [_columnLefts]: dart.fieldType(core.Iterable$(core.double))
  }));
  const _name$16 = dart.privateName(borders, "_name");
  let C153;
  const BorderSide_style = dart.privateName(borders, "BorderSide.style");
  const BorderSide_width = dart.privateName(borders, "BorderSide.width");
  const BorderSide_color = dart.privateName(borders, "BorderSide.color");
  let C152;
  let C154;
  const top$0 = dart.privateName(table_border, "TableBorder.top");
  const right$0 = dart.privateName(table_border, "TableBorder.right");
  const bottom$0 = dart.privateName(table_border, "TableBorder.bottom");
  const left$0 = dart.privateName(table_border, "TableBorder.left");
  const horizontalInside$ = dart.privateName(table_border, "TableBorder.horizontalInside");
  const verticalInside$ = dart.privateName(table_border, "TableBorder.verticalInside");
  table_border.TableBorder = class TableBorder extends core.Object {
    get top() {
      return this[top$0];
    }
    set top(value) {
      super.top = value;
    }
    get right() {
      return this[right$0];
    }
    set right(value) {
      super.right = value;
    }
    get bottom() {
      return this[bottom$0];
    }
    set bottom(value) {
      super.bottom = value;
    }
    get left() {
      return this[left$0];
    }
    set left(value) {
      super.left = value;
    }
    get horizontalInside() {
      return this[horizontalInside$];
    }
    set horizontalInside(value) {
      super.horizontalInside = value;
    }
    get verticalInside() {
      return this[verticalInside$];
    }
    set verticalInside(value) {
      super.verticalInside = value;
    }
    static all(opts) {
      let color = opts && 'color' in opts ? opts.color : C89 || CT.C89;
      let width = opts && 'width' in opts ? opts.width : 1;
      let style = opts && 'style' in opts ? opts.style : C154 || CT.C154;
      let side = new borders.BorderSide.new({color: color, width: width, style: style});
      return new table_border.TableBorder.new({top: side, right: side, bottom: side, left: side, horizontalInside: side, verticalInside: side});
    }
    static symmetric(opts) {
      let inside = opts && 'inside' in opts ? opts.inside : C152 || CT.C152;
      let outside = opts && 'outside' in opts ? opts.outside : C152 || CT.C152;
      return new table_border.TableBorder.new({top: outside, right: outside, bottom: outside, left: outside, horizontalInside: inside, verticalInside: inside});
    }
    get dimensions() {
      return new edge_insets.EdgeInsets.fromLTRB(this.left.width, this.top.width, this.right.width, this.bottom.width);
    }
    get isUniform() {
      if (!(this.top != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table_border.dart", 85, 12, "top != null");
      if (!(this.right != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table_border.dart", 86, 12, "right != null");
      if (!(this.bottom != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table_border.dart", 87, 12, "bottom != null");
      if (!(this.left != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table_border.dart", 88, 12, "left != null");
      if (!(this.horizontalInside != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table_border.dart", 89, 12, "horizontalInside != null");
      if (!(this.verticalInside != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table_border.dart", 90, 12, "verticalInside != null");
      let topColor = this.top.color;
      if (!dart.equals(this.right.color, topColor) || !dart.equals(this.bottom.color, topColor) || !dart.equals(this.left.color, topColor) || !dart.equals(this.horizontalInside.color, topColor) || !dart.equals(this.verticalInside.color, topColor)) return false;
      let topWidth = this.top.width;
      if (this.right.width != topWidth || this.bottom.width != topWidth || this.left.width != topWidth || this.horizontalInside.width != topWidth || this.verticalInside.width != topWidth) return false;
      let topStyle = this.top.style;
      if (!dart.equals(this.right.style, topStyle) || !dart.equals(this.bottom.style, topStyle) || !dart.equals(this.left.style, topStyle) || !dart.equals(this.horizontalInside.style, topStyle) || !dart.equals(this.verticalInside.style, topStyle)) return false;
      return true;
    }
    scale(t) {
      return new table_border.TableBorder.new({top: this.top.scale(t), right: this.right.scale(t), bottom: this.bottom.scale(t), left: this.left.scale(t), horizontalInside: this.horizontalInside.scale(t), verticalInside: this.verticalInside.scale(t)});
    }
    static lerp(a, b, t) {
      if (!(t != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table_border.dart", 152, 12, "t != null");
      if (a == null && b == null) return null;
      if (a == null) return b.scale(t);
      if (b == null) return a.scale(1.0 - dart.notNull(t));
      return new table_border.TableBorder.new({top: borders.BorderSide.lerp(a.top, b.top, t), right: borders.BorderSide.lerp(a.right, b.right, t), bottom: borders.BorderSide.lerp(a.bottom, b.bottom, t), left: borders.BorderSide.lerp(a.left, b.left, t), horizontalInside: borders.BorderSide.lerp(a.horizontalInside, b.horizontalInside, t), verticalInside: borders.BorderSide.lerp(a.verticalInside, b.verticalInside, t)});
    }
    paint(canvas, rect, opts) {
      let t27, t27$;
      let rows = opts && 'rows' in opts ? opts.rows : null;
      let columns = opts && 'columns' in opts ? opts.columns : null;
      if (!(this.top != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table_border.dart", 202, 12, "top != null");
      if (!(this.right != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table_border.dart", 203, 12, "right != null");
      if (!(this.bottom != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table_border.dart", 204, 12, "bottom != null");
      if (!(this.left != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table_border.dart", 205, 12, "left != null");
      if (!(this.horizontalInside != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table_border.dart", 206, 12, "horizontalInside != null");
      if (!(this.verticalInside != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table_border.dart", 207, 12, "verticalInside != null");
      if (!(canvas != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table_border.dart", 210, 12, "canvas != null");
      if (!(rect != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table_border.dart", 211, 12, "rect != null");
      if (!(rows != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table_border.dart", 212, 12, "rows != null");
      if (!(dart.test(rows[$isEmpty]) || dart.notNull(rows[$first]) >= 0.0 && dart.notNull(rows[$last]) <= dart.notNull(rect.height))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table_border.dart", 213, 12, "rows.isEmpty || (rows.first >= 0.0 && rows.last <= rect.height)");
      if (!(columns != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table_border.dart", 214, 12, "columns != null");
      if (!(dart.test(columns[$isEmpty]) || dart.notNull(columns[$first]) >= 0.0 && dart.notNull(columns[$last]) <= dart.notNull(rect.width))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/table_border.dart", 215, 12, "columns.isEmpty || (columns.first >= 0.0 && columns.last <= rect.width)");
      if (dart.test(columns[$isNotEmpty]) || dart.test(rows[$isNotEmpty])) {
        let paint = ui.Paint.new();
        let path = ui.Path.new();
        if (dart.test(columns[$isNotEmpty])) {
          switch (this.verticalInside.style) {
            case C154 || CT.C154:
            {
              t27 = paint;
              t27.color = this.verticalInside.color;
              t27.strokeWidth = this.verticalInside.width;
              t27.style = ui.PaintingStyle.stroke;
              t27;
              path.reset();
              for (let x of columns) {
                path.moveTo(dart.notNull(rect.left) + dart.notNull(x), rect.top);
                path.lineTo(dart.notNull(rect.left) + dart.notNull(x), rect.bottom);
              }
              canvas.drawPath(path, paint);
              break;
            }
            case C153 || CT.C153:
            {
              break;
            }
          }
        }
        if (dart.test(rows[$isNotEmpty])) {
          switch (this.horizontalInside.style) {
            case C154 || CT.C154:
            {
              t27$ = paint;
              t27$.color = this.horizontalInside.color;
              t27$.strokeWidth = this.horizontalInside.width;
              t27$.style = ui.PaintingStyle.stroke;
              t27$;
              path.reset();
              for (let y of rows) {
                path.moveTo(rect.left, dart.notNull(rect.top) + dart.notNull(y));
                path.lineTo(rect.right, dart.notNull(rect.top) + dart.notNull(y));
              }
              canvas.drawPath(path, paint);
              break;
            }
            case C153 || CT.C153:
            {
              break;
            }
          }
        }
      }
      borders.paintBorder(canvas, rect, {top: this.top, right: this.right, bottom: this.bottom, left: this.left});
    }
    _equals(other) {
      if (other == null) return false;
      if (this === other) return true;
      if (!dart.equals(dart.runtimeType(other), this[$runtimeType])) return false;
      return table_border.TableBorder.is(other) && dart.equals(other.top, this.top) && dart.equals(other.right, this.right) && dart.equals(other.bottom, this.bottom) && dart.equals(other.left, this.left) && dart.equals(other.horizontalInside, this.horizontalInside) && dart.equals(other.verticalInside, this.verticalInside);
    }
    get hashCode() {
      return ui.hashValues(this.top, this.right, this.bottom, this.left, this.horizontalInside, this.verticalInside);
    }
    toString() {
      return "TableBorder(" + dart.str(this.top) + ", " + dart.str(this.right) + ", " + dart.str(this.bottom) + ", " + dart.str(this.left) + ", " + dart.str(this.horizontalInside) + ", " + dart.str(this.verticalInside) + ")";
    }
  };
  (table_border.TableBorder.new = function(opts) {
    let top = opts && 'top' in opts ? opts.top : C152 || CT.C152;
    let right = opts && 'right' in opts ? opts.right : C152 || CT.C152;
    let bottom = opts && 'bottom' in opts ? opts.bottom : C152 || CT.C152;
    let left = opts && 'left' in opts ? opts.left : C152 || CT.C152;
    let horizontalInside = opts && 'horizontalInside' in opts ? opts.horizontalInside : C152 || CT.C152;
    let verticalInside = opts && 'verticalInside' in opts ? opts.verticalInside : C152 || CT.C152;
    this[top$0] = top;
    this[right$0] = right;
    this[bottom$0] = bottom;
    this[left$0] = left;
    this[horizontalInside$] = horizontalInside;
    this[verticalInside$] = verticalInside;
    ;
  }).prototype = table_border.TableBorder.prototype;
  dart.addTypeTests(table_border.TableBorder);
  dart.setMethodSignature(table_border.TableBorder, () => ({
    __proto__: dart.getMethods(table_border.TableBorder.__proto__),
    scale: dart.fnType(table_border.TableBorder, [core.double]),
    paint: dart.fnType(dart.void, [ui.Canvas, ui.Rect], {columns: core.Iterable$(core.double), rows: core.Iterable$(core.double)}, {}),
    _equals: dart.fnType(core.bool, [core.Object]),
    [$_equals]: dart.fnType(core.bool, [core.Object])
  }));
  dart.setGetterSignature(table_border.TableBorder, () => ({
    __proto__: dart.getGetters(table_border.TableBorder.__proto__),
    dimensions: edge_insets.EdgeInsets,
    isUniform: core.bool
  }));
  dart.setLibraryUri(table_border.TableBorder, "package:flutter/src/rendering/table_border.dart");
  dart.setFieldSignature(table_border.TableBorder, () => ({
    __proto__: dart.getFields(table_border.TableBorder.__proto__),
    top: dart.finalFieldType(borders.BorderSide),
    right: dart.finalFieldType(borders.BorderSide),
    bottom: dart.finalFieldType(borders.BorderSide),
    left: dart.finalFieldType(borders.BorderSide),
    horizontalInside: dart.finalFieldType(borders.BorderSide),
    verticalInside: dart.finalFieldType(borders.BorderSide)
  }));
  dart.defineExtensionMethods(table_border.TableBorder, ['_equals', 'toString']);
  dart.defineExtensionAccessors(table_border.TableBorder, ['hashCode']);
  const _textureId = dart.privateName(texture, "_textureId");
  texture.TextureBox = class TextureBox extends box.RenderBox {
    get textureId() {
      return this[_textureId];
    }
    set textureId(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/texture.dart", 47, 12, "value != null");
      if (value != this[_textureId]) {
        this[_textureId] = value;
        this.markNeedsPaint();
      }
    }
    get sizedByParent() {
      return true;
    }
    get alwaysNeedsCompositing() {
      return true;
    }
    get isRepaintBoundary() {
      return true;
    }
    performResize() {
      this.size = this.constraints.biggest;
    }
    hitTestSelf(position) {
      return true;
    }
    paint(context, offset) {
      if (this[_textureId] == null) return;
      context.addLayer(new layer$.TextureLayer.new({rect: new ui.Rect.fromLTWH(offset.dx, offset.dy, this.size.width, this.size.height), textureId: this[_textureId]}));
    }
  };
  (texture.TextureBox.new = function(opts) {
    let textureId = opts && 'textureId' in opts ? opts.textureId : null;
    if (!(textureId != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/texture.dart", 40, 14, "textureId != null");
    this[_textureId] = textureId;
    texture.TextureBox.__proto__.new.call(this);
    ;
  }).prototype = texture.TextureBox.prototype;
  dart.addTypeTests(texture.TextureBox);
  dart.setGetterSignature(texture.TextureBox, () => ({
    __proto__: dart.getGetters(texture.TextureBox.__proto__),
    textureId: core.int
  }));
  dart.setSetterSignature(texture.TextureBox, () => ({
    __proto__: dart.getSetters(texture.TextureBox.__proto__),
    textureId: core.int
  }));
  dart.setLibraryUri(texture.TextureBox, "package:flutter/src/rendering/texture.dart");
  dart.setFieldSignature(texture.TextureBox, () => ({
    __proto__: dart.getFields(texture.TextureBox.__proto__),
    [_textureId]: dart.fieldType(core.int)
  }));
  list_body.ListBodyParentData = class ListBodyParentData extends box.ContainerBoxParentData$(box.RenderBox) {};
  (list_body.ListBodyParentData.new = function() {
    list_body.ListBodyParentData.__proto__.new.call(this);
    ;
  }).prototype = list_body.ListBodyParentData.prototype;
  dart.addTypeTests(list_body.ListBodyParentData);
  dart.setLibraryUri(list_body.ListBodyParentData, "package:flutter/src/rendering/list_body.dart");
  const _axisDirection$ = dart.privateName(list_body, "_axisDirection");
  const _getIntrinsicCrossAxis = dart.privateName(list_body, "_getIntrinsicCrossAxis");
  const _getIntrinsicMainAxis = dart.privateName(list_body, "_getIntrinsicMainAxis");
  const RenderBox_ContainerRenderObjectMixin$36$1 = class RenderBox_ContainerRenderObjectMixin extends box.RenderBox {};
  (RenderBox_ContainerRenderObjectMixin$36$1.new = function() {
    object$.ContainerRenderObjectMixin$(box.RenderBox, list_body.ListBodyParentData)[dart.mixinNew].call(this);
    RenderBox_ContainerRenderObjectMixin$36$1.__proto__.new.call(this);
  }).prototype = RenderBox_ContainerRenderObjectMixin$36$1.prototype;
  dart.applyMixin(RenderBox_ContainerRenderObjectMixin$36$1, object$.ContainerRenderObjectMixin$(box.RenderBox, list_body.ListBodyParentData));
  const RenderBox_RenderBoxContainerDefaultsMixin$36$1 = class RenderBox_RenderBoxContainerDefaultsMixin extends RenderBox_ContainerRenderObjectMixin$36$1 {};
  (RenderBox_RenderBoxContainerDefaultsMixin$36$1.new = function() {
    RenderBox_RenderBoxContainerDefaultsMixin$36$1.__proto__.new.call(this);
  }).prototype = RenderBox_RenderBoxContainerDefaultsMixin$36$1.prototype;
  dart.applyMixin(RenderBox_RenderBoxContainerDefaultsMixin$36$1, box.RenderBoxContainerDefaultsMixin$(box.RenderBox, list_body.ListBodyParentData));
  list_body.RenderListBody = class RenderListBody extends RenderBox_RenderBoxContainerDefaultsMixin$36$1 {
    setupParentData(child) {
      box.RenderBox._check(child);
      if (!list_body.ListBodyParentData.is(child.parentData)) child.parentData = new list_body.ListBodyParentData.new();
    }
    get axisDirection() {
      return this[_axisDirection$];
    }
    set axisDirection(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_body.dart", 53, 12, "value != null");
      if (dart.equals(this[_axisDirection$], value)) return;
      this[_axisDirection$] = value;
      this.markNeedsLayout();
    }
    get mainAxis() {
      return basic_types$.axisDirectionToAxis(this.axisDirection);
    }
    performLayout() {
      if (!dart.test(dart.fn(() => {
        switch (this.mainAxis) {
          case C30 || CT.C30:
          {
            if (!dart.test(this.constraints.hasBoundedWidth)) return true;
            break;
          }
          case C31 || CT.C31:
          {
            if (!dart.test(this.constraints.hasBoundedHeight)) return true;
            break;
          }
        }
        dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("RenderListBody must have unlimited space along its main axis."), new assertions.ErrorDescription.new("RenderListBody does not clip or resize its children, so it must be " + "placed in a parent that does not constrain the main " + "axis."), new assertions.ErrorHint.new("You probably want to put the RenderListBody inside a " + "RenderViewport with a matching main axis.")])));
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_body.dart", 66, 12, "() {\r\n      switch (mainAxis) {\r\n        case Axis.horizontal:\r\n          if (!constraints.hasBoundedWidth)\r\n            return true;\r\n          break;\r\n        case Axis.vertical:\r\n          if (!constraints.hasBoundedHeight)\r\n            return true;\r\n          break;\r\n      }\r\n      throw FlutterError.fromParts(<DiagnosticsNode>[\r\n        ErrorSummary('RenderListBody must have unlimited space along its main axis.'),\r\n        ErrorDescription(\r\n          'RenderListBody does not clip or resize its children, so it must be '\r\n          'placed in a parent that does not constrain the main '\r\n          'axis.'\r\n        ),\r\n        ErrorHint(\r\n          'You probably want to put the RenderListBody inside a '\r\n          'RenderViewport with a matching main axis.'\r\n        )\r\n      ]);\r\n    }()");
      if (!dart.test(dart.fn(() => {
        switch (this.mainAxis) {
          case C30 || CT.C30:
          {
            if (dart.test(this.constraints.hasBoundedHeight)) return true;
            break;
          }
          case C31 || CT.C31:
          {
            if (dart.test(this.constraints.hasBoundedWidth)) return true;
            break;
          }
        }
        dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("RenderListBody must have a bounded constraint for its cross axis."), new assertions.ErrorDescription.new("RenderListBody forces its children to expand to fit the RenderListBody's container, " + "so it must be placed in a parent that constrains the cross " + "axis to a finite dimension."), new assertions.ErrorHint.new("If you are attempting to nest a RenderListBody with " + "one direction inside one of another direction, you will want to " + "wrap the inner one inside a box that fixes the dimension in that direction, " + "for example, a RenderIntrinsicWidth or RenderIntrinsicHeight object. " + "This is relatively expensive, however.")])));
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_body.dart", 90, 12, "() {\r\n      switch (mainAxis) {\r\n        case Axis.horizontal:\r\n          if (constraints.hasBoundedHeight)\r\n            return true;\r\n          break;\r\n        case Axis.vertical:\r\n          if (constraints.hasBoundedWidth)\r\n            return true;\r\n          break;\r\n      }\r\n      // TODO(ianh): Detect if we're actually nested blocks and say something\r\n      // more specific to the exact situation in that case, and don't mention\r\n      // nesting blocks in the negative case.\r\n      throw FlutterError.fromParts(<DiagnosticsNode>[\r\n        ErrorSummary('RenderListBody must have a bounded constraint for its cross axis.'),\r\n        ErrorDescription(\r\n          'RenderListBody forces its children to expand to fit the RenderListBody\\'s container, '\r\n          'so it must be placed in a parent that constrains the cross '\r\n          'axis to a finite dimension.'\r\n        ),\r\n        // TODO(jacobr): this hint is a great candidate to promote to being an\r\n        // automated quick fix in the future.\r\n        ErrorHint(\r\n          'If you are attempting to nest a RenderListBody with '\r\n          'one direction inside one of another direction, you will want to '\r\n          'wrap the inner one inside a box that fixes the dimension in that direction, '\r\n          'for example, a RenderIntrinsicWidth or RenderIntrinsicHeight object. '\r\n          'This is relatively expensive, however.' // (that's why we don't do it automatically)\r\n        )\r\n      ]);\r\n    }()");
      let mainAxisExtent = 0.0;
      let child = this.firstChild;
      switch (this.axisDirection) {
        case C117 || CT.C117:
        {
          let innerConstraints = new box.BoxConstraints.tightFor({height: this.constraints.maxHeight});
          while (child != null) {
            child.layout(innerConstraints, {parentUsesSize: true});
            let childParentData = list_body.ListBodyParentData.as(child.parentData);
            childParentData.offset = new ui.Offset.new(mainAxisExtent, 0.0);
            mainAxisExtent = mainAxisExtent + dart.notNull(child.size.width);
            if (!dart.equals(child.parentData, childParentData)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_body.dart", 132, 18, "child.parentData == childParentData");
            child = childParentData.nextSibling;
          }
          this.size = this.constraints.constrain(new ui.Size.new(mainAxisExtent, this.constraints.maxHeight));
          break;
        }
        case C120 || CT.C120:
        {
          let innerConstraints = new box.BoxConstraints.tightFor({height: this.constraints.maxHeight});
          while (child != null) {
            child.layout(innerConstraints, {parentUsesSize: true});
            let childParentData = list_body.ListBodyParentData.as(child.parentData);
            mainAxisExtent = mainAxisExtent + dart.notNull(child.size.width);
            if (!dart.equals(child.parentData, childParentData)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_body.dart", 143, 18, "child.parentData == childParentData");
            child = childParentData.nextSibling;
          }
          let position = 0.0;
          child = this.firstChild;
          while (child != null) {
            let childParentData = list_body.ListBodyParentData.as(child.parentData);
            position = position + dart.notNull(child.size.width);
            childParentData.offset = new ui.Offset.new(mainAxisExtent - position, 0.0);
            if (!dart.equals(child.parentData, childParentData)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_body.dart", 152, 18, "child.parentData == childParentData");
            child = childParentData.nextSibling;
          }
          this.size = this.constraints.constrain(new ui.Size.new(mainAxisExtent, this.constraints.maxHeight));
          break;
        }
        case C118 || CT.C118:
        {
          let innerConstraints = new box.BoxConstraints.tightFor({width: this.constraints.maxWidth});
          while (child != null) {
            child.layout(innerConstraints, {parentUsesSize: true});
            let childParentData = list_body.ListBodyParentData.as(child.parentData);
            childParentData.offset = new ui.Offset.new(0.0, mainAxisExtent);
            mainAxisExtent = mainAxisExtent + dart.notNull(child.size.height);
            if (!dart.equals(child.parentData, childParentData)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_body.dart", 164, 18, "child.parentData == childParentData");
            child = childParentData.nextSibling;
          }
          this.size = this.constraints.constrain(new ui.Size.new(this.constraints.maxWidth, mainAxisExtent));
          break;
        }
        case C116 || CT.C116:
        {
          let innerConstraints = new box.BoxConstraints.tightFor({width: this.constraints.maxWidth});
          while (child != null) {
            child.layout(innerConstraints, {parentUsesSize: true});
            let childParentData = list_body.ListBodyParentData.as(child.parentData);
            mainAxisExtent = mainAxisExtent + dart.notNull(child.size.height);
            if (!dart.equals(child.parentData, childParentData)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_body.dart", 175, 18, "child.parentData == childParentData");
            child = childParentData.nextSibling;
          }
          let position = 0.0;
          child = this.firstChild;
          while (child != null) {
            let childParentData = list_body.ListBodyParentData.as(child.parentData);
            position = position + dart.notNull(child.size.height);
            childParentData.offset = new ui.Offset.new(0.0, mainAxisExtent - position);
            if (!dart.equals(child.parentData, childParentData)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_body.dart", 184, 18, "child.parentData == childParentData");
            child = childParentData.nextSibling;
          }
          this.size = this.constraints.constrain(new ui.Size.new(this.constraints.maxWidth, mainAxisExtent));
          break;
        }
      }
      if (!dart.test(this.size.isFinite)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_body.dart", 190, 12, "size.isFinite");
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (EnumPropertyOfAxisDirection()).new("axisDirection", this.axisDirection));
    }
    [_getIntrinsicCrossAxis](childSize) {
      let extent = 0.0;
      let child = this.firstChild;
      while (child != null) {
        extent = math.max(core.double, extent, childSize(child));
        let childParentData = list_body.ListBodyParentData.as(child.parentData);
        child = childParentData.nextSibling;
      }
      return extent;
    }
    [_getIntrinsicMainAxis](childSize) {
      let extent = 0.0;
      let child = this.firstChild;
      while (child != null) {
        extent = extent + dart.notNull(childSize(child));
        let childParentData = list_body.ListBodyParentData.as(child.parentData);
        child = childParentData.nextSibling;
      }
      return extent;
    }
    computeMinIntrinsicWidth(height) {
      if (!(this.mainAxis != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_body.dart", 223, 12, "mainAxis != null");
      switch (this.mainAxis) {
        case C30 || CT.C30:
        {
          return this[_getIntrinsicMainAxis](dart.fn(child => child.getMinIntrinsicWidth(height), RenderBoxTodouble()));
        }
        case C31 || CT.C31:
        {
          return this[_getIntrinsicCrossAxis](dart.fn(child => child.getMinIntrinsicWidth(height), RenderBoxTodouble()));
        }
      }
      return null;
    }
    computeMaxIntrinsicWidth(height) {
      if (!(this.mainAxis != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_body.dart", 235, 12, "mainAxis != null");
      switch (this.mainAxis) {
        case C30 || CT.C30:
        {
          return this[_getIntrinsicMainAxis](dart.fn(child => child.getMaxIntrinsicWidth(height), RenderBoxTodouble()));
        }
        case C31 || CT.C31:
        {
          return this[_getIntrinsicCrossAxis](dart.fn(child => child.getMaxIntrinsicWidth(height), RenderBoxTodouble()));
        }
      }
      return null;
    }
    computeMinIntrinsicHeight(width) {
      if (!(this.mainAxis != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_body.dart", 247, 12, "mainAxis != null");
      switch (this.mainAxis) {
        case C30 || CT.C30:
        {
          return this[_getIntrinsicMainAxis](dart.fn(child => child.getMinIntrinsicHeight(width), RenderBoxTodouble()));
        }
        case C31 || CT.C31:
        {
          return this[_getIntrinsicCrossAxis](dart.fn(child => child.getMinIntrinsicHeight(width), RenderBoxTodouble()));
        }
      }
      return null;
    }
    computeMaxIntrinsicHeight(width) {
      if (!(this.mainAxis != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_body.dart", 259, 12, "mainAxis != null");
      switch (this.mainAxis) {
        case C30 || CT.C30:
        {
          return this[_getIntrinsicMainAxis](dart.fn(child => child.getMaxIntrinsicHeight(width), RenderBoxTodouble()));
        }
        case C31 || CT.C31:
        {
          return this[_getIntrinsicCrossAxis](dart.fn(child => child.getMaxIntrinsicHeight(width), RenderBoxTodouble()));
        }
      }
      return null;
    }
    computeDistanceToActualBaseline(baseline) {
      return this.defaultComputeDistanceToFirstActualBaseline(baseline);
    }
    paint(context, offset) {
      this.defaultPaint(context, offset);
    }
    hitTestChildren(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      return this.defaultHitTestChildren(result, {position: position});
    }
  };
  (list_body.RenderListBody.new = function(opts) {
    let children = opts && 'children' in opts ? opts.children : null;
    let axisDirection = opts && 'axisDirection' in opts ? opts.axisDirection : C118 || CT.C118;
    if (!(axisDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_body.dart", 35, 15, "axisDirection != null");
    this[_axisDirection$] = axisDirection;
    list_body.RenderListBody.__proto__.new.call(this);
    this.addAll(children);
  }).prototype = list_body.RenderListBody.prototype;
  dart.addTypeTests(list_body.RenderListBody);
  dart.setMethodSignature(list_body.RenderListBody, () => ({
    __proto__: dart.getMethods(list_body.RenderListBody.__proto__),
    [_getIntrinsicCrossAxis]: dart.fnType(core.double, [dart.fnType(core.double, [box.RenderBox])]),
    [_getIntrinsicMainAxis]: dart.fnType(core.double, [dart.fnType(core.double, [box.RenderBox])])
  }));
  dart.setGetterSignature(list_body.RenderListBody, () => ({
    __proto__: dart.getGetters(list_body.RenderListBody.__proto__),
    axisDirection: basic_types$.AxisDirection,
    mainAxis: basic_types$.Axis
  }));
  dart.setSetterSignature(list_body.RenderListBody, () => ({
    __proto__: dart.getSetters(list_body.RenderListBody.__proto__),
    axisDirection: basic_types$.AxisDirection
  }));
  dart.setLibraryUri(list_body.RenderListBody, "package:flutter/src/rendering/list_body.dart");
  dart.setFieldSignature(list_body.RenderListBody, () => ({
    __proto__: dart.getFields(list_body.RenderListBody.__proto__),
    [_axisDirection$]: dart.fieldType(basic_types$.AxisDirection)
  }));
  const _repaint$0 = dart.privateName(custom_paint, "_repaint");
  const _repaint$1 = dart.privateName(custom_paint, "CustomPainter._repaint");
  custom_paint.CustomPainter = class CustomPainter extends change_notifier.Listenable {
    get [_repaint$0]() {
      return this[_repaint$1];
    }
    set [_repaint$0](value) {
      super[_repaint$0] = value;
    }
    addListener(listener) {
      let t27;
      t27 = this[_repaint$0];
      return t27 == null ? null : t27.addListener(listener);
    }
    removeListener(listener) {
      let t27;
      t27 = this[_repaint$0];
      return t27 == null ? null : t27.removeListener(listener);
    }
    get semanticsBuilder() {
      return null;
    }
    shouldRebuildSemantics(oldDelegate) {
      custom_paint.CustomPainter._check(oldDelegate);
      return this.shouldRepaint(oldDelegate);
    }
    hitTest(position) {
      return null;
    }
    toString() {
      let t27, t27$;
      return dart.str(diagnostics.describeIdentity(this)) + "(" + dart.str((t27$ = (t27 = this[_repaint$0], t27 == null ? null : dart.toString(t27)), t27$ == null ? "" : t27$)) + ")";
    }
  };
  (custom_paint.CustomPainter.new = function(opts) {
    let repaint = opts && 'repaint' in opts ? opts.repaint : null;
    this[_repaint$1] = repaint;
    custom_paint.CustomPainter.__proto__.new.call(this);
    ;
  }).prototype = custom_paint.CustomPainter.prototype;
  dart.addTypeTests(custom_paint.CustomPainter);
  dart.setMethodSignature(custom_paint.CustomPainter, () => ({
    __proto__: dart.getMethods(custom_paint.CustomPainter.__proto__),
    addListener: dart.fnType(dart.void, [dart.fnType(dart.void, [])]),
    removeListener: dart.fnType(dart.void, [dart.fnType(dart.void, [])]),
    shouldRebuildSemantics: dart.fnType(core.bool, [core.Object]),
    hitTest: dart.fnType(core.bool, [ui.Offset])
  }));
  dart.setGetterSignature(custom_paint.CustomPainter, () => ({
    __proto__: dart.getGetters(custom_paint.CustomPainter.__proto__),
    semanticsBuilder: dart.fnType(core.List$(custom_paint.CustomPainterSemantics), [ui.Size])
  }));
  dart.setLibraryUri(custom_paint.CustomPainter, "package:flutter/src/rendering/custom_paint.dart");
  dart.setFieldSignature(custom_paint.CustomPainter, () => ({
    __proto__: dart.getFields(custom_paint.CustomPainter.__proto__),
    [_repaint$0]: dart.finalFieldType(change_notifier.Listenable)
  }));
  dart.defineExtensionMethods(custom_paint.CustomPainter, ['toString']);
  const key$ = dart.privateName(custom_paint, "CustomPainterSemantics.key");
  const rect$3 = dart.privateName(custom_paint, "CustomPainterSemantics.rect");
  const transform$ = dart.privateName(custom_paint, "CustomPainterSemantics.transform");
  const properties$ = dart.privateName(custom_paint, "CustomPainterSemantics.properties");
  const tags$ = dart.privateName(custom_paint, "CustomPainterSemantics.tags");
  custom_paint.CustomPainterSemantics = class CustomPainterSemantics extends core.Object {
    get key() {
      return this[key$];
    }
    set key(value) {
      super.key = value;
    }
    get rect() {
      return this[rect$3];
    }
    set rect(value) {
      super.rect = value;
    }
    get transform() {
      return this[transform$];
    }
    set transform(value) {
      super.transform = value;
    }
    get properties() {
      return this[properties$];
    }
    set properties(value) {
      super.properties = value;
    }
    get tags() {
      return this[tags$];
    }
    set tags(value) {
      super.tags = value;
    }
  };
  (custom_paint.CustomPainterSemantics.new = function(opts) {
    let key = opts && 'key' in opts ? opts.key : null;
    let rect = opts && 'rect' in opts ? opts.rect : null;
    let properties = opts && 'properties' in opts ? opts.properties : null;
    let transform = opts && 'transform' in opts ? opts.transform : null;
    let tags = opts && 'tags' in opts ? opts.tags : null;
    this[key$] = key;
    this[rect$3] = rect;
    this[properties$] = properties;
    this[transform$] = transform;
    this[tags$] = tags;
    if (!(rect != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_paint.dart", 300, 15, "rect != null");
    if (!(properties != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_paint.dart", 301, 15, "properties != null");
    ;
  }).prototype = custom_paint.CustomPainterSemantics.prototype;
  dart.addTypeTests(custom_paint.CustomPainterSemantics);
  dart.setLibraryUri(custom_paint.CustomPainterSemantics, "package:flutter/src/rendering/custom_paint.dart");
  dart.setFieldSignature(custom_paint.CustomPainterSemantics, () => ({
    __proto__: dart.getFields(custom_paint.CustomPainterSemantics.__proto__),
    key: dart.finalFieldType(key.Key),
    rect: dart.finalFieldType(ui.Rect),
    transform: dart.finalFieldType(vector_math_64.Matrix4),
    properties: dart.finalFieldType(semantics.SemanticsProperties),
    tags: dart.finalFieldType(core.Set$(semantics.SemanticsTag))
  }));
  const _backgroundSemanticsBuilder = dart.privateName(custom_paint, "_backgroundSemanticsBuilder");
  const _foregroundSemanticsBuilder = dart.privateName(custom_paint, "_foregroundSemanticsBuilder");
  const _backgroundSemanticsNodes = dart.privateName(custom_paint, "_backgroundSemanticsNodes");
  const _foregroundSemanticsNodes = dart.privateName(custom_paint, "_foregroundSemanticsNodes");
  const _painter$ = dart.privateName(custom_paint, "_painter");
  const _foregroundPainter = dart.privateName(custom_paint, "_foregroundPainter");
  const _preferredSize = dart.privateName(custom_paint, "_preferredSize");
  const _didUpdatePainter = dart.privateName(custom_paint, "_didUpdatePainter");
  const _paintWithPainter = dart.privateName(custom_paint, "_paintWithPainter");
  const _setRasterCacheHints = dart.privateName(custom_paint, "_setRasterCacheHints");
  let C155;
  let C156;
  const isComplex$ = dart.privateName(custom_paint, "RenderCustomPaint.isComplex");
  const willChange$ = dart.privateName(custom_paint, "RenderCustomPaint.willChange");
  custom_paint.RenderCustomPaint = class RenderCustomPaint extends proxy_box.RenderProxyBox {
    get isComplex() {
      return this[isComplex$];
    }
    set isComplex(value) {
      this[isComplex$] = value;
    }
    get willChange() {
      return this[willChange$];
    }
    set willChange(value) {
      this[willChange$] = value;
    }
    get painter() {
      return this[_painter$];
    }
    set painter(value) {
      if (dart.equals(this[_painter$], value)) return;
      let oldPainter = this[_painter$];
      this[_painter$] = value;
      this[_didUpdatePainter](this[_painter$], oldPainter);
    }
    get foregroundPainter() {
      return this[_foregroundPainter];
    }
    set foregroundPainter(value) {
      if (dart.equals(this[_foregroundPainter], value)) return;
      let oldPainter = this[_foregroundPainter];
      this[_foregroundPainter] = value;
      this[_didUpdatePainter](this[_foregroundPainter], oldPainter);
    }
    [_didUpdatePainter](newPainter, oldPainter) {
      let t27, t27$;
      if (newPainter == null) {
        if (!(oldPainter != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_paint.dart", 436, 14, "oldPainter != null");
        this.markNeedsPaint();
      } else if (oldPainter == null || !dart.equals(dart.runtimeType(newPainter), dart.runtimeType(oldPainter)) || dart.test(newPainter.shouldRepaint(oldPainter))) {
        this.markNeedsPaint();
      }
      if (dart.test(this.attached)) {
        t27 = oldPainter;
        t27 == null ? null : t27.removeListener(dart.bind(this, 'markNeedsPaint'));
        t27$ = newPainter;
        t27$ == null ? null : t27$.addListener(dart.bind(this, 'markNeedsPaint'));
      }
      if (newPainter == null) {
        if (!(oldPainter != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_paint.dart", 450, 14, "oldPainter != null");
        if (dart.test(this.attached)) this.markNeedsSemanticsUpdate();
      } else if (oldPainter == null || !dart.equals(dart.runtimeType(newPainter), dart.runtimeType(oldPainter)) || dart.test(newPainter.shouldRebuildSemantics(oldPainter))) {
        this.markNeedsSemanticsUpdate();
      }
    }
    get preferredSize() {
      return this[_preferredSize];
    }
    set preferredSize(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_paint.dart", 470, 12, "value != null");
      if (dart.equals(this.preferredSize, value)) return;
      this[_preferredSize] = value;
      this.markNeedsLayout();
    }
    attach(owner) {
      let t27, t27$;
      object$.PipelineOwner._check(owner);
      super.attach(owner);
      t27 = this[_painter$];
      t27 == null ? null : t27.addListener(dart.bind(this, 'markNeedsPaint'));
      t27$ = this[_foregroundPainter];
      t27$ == null ? null : t27$.addListener(dart.bind(this, 'markNeedsPaint'));
    }
    detach() {
      let t27, t27$;
      t27 = this[_painter$];
      t27 == null ? null : t27.removeListener(dart.bind(this, 'markNeedsPaint'));
      t27$ = this[_foregroundPainter];
      t27$ == null ? null : t27$.removeListener(dart.bind(this, 'markNeedsPaint'));
      super.detach();
    }
    hitTestChildren(result, opts) {
      let t27;
      let position = opts && 'position' in opts ? opts.position : null;
      if (this[_foregroundPainter] != null && dart.test((t27 = this[_foregroundPainter].hitTest(position), t27 == null ? false : t27))) return true;
      return super.hitTestChildren(result, {position: position});
    }
    hitTestSelf(position) {
      let t27;
      return this[_painter$] != null && dart.test((t27 = this[_painter$].hitTest(position), t27 == null ? true : t27));
    }
    performResize() {
      this.size = this.constraints.constrain(this.preferredSize);
      this.markNeedsSemanticsUpdate();
    }
    [_paintWithPainter](canvas, offset, painter) {
      let debugPreviousCanvasSaveCount = null;
      canvas.save();
      if (!dart.test(dart.fn(() => {
        debugPreviousCanvasSaveCount = canvas.getSaveCount();
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_paint.dart", 525, 12, "() {\r\n      debugPreviousCanvasSaveCount = canvas.getSaveCount();\r\n      return true;\r\n    }()");
      if (!dart.equals(offset, ui.Offset.zero)) canvas.translate(offset.dx, offset.dy);
      painter.paint(canvas, this.size);
      if (!dart.test(dart.fn(() => {
        let debugNewCanvasSaveCount = canvas.getSaveCount();
        if (dart.notNull(debugNewCanvasSaveCount) > dart.notNull(debugPreviousCanvasSaveCount)) {
          dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("The " + dart.str(painter) + " custom painter called canvas.save() or canvas.saveLayer() at least " + dart.str(dart.notNull(debugNewCanvasSaveCount) - dart.notNull(debugPreviousCanvasSaveCount)) + " more " + "time" + (dart.notNull(debugNewCanvasSaveCount) - dart.notNull(debugPreviousCanvasSaveCount) === 1 ? "" : "s") + " " + "than it called canvas.restore()."), new assertions.ErrorDescription.new("This leaves the canvas in an inconsistent state and will probably result in a broken display."), new assertions.ErrorHint.new("You must pair each call to save()/saveLayer() with a later matching call to restore().")])));
        }
        if (dart.notNull(debugNewCanvasSaveCount) < dart.notNull(debugPreviousCanvasSaveCount)) {
          dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("The " + dart.str(painter) + " custom painter called canvas.restore() " + dart.str(dart.notNull(debugPreviousCanvasSaveCount) - dart.notNull(debugNewCanvasSaveCount)) + " more " + "time" + (dart.notNull(debugPreviousCanvasSaveCount) - dart.notNull(debugNewCanvasSaveCount) === 1 ? "" : "s") + " " + "than it called canvas.save() or canvas.saveLayer()."), new assertions.ErrorDescription.new("This leaves the canvas in an inconsistent state and will result in a broken display."), new assertions.ErrorHint.new("You should only call restore() if you first called save() or saveLayer().")])));
        }
        return debugNewCanvasSaveCount == debugPreviousCanvasSaveCount;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_paint.dart", 532, 12, "() {\r\n      // This isn't perfect. For example, we can't catch the case of\r\n      // someone first restoring, then setting a transform or whatnot,\r\n      // then saving.\r\n      // If this becomes a real problem, we could add logic to the\r\n      // Canvas class to lock the canvas at a particular save count\r\n      // such that restore() fails if it would take the lock count\r\n      // below that number.\r\n      final int debugNewCanvasSaveCount = canvas.getSaveCount();\r\n      if (debugNewCanvasSaveCount > debugPreviousCanvasSaveCount) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary(\r\n            'The $painter custom painter called canvas.save() or canvas.saveLayer() at least '\r\n            '${debugNewCanvasSaveCount - debugPreviousCanvasSaveCount} more '\r\n            'time${debugNewCanvasSaveCount - debugPreviousCanvasSaveCount == 1 ? '' : 's' } '\r\n            'than it called canvas.restore().'\r\n          ),\r\n          ErrorDescription('This leaves the canvas in an inconsistent state and will probably result in a broken display.'),\r\n          ErrorHint('You must pair each call to save()/saveLayer() with a later matching call to restore().')\r\n        ]);\r\n      }\r\n      if (debugNewCanvasSaveCount < debugPreviousCanvasSaveCount) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('The $painter custom painter called canvas.restore() '\r\n            '${debugPreviousCanvasSaveCount - debugNewCanvasSaveCount} more '\r\n            'time${debugPreviousCanvasSaveCount - debugNewCanvasSaveCount == 1 ? '' : 's' } '\r\n            'than it called canvas.save() or canvas.saveLayer().'\r\n          ),\r\n          ErrorDescription('This leaves the canvas in an inconsistent state and will result in a broken display.'),\r\n          ErrorHint('You should only call restore() if you first called save() or saveLayer().')\r\n        ]);\r\n      }\r\n      return debugNewCanvasSaveCount == debugPreviousCanvasSaveCount;\r\n    }()");
      canvas.restore();
    }
    paint(context, offset) {
      if (this[_painter$] != null) {
        this[_paintWithPainter](context.canvas, offset, this[_painter$]);
        this[_setRasterCacheHints](context);
      }
      super.paint(context, offset);
      if (this[_foregroundPainter] != null) {
        this[_paintWithPainter](context.canvas, offset, this[_foregroundPainter]);
        this[_setRasterCacheHints](context);
      }
    }
    [_setRasterCacheHints](context) {
      if (dart.test(this.isComplex)) context.setIsComplexHint();
      if (dart.test(this.willChange)) context.setWillChangeHint();
    }
    describeSemanticsConfiguration(config) {
      let t27, t27$;
      super.describeSemanticsConfiguration(config);
      this[_backgroundSemanticsBuilder] = (t27 = this.painter, t27 == null ? null : t27.semanticsBuilder);
      this[_foregroundSemanticsBuilder] = (t27$ = this.foregroundPainter, t27$ == null ? null : t27$.semanticsBuilder);
      config.isSemanticBoundary = this[_backgroundSemanticsBuilder] != null || this[_foregroundSemanticsBuilder] != null;
    }
    assembleSemanticsNode(node, config, children) {
      if (!dart.test(dart.fn(() => {
        if (this.child == null && dart.test(children[$isNotEmpty])) {
          dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new(dart.str(this[$runtimeType]) + " does not have a child widget but received a non-empty list of child SemanticsNode:\n" + dart.str(children[$join]("\n")))])));
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_paint.dart", 615, 12, "() {\r\n      if (child == null && children.isNotEmpty) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary(\r\n            '$runtimeType does not have a child widget but received a non-empty list of child SemanticsNode:\\n'\r\n            '${children.join('\\n')}'\r\n          )\r\n        ]);\r\n      }\r\n      return true;\r\n    }()");
      let backgroundSemantics = this[_backgroundSemanticsBuilder] != null ? this[_backgroundSemanticsBuilder](this.size) : C155 || CT.C155;
      this[_backgroundSemanticsNodes] = custom_paint.RenderCustomPaint._updateSemanticsChildren(this[_backgroundSemanticsNodes], backgroundSemantics);
      let foregroundSemantics = this[_foregroundSemanticsBuilder] != null ? this[_foregroundSemanticsBuilder](this.size) : C155 || CT.C155;
      this[_foregroundSemanticsNodes] = custom_paint.RenderCustomPaint._updateSemanticsChildren(this[_foregroundSemanticsNodes], foregroundSemantics);
      let hasBackgroundSemantics = this[_backgroundSemanticsNodes] != null && dart.test(this[_backgroundSemanticsNodes][$isNotEmpty]);
      let hasForegroundSemantics = this[_foregroundSemanticsNodes] != null && dart.test(this[_foregroundSemanticsNodes][$isNotEmpty]);
      let finalChildren = (() => {
        let t27 = JSArrayOfSemanticsNode().of([]);
        if (hasBackgroundSemantics) for (let t28 of this[_backgroundSemanticsNodes])
          t27[$add](t28);
        for (let t29 of children)
          t27[$add](t29);
        if (hasForegroundSemantics) for (let t30 of this[_foregroundSemanticsNodes])
          t27[$add](t30);
        return t27;
      })();
      super.assembleSemanticsNode(node, config, finalChildren);
    }
    clearSemantics() {
      super.clearSemantics();
      this[_backgroundSemanticsNodes] = null;
      this[_foregroundSemanticsNodes] = null;
    }
    static _updateSemanticsChildren(oldSemantics, newChildSemantics) {
      let t31, t31$;
      oldSemantics = (t31 = oldSemantics, t31 == null ? C156 || CT.C156 : t31);
      newChildSemantics = (t31$ = newChildSemantics, t31$ == null ? C155 || CT.C155 : t31$);
      if (!dart.test(dart.fn(() => {
        let keys = new (LinkedMapOfKey$int()).new();
        let information = JSArrayOfDiagnosticsNode().of([]);
        for (let i = 0; i < dart.notNull(newChildSemantics[$length]); i = i + 1) {
          let child = newChildSemantics[$_get](i);
          if (child.key != null) {
            if (dart.test(keys[$containsKey](child.key))) {
              information[$add](new assertions.ErrorDescription.new("- duplicate key " + dart.str(child.key) + " found at position " + dart.str(i)));
            }
            keys[$_set](child.key, i);
          }
        }
        if (dart.test(information[$isNotEmpty])) {
          information[$insert](0, new assertions.ErrorSummary.new("Failed to update the list of CustomPainterSemantics:"));
          dart.throw(new assertions.FlutterError.fromParts(information));
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_paint.dart", 683, 12, "() {\r\n      final Map<Key, int> keys = HashMap<Key, int>();\r\n      final List<DiagnosticsNode> information = <DiagnosticsNode>[];\r\n      for (int i = 0; i < newChildSemantics.length; i += 1) {\r\n        final CustomPainterSemantics child = newChildSemantics[i];\r\n        if (child.key != null) {\r\n          if (keys.containsKey(child.key)) {\r\n            information.add(ErrorDescription('- duplicate key ${child.key} found at position $i'));\r\n          }\r\n          keys[child.key] = i;\r\n        }\r\n      }\r\n\r\n      if (information.isNotEmpty) {\r\n        information.insert(0, ErrorSummary('Failed to update the list of CustomPainterSemantics:'));\r\n        throw FlutterError.fromParts(information);\r\n      }\r\n\r\n      return true;\r\n    }()");
      let newChildrenTop = 0;
      let oldChildrenTop = 0;
      let newChildrenBottom = dart.notNull(newChildSemantics[$length]) - 1;
      let oldChildrenBottom = dart.notNull(oldSemantics[$length]) - 1;
      let newChildren = ListOfSemanticsNode().new(newChildSemantics[$length]);
      while (oldChildrenTop <= oldChildrenBottom && newChildrenTop <= newChildrenBottom) {
        let oldChild = oldSemantics[$_get](oldChildrenTop);
        let newSemantics = newChildSemantics[$_get](newChildrenTop);
        if (!dart.test(custom_paint.RenderCustomPaint._canUpdateSemanticsChild(oldChild, newSemantics))) break;
        let newChild = custom_paint.RenderCustomPaint._updateSemanticsChild(oldChild, newSemantics);
        newChildren[$_set](newChildrenTop, newChild);
        newChildrenTop = newChildrenTop + 1;
        oldChildrenTop = oldChildrenTop + 1;
      }
      while (oldChildrenTop <= oldChildrenBottom && newChildrenTop <= newChildrenBottom) {
        let oldChild = oldSemantics[$_get](oldChildrenBottom);
        let newChild = newChildSemantics[$_get](newChildrenBottom);
        if (!dart.test(custom_paint.RenderCustomPaint._canUpdateSemanticsChild(oldChild, newChild))) break;
        oldChildrenBottom = oldChildrenBottom - 1;
        newChildrenBottom = newChildrenBottom - 1;
      }
      let haveOldChildren = oldChildrenTop <= oldChildrenBottom;
      let oldKeyedChildren = null;
      if (haveOldChildren) {
        oldKeyedChildren = new (LinkedMapOfKey$SemanticsNode()).new();
        while (oldChildrenTop <= oldChildrenBottom) {
          let oldChild = oldSemantics[$_get](oldChildrenTop);
          if (oldChild.key != null) oldKeyedChildren[$_set](oldChild.key, oldChild);
          oldChildrenTop = oldChildrenTop + 1;
        }
      }
      while (newChildrenTop <= newChildrenBottom) {
        let oldChild = null;
        let newSemantics = newChildSemantics[$_get](newChildrenTop);
        if (haveOldChildren) {
          let key = newSemantics.key;
          if (key != null) {
            oldChild = oldKeyedChildren[$_get](key);
            if (oldChild != null) {
              if (dart.test(custom_paint.RenderCustomPaint._canUpdateSemanticsChild(oldChild, newSemantics))) {
                oldKeyedChildren[$remove](key);
              } else {
                oldChild = null;
              }
            }
          }
        }
        if (!(oldChild == null || dart.test(custom_paint.RenderCustomPaint._canUpdateSemanticsChild(oldChild, newSemantics)))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_paint.dart", 766, 14, "oldChild == null || _canUpdateSemanticsChild(oldChild, newSemantics)");
        let newChild = custom_paint.RenderCustomPaint._updateSemanticsChild(oldChild, newSemantics);
        if (!(dart.equals(oldChild, newChild) || oldChild == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_paint.dart", 768, 14, "oldChild == newChild || oldChild == null");
        newChildren[$_set](newChildrenTop, newChild);
        newChildrenTop = newChildrenTop + 1;
      }
      if (!(oldChildrenTop === oldChildrenBottom + 1)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_paint.dart", 774, 12, "oldChildrenTop == oldChildrenBottom + 1");
      if (!(newChildrenTop === newChildrenBottom + 1)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_paint.dart", 775, 12, "newChildrenTop == newChildrenBottom + 1");
      if (!(dart.notNull(newChildSemantics[$length]) - newChildrenTop === dart.notNull(oldSemantics[$length]) - oldChildrenTop)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_paint.dart", 776, 12, "newChildSemantics.length - newChildrenTop == oldSemantics.length - oldChildrenTop");
      newChildrenBottom = dart.notNull(newChildSemantics[$length]) - 1;
      oldChildrenBottom = dart.notNull(oldSemantics[$length]) - 1;
      while (oldChildrenTop <= oldChildrenBottom && newChildrenTop <= newChildrenBottom) {
        let oldChild = oldSemantics[$_get](oldChildrenTop);
        let newSemantics = newChildSemantics[$_get](newChildrenTop);
        if (!dart.test(custom_paint.RenderCustomPaint._canUpdateSemanticsChild(oldChild, newSemantics))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_paint.dart", 784, 14, "_canUpdateSemanticsChild(oldChild, newSemantics)");
        let newChild = custom_paint.RenderCustomPaint._updateSemanticsChild(oldChild, newSemantics);
        if (!dart.equals(oldChild, newChild)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_paint.dart", 786, 14, "oldChild == newChild");
        newChildren[$_set](newChildrenTop, newChild);
        newChildrenTop = newChildrenTop + 1;
        oldChildrenTop = oldChildrenTop + 1;
      }
      if (!dart.test(dart.fn(() => {
        for (let node of newChildren) {
          if (!(node != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_paint.dart", 794, 16, "node != null");
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_paint.dart", 792, 12, "() {\r\n      for (final SemanticsNode node in newChildren) {\r\n        assert(node != null);\r\n      }\r\n      return true;\r\n    }()");
      return newChildren;
    }
    static _canUpdateSemanticsChild(oldChild, newSemantics) {
      return dart.equals(oldChild.key, newSemantics.key);
    }
    static _updateSemanticsChild(oldChild, newSemantics) {
      let t31, t31$;
      if (!(oldChild == null || dart.test(custom_paint.RenderCustomPaint._canUpdateSemanticsChild(oldChild, newSemantics)))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_paint.dart", 815, 12, "oldChild == null || _canUpdateSemanticsChild(oldChild, newSemantics)");
      let newChild = (t31 = oldChild, t31 == null ? new semantics.SemanticsNode.new({key: newSemantics.key}) : t31);
      let properties = newSemantics.properties;
      let config = new semantics.SemanticsConfiguration.new();
      if (properties.sortKey != null) {
        config.sortKey = properties.sortKey;
      }
      if (properties.checked != null) {
        config.isChecked = properties.checked;
      }
      if (properties.selected != null) {
        config.isSelected = properties.selected;
      }
      if (properties.button != null) {
        config.isButton = properties.button;
      }
      if (properties.link != null) {
        config.isLink = properties.link;
      }
      if (properties.textField != null) {
        config.isTextField = properties.textField;
      }
      if (properties.readOnly != null) {
        config.isReadOnly = properties.readOnly;
      }
      if (properties.focusable != null) {
        config.isFocusable = properties.focusable;
      }
      if (properties.focused != null) {
        config.isFocused = properties.focused;
      }
      if (properties.enabled != null) {
        config.isEnabled = properties.enabled;
      }
      if (properties.inMutuallyExclusiveGroup != null) {
        config.isInMutuallyExclusiveGroup = properties.inMutuallyExclusiveGroup;
      }
      if (properties.obscured != null) {
        config.isObscured = properties.obscured;
      }
      if (properties.multiline != null) {
        config.isMultiline = properties.multiline;
      }
      if (properties.hidden != null) {
        config.isHidden = properties.hidden;
      }
      if (properties.header != null) {
        config.isHeader = properties.header;
      }
      if (properties.scopesRoute != null) {
        config.scopesRoute = properties.scopesRoute;
      }
      if (properties.namesRoute != null) {
        config.namesRoute = properties.namesRoute;
      }
      if (properties.liveRegion != null) {
        config.liveRegion = properties.liveRegion;
      }
      if (properties.maxValueLength != null) {
        config.maxValueLength = properties.maxValueLength;
      }
      if (properties.currentValueLength != null) {
        config.currentValueLength = properties.currentValueLength;
      }
      if (properties.toggled != null) {
        config.isToggled = properties.toggled;
      }
      if (properties.image != null) {
        config.isImage = properties.image;
      }
      if (properties.label != null) {
        config.label = properties.label;
      }
      if (properties.value != null) {
        config.value = properties.value;
      }
      if (properties.increasedValue != null) {
        config.increasedValue = properties.increasedValue;
      }
      if (properties.decreasedValue != null) {
        config.decreasedValue = properties.decreasedValue;
      }
      if (properties.hint != null) {
        config.hint = properties.hint;
      }
      if (properties.textDirection != null) {
        config.textDirection = properties.textDirection;
      }
      if (properties.onTap != null) {
        config.onTap = properties.onTap;
      }
      if (properties.onLongPress != null) {
        config.onLongPress = properties.onLongPress;
      }
      if (properties.onScrollLeft != null) {
        config.onScrollLeft = properties.onScrollLeft;
      }
      if (properties.onScrollRight != null) {
        config.onScrollRight = properties.onScrollRight;
      }
      if (properties.onScrollUp != null) {
        config.onScrollUp = properties.onScrollUp;
      }
      if (properties.onScrollDown != null) {
        config.onScrollDown = properties.onScrollDown;
      }
      if (properties.onIncrease != null) {
        config.onIncrease = properties.onIncrease;
      }
      if (properties.onDecrease != null) {
        config.onDecrease = properties.onDecrease;
      }
      if (properties.onCopy != null) {
        config.onCopy = properties.onCopy;
      }
      if (properties.onCut != null) {
        config.onCut = properties.onCut;
      }
      if (properties.onPaste != null) {
        config.onPaste = properties.onPaste;
      }
      if (properties.onMoveCursorForwardByCharacter != null) {
        config.onMoveCursorForwardByCharacter = properties.onMoveCursorForwardByCharacter;
      }
      if (properties.onMoveCursorBackwardByCharacter != null) {
        config.onMoveCursorBackwardByCharacter = properties.onMoveCursorBackwardByCharacter;
      }
      if (properties.onMoveCursorForwardByWord != null) {
        config.onMoveCursorForwardByWord = properties.onMoveCursorForwardByWord;
      }
      if (properties.onMoveCursorBackwardByWord != null) {
        config.onMoveCursorBackwardByWord = properties.onMoveCursorBackwardByWord;
      }
      if (properties.onSetSelection != null) {
        config.onSetSelection = properties.onSetSelection;
      }
      if (properties.onDidGainAccessibilityFocus != null) {
        config.onDidGainAccessibilityFocus = properties.onDidGainAccessibilityFocus;
      }
      if (properties.onDidLoseAccessibilityFocus != null) {
        config.onDidLoseAccessibilityFocus = properties.onDidLoseAccessibilityFocus;
      }
      if (properties.onDismiss != null) {
        config.onDismiss = properties.onDismiss;
      }
      newChild.updateWith({config: config, childrenInInversePaintOrder: C156 || CT.C156});
      t31$ = newChild;
      t31$.rect = newSemantics.rect;
      t31$.transform = newSemantics.transform;
      t31$.tags = newSemantics.tags;
      t31$;
      return newChild;
    }
  };
  (custom_paint.RenderCustomPaint.new = function(opts) {
    let painter = opts && 'painter' in opts ? opts.painter : null;
    let foregroundPainter = opts && 'foregroundPainter' in opts ? opts.foregroundPainter : null;
    let preferredSize = opts && 'preferredSize' in opts ? opts.preferredSize : C15 || CT.C15;
    let isComplex = opts && 'isComplex' in opts ? opts.isComplex : false;
    let willChange = opts && 'willChange' in opts ? opts.willChange : false;
    let child = opts && 'child' in opts ? opts.child : null;
    this[_backgroundSemanticsBuilder] = null;
    this[_foregroundSemanticsBuilder] = null;
    this[_backgroundSemanticsNodes] = null;
    this[_foregroundSemanticsNodes] = null;
    this[isComplex$] = isComplex;
    this[willChange$] = willChange;
    if (!(preferredSize != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_paint.dart", 377, 15, "preferredSize != null");
    this[_painter$] = painter;
    this[_foregroundPainter] = foregroundPainter;
    this[_preferredSize] = preferredSize;
    custom_paint.RenderCustomPaint.__proto__.new.call(this, child);
    ;
  }).prototype = custom_paint.RenderCustomPaint.prototype;
  dart.addTypeTests(custom_paint.RenderCustomPaint);
  dart.setMethodSignature(custom_paint.RenderCustomPaint, () => ({
    __proto__: dart.getMethods(custom_paint.RenderCustomPaint.__proto__),
    [_didUpdatePainter]: dart.fnType(dart.void, [custom_paint.CustomPainter, custom_paint.CustomPainter]),
    [_paintWithPainter]: dart.fnType(dart.void, [ui.Canvas, ui.Offset, custom_paint.CustomPainter]),
    [_setRasterCacheHints]: dart.fnType(dart.void, [object$.PaintingContext])
  }));
  dart.setGetterSignature(custom_paint.RenderCustomPaint, () => ({
    __proto__: dart.getGetters(custom_paint.RenderCustomPaint.__proto__),
    painter: custom_paint.CustomPainter,
    foregroundPainter: custom_paint.CustomPainter,
    preferredSize: ui.Size
  }));
  dart.setSetterSignature(custom_paint.RenderCustomPaint, () => ({
    __proto__: dart.getSetters(custom_paint.RenderCustomPaint.__proto__),
    painter: custom_paint.CustomPainter,
    foregroundPainter: custom_paint.CustomPainter,
    preferredSize: ui.Size
  }));
  dart.setLibraryUri(custom_paint.RenderCustomPaint, "package:flutter/src/rendering/custom_paint.dart");
  dart.setFieldSignature(custom_paint.RenderCustomPaint, () => ({
    __proto__: dart.getFields(custom_paint.RenderCustomPaint.__proto__),
    [_painter$]: dart.fieldType(custom_paint.CustomPainter),
    [_foregroundPainter]: dart.fieldType(custom_paint.CustomPainter),
    [_preferredSize]: dart.fieldType(ui.Size),
    isComplex: dart.fieldType(core.bool),
    willChange: dart.fieldType(core.bool),
    [_backgroundSemanticsBuilder]: dart.fieldType(dart.fnType(core.List$(custom_paint.CustomPainterSemantics), [ui.Size])),
    [_foregroundSemanticsBuilder]: dart.fieldType(dart.fnType(core.List$(custom_paint.CustomPainterSemantics), [ui.Size])),
    [_backgroundSemanticsNodes]: dart.fieldType(core.List$(semantics.SemanticsNode)),
    [_foregroundSemanticsNodes]: dart.fieldType(core.List$(semantics.SemanticsNode))
  }));
  const _calculateLeadingGarbage = dart.privateName(sliver_fixed_extent_list, "_calculateLeadingGarbage");
  const _calculateTrailingGarbage = dart.privateName(sliver_fixed_extent_list, "_calculateTrailingGarbage");
  sliver_fixed_extent_list.RenderSliverFixedExtentBoxAdaptor = class RenderSliverFixedExtentBoxAdaptor extends sliver_multi_box_adaptor.RenderSliverMultiBoxAdaptor {
    indexToLayoutOffset(itemExtent, index) {
      return dart.notNull(itemExtent) * dart.notNull(index);
    }
    getMinChildIndexForScrollOffset(scrollOffset, itemExtent) {
      if (dart.notNull(itemExtent) > 0.0) {
        let actual = dart.notNull(scrollOffset) / dart.notNull(itemExtent);
        let round = actual[$round]();
        if ((actual - round)[$abs]() < 1e-10) {
          return round;
        }
        return actual[$floor]();
      }
      return 0;
    }
    getMaxChildIndexForScrollOffset(scrollOffset, itemExtent) {
      return dart.notNull(itemExtent) > 0.0 ? math.max(core.int, 0, (dart.notNull(scrollOffset) / dart.notNull(itemExtent))[$ceil]() - 1) : 0;
    }
    estimateMaxScrollOffset(constraints, opts) {
      let firstIndex = opts && 'firstIndex' in opts ? opts.firstIndex : null;
      let lastIndex = opts && 'lastIndex' in opts ? opts.lastIndex : null;
      let leadingScrollOffset = opts && 'leadingScrollOffset' in opts ? opts.leadingScrollOffset : null;
      let trailingScrollOffset = opts && 'trailingScrollOffset' in opts ? opts.trailingScrollOffset : null;
      return this.childManager.estimateMaxScrollOffset(constraints, {firstIndex: firstIndex, lastIndex: lastIndex, leadingScrollOffset: leadingScrollOffset, trailingScrollOffset: trailingScrollOffset});
    }
    computeMaxScrollOffset(constraints, itemExtent) {
      return dart.notNull(this.childManager.childCount) * dart.notNull(itemExtent);
    }
    [_calculateLeadingGarbage](firstIndex) {
      let walker = this.firstChild;
      let leadingGarbage = 0;
      while (walker != null && dart.notNull(this.indexOf(walker)) < dart.notNull(firstIndex)) {
        leadingGarbage = leadingGarbage + 1;
        walker = this.childAfter(walker);
      }
      return leadingGarbage;
    }
    [_calculateTrailingGarbage](targetLastIndex) {
      let walker = this.lastChild;
      let trailingGarbage = 0;
      while (walker != null && dart.notNull(this.indexOf(walker)) > dart.notNull(targetLastIndex)) {
        trailingGarbage = trailingGarbage + 1;
        walker = this.childBefore(walker);
      }
      return trailingGarbage;
    }
    performLayout() {
      this.childManager.didStartLayout();
      this.childManager.setDidUnderflow(false);
      let itemExtent = this.itemExtent;
      let scrollOffset = dart.notNull(this.constraints.scrollOffset) + dart.notNull(this.constraints.cacheOrigin);
      if (!(scrollOffset >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_fixed_extent_list.dart", 173, 12, "scrollOffset >= 0.0");
      let remainingExtent = this.constraints.remainingCacheExtent;
      if (!(dart.notNull(remainingExtent) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_fixed_extent_list.dart", 175, 12, "remainingExtent >= 0.0");
      let targetEndScrollOffset = scrollOffset + dart.notNull(remainingExtent);
      let childConstraints = this.constraints.asBoxConstraints({minExtent: itemExtent, maxExtent: itemExtent});
      let firstIndex = this.getMinChildIndexForScrollOffset(scrollOffset, itemExtent);
      let targetLastIndex = targetEndScrollOffset[$isFinite] ? this.getMaxChildIndexForScrollOffset(targetEndScrollOffset, itemExtent) : null;
      if (this.firstChild != null) {
        let leadingGarbage = this[_calculateLeadingGarbage](firstIndex);
        let trailingGarbage = this[_calculateTrailingGarbage](targetLastIndex);
        this.collectGarbage(leadingGarbage, trailingGarbage);
      } else {
        this.collectGarbage(0, 0);
      }
      if (this.firstChild == null) {
        if (!dart.test(this.addInitialChild({index: firstIndex, layoutOffset: this.indexToLayoutOffset(itemExtent, firstIndex)}))) {
          let max = null;
          if (this.childManager.childCount != null) {
            max = this.computeMaxScrollOffset(this.constraints, itemExtent);
          } else if (dart.notNull(firstIndex) <= 0) {
            max = 0.0;
          } else {
            let possibleFirstIndex = dart.notNull(firstIndex) - 1;
            while (possibleFirstIndex > 0 && !dart.test(this.addInitialChild({index: possibleFirstIndex, layoutOffset: this.indexToLayoutOffset(itemExtent, possibleFirstIndex)}))) {
              possibleFirstIndex = possibleFirstIndex - 1;
            }
            max = possibleFirstIndex * dart.notNull(itemExtent);
          }
          this.geometry = new sliver$.SliverGeometry.new({scrollExtent: max, maxPaintExtent: max});
          this.childManager.didFinishLayout();
          return;
        }
      }
      let trailingChildWithLayout = null;
      for (let index = dart.notNull(this.indexOf(this.firstChild)) - 1; index >= dart.notNull(firstIndex); index = index - 1) {
        let child = this.insertAndLayoutLeadingChild(childConstraints);
        if (child == null) {
          this.geometry = new sliver$.SliverGeometry.new({scrollOffsetCorrection: index * dart.notNull(itemExtent)});
          return;
        }
        let childParentData = sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData.as(child.parentData);
        childParentData.layoutOffset = this.indexToLayoutOffset(itemExtent, index);
        if (!(childParentData.index === index)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_fixed_extent_list.dart", 240, 14, "childParentData.index == index");
        trailingChildWithLayout == null ? trailingChildWithLayout = child : null;
      }
      if (trailingChildWithLayout == null) {
        this.firstChild.layout(childConstraints);
        let childParentData = sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData.as(this.firstChild.parentData);
        childParentData.layoutOffset = this.indexToLayoutOffset(itemExtent, firstIndex);
        trailingChildWithLayout = this.firstChild;
      }
      let estimatedMaxScrollOffset = 1 / 0;
      for (let index = dart.notNull(this.indexOf(trailingChildWithLayout)) + 1; targetLastIndex == null || index <= dart.notNull(targetLastIndex); index = index + 1) {
        let child = this.childAfter(trailingChildWithLayout);
        if (child == null || this.indexOf(child) !== index) {
          child = this.insertAndLayoutChild(childConstraints, {after: trailingChildWithLayout});
          if (child == null) {
            estimatedMaxScrollOffset = index * dart.notNull(itemExtent);
            break;
          }
        } else {
          child.layout(childConstraints);
        }
        trailingChildWithLayout = child;
        if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_fixed_extent_list.dart", 265, 14, "child != null");
        let childParentData = sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData.as(child.parentData);
        if (!(childParentData.index === index)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_fixed_extent_list.dart", 267, 14, "childParentData.index == index");
        childParentData.layoutOffset = this.indexToLayoutOffset(itemExtent, childParentData.index);
      }
      let lastIndex = this.indexOf(this.lastChild);
      let leadingScrollOffset = this.indexToLayoutOffset(itemExtent, firstIndex);
      let trailingScrollOffset = this.indexToLayoutOffset(itemExtent, dart.notNull(lastIndex) + 1);
      if (!(firstIndex === 0 || dart.notNull(this.childScrollOffset(this.firstChild)) - scrollOffset <= 1e-10)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_fixed_extent_list.dart", 275, 12, "firstIndex == 0 || childScrollOffset(firstChild) - scrollOffset <= precisionErrorTolerance");
      if (!dart.test(this.debugAssertChildListIsNonEmptyAndContiguous())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_fixed_extent_list.dart", 276, 12, "debugAssertChildListIsNonEmptyAndContiguous()");
      if (!(this.indexOf(this.firstChild) == firstIndex)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_fixed_extent_list.dart", 277, 12, "indexOf(firstChild) == firstIndex");
      if (!(targetLastIndex == null || dart.notNull(lastIndex) <= dart.notNull(targetLastIndex))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_fixed_extent_list.dart", 278, 12, "targetLastIndex == null || lastIndex <= targetLastIndex");
      estimatedMaxScrollOffset = math.min(core.double, estimatedMaxScrollOffset, this.estimateMaxScrollOffset(this.constraints, {firstIndex: firstIndex, lastIndex: lastIndex, leadingScrollOffset: leadingScrollOffset, trailingScrollOffset: trailingScrollOffset}));
      let paintExtent = this.calculatePaintOffset(this.constraints, {from: leadingScrollOffset, to: trailingScrollOffset});
      let cacheExtent = this.calculateCacheOffset(this.constraints, {from: leadingScrollOffset, to: trailingScrollOffset});
      let targetEndScrollOffsetForPaint = dart.notNull(this.constraints.scrollOffset) + dart.notNull(this.constraints.remainingPaintExtent);
      let targetLastIndexForPaint = targetEndScrollOffsetForPaint[$isFinite] ? this.getMaxChildIndexForScrollOffset(targetEndScrollOffsetForPaint, itemExtent) : null;
      this.geometry = new sliver$.SliverGeometry.new({scrollExtent: estimatedMaxScrollOffset, paintExtent: paintExtent, cacheExtent: cacheExtent, maxPaintExtent: estimatedMaxScrollOffset, hasVisualOverflow: targetLastIndexForPaint != null && dart.notNull(lastIndex) >= dart.notNull(targetLastIndexForPaint) || dart.notNull(this.constraints.scrollOffset) > 0.0});
      if (estimatedMaxScrollOffset === trailingScrollOffset) this.childManager.setDidUnderflow(true);
      this.childManager.didFinishLayout();
    }
  };
  (sliver_fixed_extent_list.RenderSliverFixedExtentBoxAdaptor.new = function(opts) {
    let childManager = opts && 'childManager' in opts ? opts.childManager : null;
    sliver_fixed_extent_list.RenderSliverFixedExtentBoxAdaptor.__proto__.new.call(this, {childManager: childManager});
    ;
  }).prototype = sliver_fixed_extent_list.RenderSliverFixedExtentBoxAdaptor.prototype;
  dart.addTypeTests(sliver_fixed_extent_list.RenderSliverFixedExtentBoxAdaptor);
  dart.setMethodSignature(sliver_fixed_extent_list.RenderSliverFixedExtentBoxAdaptor, () => ({
    __proto__: dart.getMethods(sliver_fixed_extent_list.RenderSliverFixedExtentBoxAdaptor.__proto__),
    indexToLayoutOffset: dart.fnType(core.double, [core.double, core.int]),
    getMinChildIndexForScrollOffset: dart.fnType(core.int, [core.double, core.double]),
    getMaxChildIndexForScrollOffset: dart.fnType(core.int, [core.double, core.double]),
    estimateMaxScrollOffset: dart.fnType(core.double, [sliver$.SliverConstraints], {firstIndex: core.int, lastIndex: core.int, leadingScrollOffset: core.double, trailingScrollOffset: core.double}, {}),
    computeMaxScrollOffset: dart.fnType(core.double, [sliver$.SliverConstraints, core.double]),
    [_calculateLeadingGarbage]: dart.fnType(core.int, [core.int]),
    [_calculateTrailingGarbage]: dart.fnType(core.int, [core.int]),
    performLayout: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(sliver_fixed_extent_list.RenderSliverFixedExtentBoxAdaptor, "package:flutter/src/rendering/sliver_fixed_extent_list.dart");
  const _itemExtent = dart.privateName(sliver_fixed_extent_list, "_itemExtent");
  sliver_fixed_extent_list.RenderSliverFixedExtentList = class RenderSliverFixedExtentList extends sliver_fixed_extent_list.RenderSliverFixedExtentBoxAdaptor {
    get itemExtent() {
      return this[_itemExtent];
    }
    set itemExtent(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_fixed_extent_list.dart", 359, 12, "value != null");
      if (this[_itemExtent] == value) return;
      this[_itemExtent] = value;
      this.markNeedsLayout();
    }
  };
  (sliver_fixed_extent_list.RenderSliverFixedExtentList.new = function(opts) {
    let childManager = opts && 'childManager' in opts ? opts.childManager : null;
    let itemExtent = opts && 'itemExtent' in opts ? opts.itemExtent : null;
    this[_itemExtent] = itemExtent;
    sliver_fixed_extent_list.RenderSliverFixedExtentList.__proto__.new.call(this, {childManager: childManager});
    ;
  }).prototype = sliver_fixed_extent_list.RenderSliverFixedExtentList.prototype;
  dart.addTypeTests(sliver_fixed_extent_list.RenderSliverFixedExtentList);
  dart.setGetterSignature(sliver_fixed_extent_list.RenderSliverFixedExtentList, () => ({
    __proto__: dart.getGetters(sliver_fixed_extent_list.RenderSliverFixedExtentList.__proto__),
    itemExtent: core.double
  }));
  dart.setSetterSignature(sliver_fixed_extent_list.RenderSliverFixedExtentList, () => ({
    __proto__: dart.getSetters(sliver_fixed_extent_list.RenderSliverFixedExtentList.__proto__),
    itemExtent: core.double
  }));
  dart.setLibraryUri(sliver_fixed_extent_list.RenderSliverFixedExtentList, "package:flutter/src/rendering/sliver_fixed_extent_list.dart");
  dart.setFieldSignature(sliver_fixed_extent_list.RenderSliverFixedExtentList, () => ({
    __proto__: dart.getFields(sliver_fixed_extent_list.RenderSliverFixedExtentList.__proto__),
    [_itemExtent]: dart.fieldType(core.double)
  }));
  const _name$17 = dart.privateName(decoration_image, "_name");
  let C157;
  let C158;
  const _resolvedAlignment$1 = dart.privateName(image$, "_resolvedAlignment");
  const _flipHorizontally = dart.privateName(image$, "_flipHorizontally");
  const _colorFilter$ = dart.privateName(image$, "_colorFilter");
  const _image$ = dart.privateName(image$, "_image");
  const _width = dart.privateName(image$, "_width");
  const _height = dart.privateName(image$, "_height");
  const _scale = dart.privateName(image$, "_scale");
  const _color$0 = dart.privateName(image$, "_color");
  const _colorBlendMode = dart.privateName(image$, "_colorBlendMode");
  const _fit$0 = dart.privateName(image$, "_fit");
  const _alignment$1 = dart.privateName(image$, "_alignment");
  const _repeat = dart.privateName(image$, "_repeat");
  const _centerSlice = dart.privateName(image$, "_centerSlice");
  const _matchTextDirection = dart.privateName(image$, "_matchTextDirection");
  const _invertColors = dart.privateName(image$, "_invertColors");
  const _textDirection$2 = dart.privateName(image$, "_textDirection");
  const _filterQuality = dart.privateName(image$, "_filterQuality");
  const _updateColorFilter = dart.privateName(image$, "_updateColorFilter");
  const _resolve$1 = dart.privateName(image$, "_resolve");
  const _markNeedResolution$1 = dart.privateName(image$, "_markNeedResolution");
  const _sizeForConstraints = dart.privateName(image$, "_sizeForConstraints");
  image$.RenderImage = class RenderImage extends box.RenderBox {
    [_resolve$1]() {
      if (this[_resolvedAlignment$1] != null) return;
      this[_resolvedAlignment$1] = this.alignment.resolve(this.textDirection);
      this[_flipHorizontally] = dart.test(this.matchTextDirection) && dart.equals(this.textDirection, ui.TextDirection.rtl);
    }
    [_markNeedResolution$1]() {
      this[_resolvedAlignment$1] = null;
      this[_flipHorizontally] = null;
      this.markNeedsPaint();
    }
    get image() {
      return this[_image$];
    }
    set image(value) {
      if (dart.equals(value, this[_image$])) return;
      this[_image$] = value;
      this.markNeedsPaint();
      if (this[_width] == null || this[_height] == null) this.markNeedsLayout();
    }
    get width() {
      return this[_width];
    }
    set width(value) {
      if (value == this[_width]) return;
      this[_width] = value;
      this.markNeedsLayout();
    }
    get height() {
      return this[_height];
    }
    set height(value) {
      if (value == this[_height]) return;
      this[_height] = value;
      this.markNeedsLayout();
    }
    get scale() {
      return this[_scale];
    }
    set scale(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/image.dart", 124, 12, "value != null");
      if (value == this[_scale]) return;
      this[_scale] = value;
      this.markNeedsLayout();
    }
    [_updateColorFilter]() {
      let t31;
      if (this[_color$0] == null)
        this[_colorFilter$] = null;
      else
        this[_colorFilter$] = new _engine.EngineColorFilter.mode(this[_color$0], (t31 = this[_colorBlendMode], t31 == null ? ui.BlendMode.srcIn : t31));
    }
    get color() {
      return this[_color$0];
    }
    set color(value) {
      if (dart.equals(value, this[_color$0])) return;
      this[_color$0] = value;
      this[_updateColorFilter]();
      this.markNeedsPaint();
    }
    get filterQuality() {
      return this[_filterQuality];
    }
    set filterQuality(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/image.dart", 158, 12, "value != null");
      if (dart.equals(value, this[_filterQuality])) return;
      this[_filterQuality] = value;
      this.markNeedsPaint();
    }
    get colorBlendMode() {
      return this[_colorBlendMode];
    }
    set colorBlendMode(value) {
      if (dart.equals(value, this[_colorBlendMode])) return;
      this[_colorBlendMode] = value;
      this[_updateColorFilter]();
      this.markNeedsPaint();
    }
    get fit() {
      return this[_fit$0];
    }
    set fit(value) {
      if (dart.equals(value, this[_fit$0])) return;
      this[_fit$0] = value;
      this.markNeedsPaint();
    }
    get alignment() {
      return this[_alignment$1];
    }
    set alignment(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/image.dart", 204, 12, "value != null");
      if (dart.equals(value, this[_alignment$1])) return;
      this[_alignment$1] = value;
      this[_markNeedResolution$1]();
    }
    get repeat() {
      return this[_repeat];
    }
    set repeat(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/image.dart", 215, 12, "value != null");
      if (dart.equals(value, this[_repeat])) return;
      this[_repeat] = value;
      this.markNeedsPaint();
    }
    get centerSlice() {
      return this[_centerSlice];
    }
    set centerSlice(value) {
      if (dart.equals(value, this[_centerSlice])) return;
      this[_centerSlice] = value;
      this.markNeedsPaint();
    }
    get invertColors() {
      return this[_invertColors];
    }
    set invertColors(value) {
      if (dart.equals(value, this[_invertColors])) return;
      this[_invertColors] = value;
      this.markNeedsPaint();
    }
    get matchTextDirection() {
      return this[_matchTextDirection];
    }
    set matchTextDirection(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/image.dart", 269, 12, "value != null");
      if (dart.equals(value, this[_matchTextDirection])) return;
      this[_matchTextDirection] = value;
      this[_markNeedResolution$1]();
    }
    get textDirection() {
      return this[_textDirection$2];
    }
    set textDirection(value) {
      if (dart.equals(this[_textDirection$2], value)) return;
      this[_textDirection$2] = value;
      this[_markNeedResolution$1]();
    }
    [_sizeForConstraints](constraints) {
      constraints = new box.BoxConstraints.tightFor({width: this[_width], height: this[_height]}).enforce(constraints);
      if (this[_image$] == null) return constraints.smallest;
      return constraints.constrainSizeAndAttemptToPreserveAspectRatio(new ui.Size.new(this[_image$].width[$toDouble]() / dart.notNull(this[_scale]), this[_image$].height[$toDouble]() / dart.notNull(this[_scale])));
    }
    computeMinIntrinsicWidth(height) {
      if (!(dart.notNull(height) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/image.dart", 316, 12, "height >= 0.0");
      if (this[_width] == null && this[_height] == null) return 0.0;
      return this[_sizeForConstraints](new box.BoxConstraints.tightForFinite({height: height})).width;
    }
    computeMaxIntrinsicWidth(height) {
      if (!(dart.notNull(height) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/image.dart", 324, 12, "height >= 0.0");
      return this[_sizeForConstraints](new box.BoxConstraints.tightForFinite({height: height})).width;
    }
    computeMinIntrinsicHeight(width) {
      if (!(dart.notNull(width) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/image.dart", 330, 12, "width >= 0.0");
      if (this[_width] == null && this[_height] == null) return 0.0;
      return this[_sizeForConstraints](new box.BoxConstraints.tightForFinite({width: width})).height;
    }
    computeMaxIntrinsicHeight(width) {
      if (!(dart.notNull(width) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/image.dart", 338, 12, "width >= 0.0");
      return this[_sizeForConstraints](new box.BoxConstraints.tightForFinite({width: width})).height;
    }
    hitTestSelf(position) {
      return true;
    }
    performLayout() {
      this.size = this[_sizeForConstraints](this.constraints);
    }
    paint(context, offset) {
      if (this[_image$] == null) return;
      this[_resolve$1]();
      if (!(this[_resolvedAlignment$1] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/image.dart", 355, 12, "_resolvedAlignment != null");
      if (!(this[_flipHorizontally] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/image.dart", 356, 12, "_flipHorizontally != null");
      decoration_image.paintImage({canvas: context.canvas, rect: offset['&'](this.size), image: this[_image$], scale: this[_scale], colorFilter: this[_colorFilter$], fit: this[_fit$0], alignment: this[_resolvedAlignment$1], centerSlice: this[_centerSlice], repeat: this[_repeat], flipHorizontally: this[_flipHorizontally], invertColors: this.invertColors, filterQuality: this[_filterQuality]});
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfImage()).new("image", this.image));
      properties.add(new diagnostics.DoubleProperty.new("width", this.width, {defaultValue: null}));
      properties.add(new diagnostics.DoubleProperty.new("height", this.height, {defaultValue: null}));
      properties.add(new diagnostics.DoubleProperty.new("scale", this.scale, {defaultValue: 1.0}));
      properties.add(new colors.ColorProperty.new("color", this.color, {defaultValue: null}));
      properties.add(new (EnumPropertyOfBlendMode()).new("colorBlendMode", this.colorBlendMode, {defaultValue: null}));
      properties.add(new (EnumPropertyOfBoxFit()).new("fit", this.fit, {defaultValue: null}));
      properties.add(new (DiagnosticsPropertyOfAlignmentGeometry()).new("alignment", this.alignment, {defaultValue: null}));
      properties.add(new (EnumPropertyOfImageRepeat()).new("repeat", this.repeat, {defaultValue: decoration_image.ImageRepeat.noRepeat}));
      properties.add(new (DiagnosticsPropertyOfRect()).new("centerSlice", this.centerSlice, {defaultValue: null}));
      properties.add(new diagnostics.FlagProperty.new("matchTextDirection", {value: this.matchTextDirection, ifTrue: "match text direction"}));
      properties.add(new (EnumPropertyOfTextDirection()).new("textDirection", this.textDirection, {defaultValue: null}));
      properties.add(new (DiagnosticsPropertyOfbool()).new("invertColors", this.invertColors));
      properties.add(new (EnumPropertyOfFilterQuality()).new("filterQuality", this.filterQuality));
    }
  };
  (image$.RenderImage.new = function(opts) {
    let image = opts && 'image' in opts ? opts.image : null;
    let width = opts && 'width' in opts ? opts.width : null;
    let height = opts && 'height' in opts ? opts.height : null;
    let scale = opts && 'scale' in opts ? opts.scale : 1;
    let color = opts && 'color' in opts ? opts.color : null;
    let colorBlendMode = opts && 'colorBlendMode' in opts ? opts.colorBlendMode : null;
    let fit = opts && 'fit' in opts ? opts.fit : null;
    let alignment = opts && 'alignment' in opts ? opts.alignment : C28 || CT.C28;
    let repeat = opts && 'repeat' in opts ? opts.repeat : C157 || CT.C157;
    let centerSlice = opts && 'centerSlice' in opts ? opts.centerSlice : null;
    let matchTextDirection = opts && 'matchTextDirection' in opts ? opts.matchTextDirection : false;
    let textDirection = opts && 'textDirection' in opts ? opts.textDirection : null;
    let invertColors = opts && 'invertColors' in opts ? opts.invertColors : false;
    let filterQuality = opts && 'filterQuality' in opts ? opts.filterQuality : C158 || CT.C158;
    this[_resolvedAlignment$1] = null;
    this[_flipHorizontally] = null;
    this[_colorFilter$] = null;
    if (!(scale != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/image.dart", 42, 15, "scale != null");
    if (!(repeat != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/image.dart", 43, 15, "repeat != null");
    if (!(alignment != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/image.dart", 44, 15, "alignment != null");
    if (!(filterQuality != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/image.dart", 45, 15, "filterQuality != null");
    if (!(matchTextDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/image.dart", 46, 15, "matchTextDirection != null");
    this[_image$] = image;
    this[_width] = width;
    this[_height] = height;
    this[_scale] = scale;
    this[_color$0] = color;
    this[_colorBlendMode] = colorBlendMode;
    this[_fit$0] = fit;
    this[_alignment$1] = alignment;
    this[_repeat] = repeat;
    this[_centerSlice] = centerSlice;
    this[_matchTextDirection] = matchTextDirection;
    this[_invertColors] = invertColors;
    this[_textDirection$2] = textDirection;
    this[_filterQuality] = filterQuality;
    image$.RenderImage.__proto__.new.call(this);
    this[_updateColorFilter]();
  }).prototype = image$.RenderImage.prototype;
  dart.addTypeTests(image$.RenderImage);
  dart.setMethodSignature(image$.RenderImage, () => ({
    __proto__: dart.getMethods(image$.RenderImage.__proto__),
    [_resolve$1]: dart.fnType(dart.void, []),
    [_markNeedResolution$1]: dart.fnType(dart.void, []),
    [_updateColorFilter]: dart.fnType(dart.void, []),
    [_sizeForConstraints]: dart.fnType(ui.Size, [box.BoxConstraints])
  }));
  dart.setGetterSignature(image$.RenderImage, () => ({
    __proto__: dart.getGetters(image$.RenderImage.__proto__),
    image: ui.Image,
    width: core.double,
    height: core.double,
    scale: core.double,
    color: ui.Color,
    filterQuality: ui.FilterQuality,
    colorBlendMode: ui.BlendMode,
    fit: box_fit.BoxFit,
    alignment: alignment.AlignmentGeometry,
    repeat: decoration_image.ImageRepeat,
    centerSlice: ui.Rect,
    invertColors: core.bool,
    matchTextDirection: core.bool,
    textDirection: ui.TextDirection
  }));
  dart.setSetterSignature(image$.RenderImage, () => ({
    __proto__: dart.getSetters(image$.RenderImage.__proto__),
    image: ui.Image,
    width: core.double,
    height: core.double,
    scale: core.double,
    color: ui.Color,
    filterQuality: ui.FilterQuality,
    colorBlendMode: ui.BlendMode,
    fit: box_fit.BoxFit,
    alignment: alignment.AlignmentGeometry,
    repeat: decoration_image.ImageRepeat,
    centerSlice: ui.Rect,
    invertColors: core.bool,
    matchTextDirection: core.bool,
    textDirection: ui.TextDirection
  }));
  dart.setLibraryUri(image$.RenderImage, "package:flutter/src/rendering/image.dart");
  dart.setFieldSignature(image$.RenderImage, () => ({
    __proto__: dart.getFields(image$.RenderImage.__proto__),
    [_resolvedAlignment$1]: dart.fieldType(alignment.Alignment),
    [_flipHorizontally]: dart.fieldType(core.bool),
    [_image$]: dart.fieldType(ui.Image),
    [_width]: dart.fieldType(core.double),
    [_height]: dart.fieldType(core.double),
    [_scale]: dart.fieldType(core.double),
    [_colorFilter$]: dart.fieldType(ui.ColorFilter),
    [_color$0]: dart.fieldType(ui.Color),
    [_filterQuality]: dart.fieldType(ui.FilterQuality),
    [_colorBlendMode]: dart.fieldType(ui.BlendMode),
    [_fit$0]: dart.fieldType(box_fit.BoxFit),
    [_alignment$1]: dart.fieldType(alignment.AlignmentGeometry),
    [_repeat]: dart.fieldType(decoration_image.ImageRepeat),
    [_centerSlice]: dart.fieldType(ui.Rect),
    [_invertColors]: dart.fieldType(core.bool),
    [_matchTextDirection]: dart.fieldType(core.bool),
    [_textDirection$2]: dart.fieldType(ui.TextDirection)
  }));
  const _name$18 = dart.privateName(wrap, "_name");
  let C159;
  let C160;
  let C161;
  let C162;
  let C163;
  let C164;
  let C165;
  wrap.WrapAlignment = class WrapAlignment extends core.Object {
    toString() {
      return this[_name$18];
    }
  };
  (wrap.WrapAlignment.new = function(index, _name) {
    this.index = index;
    this[_name$18] = _name;
    ;
  }).prototype = wrap.WrapAlignment.prototype;
  dart.addTypeTests(wrap.WrapAlignment);
  dart.setLibraryUri(wrap.WrapAlignment, "package:flutter/src/rendering/wrap.dart");
  dart.setFieldSignature(wrap.WrapAlignment, () => ({
    __proto__: dart.getFields(wrap.WrapAlignment.__proto__),
    index: dart.finalFieldType(core.int),
    [_name$18]: dart.finalFieldType(core.String)
  }));
  dart.defineExtensionMethods(wrap.WrapAlignment, ['toString']);
  wrap.WrapAlignment.start = C159 || CT.C159;
  wrap.WrapAlignment.end = C160 || CT.C160;
  wrap.WrapAlignment.center = C161 || CT.C161;
  wrap.WrapAlignment.spaceBetween = C162 || CT.C162;
  wrap.WrapAlignment.spaceAround = C163 || CT.C163;
  wrap.WrapAlignment.spaceEvenly = C164 || CT.C164;
  wrap.WrapAlignment.values = C165 || CT.C165;
  let C166;
  let C167;
  let C168;
  let C169;
  wrap.WrapCrossAlignment = class WrapCrossAlignment extends core.Object {
    toString() {
      return this[_name$18];
    }
  };
  (wrap.WrapCrossAlignment.new = function(index, _name) {
    this.index = index;
    this[_name$18] = _name;
    ;
  }).prototype = wrap.WrapCrossAlignment.prototype;
  dart.addTypeTests(wrap.WrapCrossAlignment);
  dart.setLibraryUri(wrap.WrapCrossAlignment, "package:flutter/src/rendering/wrap.dart");
  dart.setFieldSignature(wrap.WrapCrossAlignment, () => ({
    __proto__: dart.getFields(wrap.WrapCrossAlignment.__proto__),
    index: dart.finalFieldType(core.int),
    [_name$18]: dart.finalFieldType(core.String)
  }));
  dart.defineExtensionMethods(wrap.WrapCrossAlignment, ['toString']);
  wrap.WrapCrossAlignment.start = C166 || CT.C166;
  wrap.WrapCrossAlignment.end = C167 || CT.C167;
  wrap.WrapCrossAlignment.center = C168 || CT.C168;
  wrap.WrapCrossAlignment.values = C169 || CT.C169;
  wrap._RunMetrics = class _RunMetrics extends core.Object {};
  (wrap._RunMetrics.new = function(mainAxisExtent, crossAxisExtent, childCount) {
    this.mainAxisExtent = mainAxisExtent;
    this.crossAxisExtent = crossAxisExtent;
    this.childCount = childCount;
    ;
  }).prototype = wrap._RunMetrics.prototype;
  dart.addTypeTests(wrap._RunMetrics);
  dart.setLibraryUri(wrap._RunMetrics, "package:flutter/src/rendering/wrap.dart");
  dart.setFieldSignature(wrap._RunMetrics, () => ({
    __proto__: dart.getFields(wrap._RunMetrics.__proto__),
    mainAxisExtent: dart.finalFieldType(core.double),
    crossAxisExtent: dart.finalFieldType(core.double),
    childCount: dart.finalFieldType(core.int)
  }));
  const _runIndex = dart.privateName(wrap, "_runIndex");
  wrap.WrapParentData = class WrapParentData extends box.ContainerBoxParentData$(box.RenderBox) {};
  (wrap.WrapParentData.new = function() {
    this[_runIndex] = 0;
    wrap.WrapParentData.__proto__.new.call(this);
    ;
  }).prototype = wrap.WrapParentData.prototype;
  dart.addTypeTests(wrap.WrapParentData);
  dart.setLibraryUri(wrap.WrapParentData, "package:flutter/src/rendering/wrap.dart");
  dart.setFieldSignature(wrap.WrapParentData, () => ({
    __proto__: dart.getFields(wrap.WrapParentData.__proto__),
    [_runIndex]: dart.fieldType(core.int)
  }));
  let C170;
  const _hasVisualOverflow$2 = dart.privateName(wrap, "_hasVisualOverflow");
  const _direction = dart.privateName(wrap, "_direction");
  const _alignment$2 = dart.privateName(wrap, "_alignment");
  const _spacing = dart.privateName(wrap, "_spacing");
  const _runAlignment = dart.privateName(wrap, "_runAlignment");
  const _runSpacing = dart.privateName(wrap, "_runSpacing");
  const _crossAxisAlignment = dart.privateName(wrap, "_crossAxisAlignment");
  const _textDirection$3 = dart.privateName(wrap, "_textDirection");
  const _verticalDirection = dart.privateName(wrap, "_verticalDirection");
  const _debugHasNecessaryDirections = dart.privateName(wrap, "_debugHasNecessaryDirections");
  const _computeIntrinsicHeightForWidth = dart.privateName(wrap, "_computeIntrinsicHeightForWidth");
  const _computeIntrinsicWidthForHeight = dart.privateName(wrap, "_computeIntrinsicWidthForHeight");
  const _getMainAxisExtent = dart.privateName(wrap, "_getMainAxisExtent");
  const _getCrossAxisExtent = dart.privateName(wrap, "_getCrossAxisExtent");
  const _getOffset = dart.privateName(wrap, "_getOffset");
  const _getChildCrossAxisOffset = dart.privateName(wrap, "_getChildCrossAxisOffset");
  const RenderBox_ContainerRenderObjectMixin$36$2 = class RenderBox_ContainerRenderObjectMixin extends box.RenderBox {};
  (RenderBox_ContainerRenderObjectMixin$36$2.new = function() {
    object$.ContainerRenderObjectMixin$(box.RenderBox, wrap.WrapParentData)[dart.mixinNew].call(this);
    RenderBox_ContainerRenderObjectMixin$36$2.__proto__.new.call(this);
  }).prototype = RenderBox_ContainerRenderObjectMixin$36$2.prototype;
  dart.applyMixin(RenderBox_ContainerRenderObjectMixin$36$2, object$.ContainerRenderObjectMixin$(box.RenderBox, wrap.WrapParentData));
  const RenderBox_RenderBoxContainerDefaultsMixin$36$2 = class RenderBox_RenderBoxContainerDefaultsMixin extends RenderBox_ContainerRenderObjectMixin$36$2 {};
  (RenderBox_RenderBoxContainerDefaultsMixin$36$2.new = function() {
    RenderBox_RenderBoxContainerDefaultsMixin$36$2.__proto__.new.call(this);
  }).prototype = RenderBox_RenderBoxContainerDefaultsMixin$36$2.prototype;
  dart.applyMixin(RenderBox_RenderBoxContainerDefaultsMixin$36$2, box.RenderBoxContainerDefaultsMixin$(box.RenderBox, wrap.WrapParentData));
  wrap.RenderWrap = class RenderWrap extends RenderBox_RenderBoxContainerDefaultsMixin$36$2 {
    get direction() {
      return this[_direction];
    }
    set direction(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 146, 12, "value != null");
      if (dart.equals(this[_direction], value)) return;
      this[_direction] = value;
      this.markNeedsLayout();
    }
    get alignment() {
      return this[_alignment$2];
    }
    set alignment(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 169, 12, "value != null");
      if (dart.equals(this[_alignment$2], value)) return;
      this[_alignment$2] = value;
      this.markNeedsLayout();
    }
    get spacing() {
      return this[_spacing];
    }
    set spacing(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 190, 12, "value != null");
      if (this[_spacing] == value) return;
      this[_spacing] = value;
      this.markNeedsLayout();
    }
    get runAlignment() {
      return this[_runAlignment];
    }
    set runAlignment(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 214, 12, "value != null");
      if (dart.equals(this[_runAlignment], value)) return;
      this[_runAlignment] = value;
      this.markNeedsLayout();
    }
    get runSpacing() {
      return this[_runSpacing];
    }
    set runSpacing(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 234, 12, "value != null");
      if (this[_runSpacing] == value) return;
      this[_runSpacing] = value;
      this.markNeedsLayout();
    }
    get crossAxisAlignment() {
      return this[_crossAxisAlignment];
    }
    set crossAxisAlignment(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 259, 12, "value != null");
      if (dart.equals(this[_crossAxisAlignment], value)) return;
      this[_crossAxisAlignment] = value;
      this.markNeedsLayout();
    }
    get textDirection() {
      return this[_textDirection$3];
    }
    set textDirection(value) {
      if (!dart.equals(this[_textDirection$3], value)) {
        this[_textDirection$3] = value;
        this.markNeedsLayout();
      }
    }
    get verticalDirection() {
      return this[_verticalDirection];
    }
    set verticalDirection(value) {
      if (!dart.equals(this[_verticalDirection], value)) {
        this[_verticalDirection] = value;
        this.markNeedsLayout();
      }
    }
    get [_debugHasNecessaryDirections]() {
      if (!(this.direction != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 330, 12, "direction != null");
      if (!(this.alignment != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 331, 12, "alignment != null");
      if (!(this.runAlignment != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 332, 12, "runAlignment != null");
      if (!(this.crossAxisAlignment != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 333, 12, "crossAxisAlignment != null");
      if (this.firstChild != null && !dart.equals(this.lastChild, this.firstChild)) {
        switch (this.direction) {
          case C30 || CT.C30:
          {
            if (!(this.textDirection != null)) dart.assertFailed("Horizontal " + dart.str(this[$runtimeType]) + " with multiple children has a null textDirection, so the layout order is undefined.", "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 338, 18, "textDirection != null");
            break;
          }
          case C31 || CT.C31:
          {
            if (!(this.verticalDirection != null)) dart.assertFailed("Vertical " + dart.str(this[$runtimeType]) + " with multiple children has a null verticalDirection, so the layout order is undefined.", "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 341, 18, "verticalDirection != null");
            break;
          }
        }
      }
      if (dart.equals(this.alignment, wrap.WrapAlignment.start) || dart.equals(this.alignment, wrap.WrapAlignment.end)) {
        switch (this.direction) {
          case C30 || CT.C30:
          {
            if (!(this.textDirection != null)) dart.assertFailed("Horizontal " + dart.str(this[$runtimeType]) + " with alignment " + dart.str(this.alignment) + " has a null textDirection, so the alignment cannot be resolved.", "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 348, 18, "textDirection != null");
            break;
          }
          case C31 || CT.C31:
          {
            if (!(this.verticalDirection != null)) dart.assertFailed("Vertical " + dart.str(this[$runtimeType]) + " with alignment " + dart.str(this.alignment) + " has a null verticalDirection, so the alignment cannot be resolved.", "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 351, 18, "verticalDirection != null");
            break;
          }
        }
      }
      if (dart.equals(this.runAlignment, wrap.WrapAlignment.start) || dart.equals(this.runAlignment, wrap.WrapAlignment.end)) {
        switch (this.direction) {
          case C30 || CT.C30:
          {
            if (!(this.verticalDirection != null)) dart.assertFailed("Horizontal " + dart.str(this[$runtimeType]) + " with runAlignment " + dart.str(this.runAlignment) + " has a null verticalDirection, so the alignment cannot be resolved.", "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 358, 18, "verticalDirection != null");
            break;
          }
          case C31 || CT.C31:
          {
            if (!(this.textDirection != null)) dart.assertFailed("Vertical " + dart.str(this[$runtimeType]) + " with runAlignment " + dart.str(this.runAlignment) + " has a null textDirection, so the alignment cannot be resolved.", "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 361, 18, "textDirection != null");
            break;
          }
        }
      }
      if (dart.equals(this.crossAxisAlignment, wrap.WrapCrossAlignment.start) || dart.equals(this.crossAxisAlignment, wrap.WrapCrossAlignment.end)) {
        switch (this.direction) {
          case C30 || CT.C30:
          {
            if (!(this.verticalDirection != null)) dart.assertFailed("Horizontal " + dart.str(this[$runtimeType]) + " with crossAxisAlignment " + dart.str(this.crossAxisAlignment) + " has a null verticalDirection, so the alignment cannot be resolved.", "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 368, 18, "verticalDirection != null");
            break;
          }
          case C31 || CT.C31:
          {
            if (!(this.textDirection != null)) dart.assertFailed("Vertical " + dart.str(this[$runtimeType]) + " with crossAxisAlignment " + dart.str(this.crossAxisAlignment) + " has a null textDirection, so the alignment cannot be resolved.", "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 371, 18, "textDirection != null");
            break;
          }
        }
      }
      return true;
    }
    setupParentData(child) {
      box.RenderBox._check(child);
      if (!wrap.WrapParentData.is(child.parentData)) child.parentData = new wrap.WrapParentData.new();
    }
    [_computeIntrinsicHeightForWidth](width) {
      if (!dart.equals(this.direction, basic_types$.Axis.horizontal)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 385, 12, "direction == Axis.horizontal");
      let runCount = 0;
      let height = 0.0;
      let runWidth = 0.0;
      let runHeight = 0.0;
      let childCount = 0;
      let child = this.firstChild;
      while (child != null) {
        let childWidth = child.getMaxIntrinsicWidth(1 / 0);
        let childHeight = child.getMaxIntrinsicHeight(childWidth);
        if (runWidth + dart.notNull(childWidth) > dart.notNull(width)) {
          height = height + runHeight;
          if (runCount > 0) height = height + dart.notNull(this.runSpacing);
          runCount = runCount + 1;
          runWidth = 0.0;
          runHeight = 0.0;
          childCount = 0;
        }
        runWidth = runWidth + dart.notNull(childWidth);
        runHeight = math.max(core.double, runHeight, childHeight);
        if (childCount > 0) runWidth = runWidth + dart.notNull(this.spacing);
        childCount = childCount + 1;
        child = this.childAfter(child);
      }
      if (childCount > 0) height = height + (runHeight + dart.notNull(this.runSpacing));
      return height;
    }
    [_computeIntrinsicWidthForHeight](height) {
      if (!dart.equals(this.direction, basic_types$.Axis.vertical)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 417, 12, "direction == Axis.vertical");
      let runCount = 0;
      let width = 0.0;
      let runHeight = 0.0;
      let runWidth = 0.0;
      let childCount = 0;
      let child = this.firstChild;
      while (child != null) {
        let childHeight = child.getMaxIntrinsicHeight(1 / 0);
        let childWidth = child.getMaxIntrinsicWidth(childHeight);
        if (runHeight + dart.notNull(childHeight) > dart.notNull(height)) {
          width = width + runWidth;
          if (runCount > 0) width = width + dart.notNull(this.runSpacing);
          runCount = runCount + 1;
          runHeight = 0.0;
          runWidth = 0.0;
          childCount = 0;
        }
        runHeight = runHeight + dart.notNull(childHeight);
        runWidth = math.max(core.double, runWidth, childWidth);
        if (childCount > 0) runHeight = runHeight + dart.notNull(this.spacing);
        childCount = childCount + 1;
        child = this.childAfter(child);
      }
      if (childCount > 0) width = width + (runWidth + dart.notNull(this.runSpacing));
      return width;
    }
    computeMinIntrinsicWidth(height) {
      switch (this.direction) {
        case C30 || CT.C30:
        {
          let width = 0.0;
          let child = this.firstChild;
          while (child != null) {
            width = math.max(core.double, width, child.getMinIntrinsicWidth(1 / 0));
            child = this.childAfter(child);
          }
          return width;
        }
        case C31 || CT.C31:
        {
          return this[_computeIntrinsicWidthForHeight](height);
        }
      }
      return null;
    }
    computeMaxIntrinsicWidth(height) {
      switch (this.direction) {
        case C30 || CT.C30:
        {
          let width = 0.0;
          let child = this.firstChild;
          while (child != null) {
            width = width + dart.notNull(child.getMaxIntrinsicWidth(1 / 0));
            child = this.childAfter(child);
          }
          return width;
        }
        case C31 || CT.C31:
        {
          return this[_computeIntrinsicWidthForHeight](height);
        }
      }
      return null;
    }
    computeMinIntrinsicHeight(width) {
      switch (this.direction) {
        case C30 || CT.C30:
        {
          return this[_computeIntrinsicHeightForWidth](width);
        }
        case C31 || CT.C31:
        {
          let height = 0.0;
          let child = this.firstChild;
          while (child != null) {
            height = math.max(core.double, height, child.getMinIntrinsicHeight(1 / 0));
            child = this.childAfter(child);
          }
          return height;
        }
      }
      return null;
    }
    computeMaxIntrinsicHeight(width) {
      switch (this.direction) {
        case C30 || CT.C30:
        {
          return this[_computeIntrinsicHeightForWidth](width);
        }
        case C31 || CT.C31:
        {
          let height = 0.0;
          let child = this.firstChild;
          while (child != null) {
            height = height + dart.notNull(child.getMaxIntrinsicHeight(1 / 0));
            child = this.childAfter(child);
          }
          return height;
        }
      }
      return null;
    }
    computeDistanceToActualBaseline(baseline) {
      return this.defaultComputeDistanceToHighestActualBaseline(baseline);
    }
    [_getMainAxisExtent](child) {
      switch (this.direction) {
        case C30 || CT.C30:
        {
          return child.size.width;
        }
        case C31 || CT.C31:
        {
          return child.size.height;
        }
      }
      return 0.0;
    }
    [_getCrossAxisExtent](child) {
      switch (this.direction) {
        case C30 || CT.C30:
        {
          return child.size.height;
        }
        case C31 || CT.C31:
        {
          return child.size.width;
        }
      }
      return 0.0;
    }
    [_getOffset](mainAxisOffset, crossAxisOffset) {
      switch (this.direction) {
        case C30 || CT.C30:
        {
          return new ui.Offset.new(mainAxisOffset, crossAxisOffset);
        }
        case C31 || CT.C31:
        {
          return new ui.Offset.new(crossAxisOffset, mainAxisOffset);
        }
      }
      return ui.Offset.zero;
    }
    [_getChildCrossAxisOffset](flipCrossAxis, runCrossAxisExtent, childCrossAxisExtent) {
      let freeSpace = dart.notNull(runCrossAxisExtent) - dart.notNull(childCrossAxisExtent);
      switch (this.crossAxisAlignment) {
        case C166 || CT.C166:
        {
          return dart.test(flipCrossAxis) ? freeSpace : 0.0;
        }
        case C167 || CT.C167:
        {
          return dart.test(flipCrossAxis) ? 0.0 : freeSpace;
        }
        case C168 || CT.C168:
        {
          return freeSpace / 2.0;
        }
      }
      return 0.0;
    }
    performLayout() {
      if (!dart.test(this[_debugHasNecessaryDirections])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 568, 12, "_debugHasNecessaryDirections");
      this[_hasVisualOverflow$2] = false;
      let child = this.firstChild;
      if (child == null) {
        this.size = this.constraints.smallest;
        return;
      }
      let childConstraints = null;
      let mainAxisLimit = 0.0;
      let flipMainAxis = false;
      let flipCrossAxis = false;
      switch (this.direction) {
        case C30 || CT.C30:
        {
          childConstraints = new box.BoxConstraints.new({maxWidth: this.constraints.maxWidth});
          mainAxisLimit = this.constraints.maxWidth;
          if (dart.equals(this.textDirection, ui.TextDirection.rtl)) flipMainAxis = true;
          if (dart.equals(this.verticalDirection, basic_types$.VerticalDirection.up)) flipCrossAxis = true;
          break;
        }
        case C31 || CT.C31:
        {
          childConstraints = new box.BoxConstraints.new({maxHeight: this.constraints.maxHeight});
          mainAxisLimit = this.constraints.maxHeight;
          if (dart.equals(this.verticalDirection, basic_types$.VerticalDirection.up)) flipMainAxis = true;
          if (dart.equals(this.textDirection, ui.TextDirection.rtl)) flipCrossAxis = true;
          break;
        }
      }
      if (!(childConstraints != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 597, 12, "childConstraints != null");
      if (!(mainAxisLimit != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 598, 12, "mainAxisLimit != null");
      let spacing = this.spacing;
      let runSpacing = this.runSpacing;
      let runMetrics = JSArrayOf_RunMetrics().of([]);
      let mainAxisExtent = 0.0;
      let crossAxisExtent = 0.0;
      let runMainAxisExtent = 0.0;
      let runCrossAxisExtent = 0.0;
      let childCount = 0;
      while (child != null) {
        child.layout(childConstraints, {parentUsesSize: true});
        let childMainAxisExtent = this[_getMainAxisExtent](child);
        let childCrossAxisExtent = this[_getCrossAxisExtent](child);
        if (childCount > 0 && runMainAxisExtent + dart.notNull(spacing) + dart.notNull(childMainAxisExtent) > dart.notNull(mainAxisLimit)) {
          mainAxisExtent = math.max(core.double, mainAxisExtent, runMainAxisExtent);
          crossAxisExtent = crossAxisExtent + runCrossAxisExtent;
          if (dart.test(runMetrics[$isNotEmpty])) crossAxisExtent = crossAxisExtent + dart.notNull(runSpacing);
          runMetrics[$add](new wrap._RunMetrics.new(runMainAxisExtent, runCrossAxisExtent, childCount));
          runMainAxisExtent = 0.0;
          runCrossAxisExtent = 0.0;
          childCount = 0;
        }
        runMainAxisExtent = runMainAxisExtent + dart.notNull(childMainAxisExtent);
        if (childCount > 0) runMainAxisExtent = runMainAxisExtent + dart.notNull(spacing);
        runCrossAxisExtent = math.max(core.double, runCrossAxisExtent, childCrossAxisExtent);
        childCount = childCount + 1;
        let childParentData = wrap.WrapParentData.as(child.parentData);
        childParentData[_runIndex] = runMetrics[$length];
        child = childParentData.nextSibling;
      }
      if (childCount > 0) {
        mainAxisExtent = math.max(core.double, mainAxisExtent, runMainAxisExtent);
        crossAxisExtent = crossAxisExtent + runCrossAxisExtent;
        if (dart.test(runMetrics[$isNotEmpty])) crossAxisExtent = crossAxisExtent + dart.notNull(runSpacing);
        runMetrics[$add](new wrap._RunMetrics.new(runMainAxisExtent, runCrossAxisExtent, childCount));
      }
      let runCount = runMetrics[$length];
      if (!(dart.notNull(runCount) > 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 639, 12, "runCount > 0");
      let containerMainAxisExtent = 0.0;
      let containerCrossAxisExtent = 0.0;
      switch (this.direction) {
        case C30 || CT.C30:
        {
          this.size = this.constraints.constrain(new ui.Size.new(mainAxisExtent, crossAxisExtent));
          containerMainAxisExtent = this.size.width;
          containerCrossAxisExtent = this.size.height;
          break;
        }
        case C31 || CT.C31:
        {
          this.size = this.constraints.constrain(new ui.Size.new(crossAxisExtent, mainAxisExtent));
          containerMainAxisExtent = this.size.height;
          containerCrossAxisExtent = this.size.width;
          break;
        }
      }
      this[_hasVisualOverflow$2] = dart.notNull(containerMainAxisExtent) < mainAxisExtent || dart.notNull(containerCrossAxisExtent) < crossAxisExtent;
      let crossAxisFreeSpace = math.max(core.double, 0.0, dart.notNull(containerCrossAxisExtent) - crossAxisExtent);
      let runLeadingSpace = 0.0;
      let runBetweenSpace = 0.0;
      switch (this.runAlignment) {
        case C159 || CT.C159:
        {
          break;
        }
        case C160 || CT.C160:
        {
          runLeadingSpace = crossAxisFreeSpace;
          break;
        }
        case C161 || CT.C161:
        {
          runLeadingSpace = crossAxisFreeSpace / 2.0;
          break;
        }
        case C162 || CT.C162:
        {
          runBetweenSpace = dart.notNull(runCount) > 1 ? crossAxisFreeSpace / (dart.notNull(runCount) - 1) : 0.0;
          break;
        }
        case C163 || CT.C163:
        {
          runBetweenSpace = crossAxisFreeSpace / dart.notNull(runCount);
          runLeadingSpace = runBetweenSpace / 2.0;
          break;
        }
        case C164 || CT.C164:
        {
          runBetweenSpace = crossAxisFreeSpace / (dart.notNull(runCount) + 1);
          runLeadingSpace = runBetweenSpace;
          break;
        }
      }
      runBetweenSpace = runBetweenSpace + dart.notNull(runSpacing);
      let crossAxisOffset = flipCrossAxis ? dart.notNull(containerCrossAxisExtent) - runLeadingSpace : runLeadingSpace;
      child = this.firstChild;
      for (let i = 0; i < dart.notNull(runCount); i = i + 1) {
        let metrics = runMetrics[$_get](i);
        let runMainAxisExtent = metrics.mainAxisExtent;
        let runCrossAxisExtent = metrics.crossAxisExtent;
        let childCount = metrics.childCount;
        let mainAxisFreeSpace = math.max(core.double, 0.0, dart.notNull(containerMainAxisExtent) - dart.notNull(runMainAxisExtent));
        let childLeadingSpace = 0.0;
        let childBetweenSpace = 0.0;
        switch (this.alignment) {
          case C159 || CT.C159:
          {
            break;
          }
          case C160 || CT.C160:
          {
            childLeadingSpace = mainAxisFreeSpace;
            break;
          }
          case C161 || CT.C161:
          {
            childLeadingSpace = mainAxisFreeSpace / 2.0;
            break;
          }
          case C162 || CT.C162:
          {
            childBetweenSpace = dart.notNull(childCount) > 1 ? mainAxisFreeSpace / (dart.notNull(childCount) - 1) : 0.0;
            break;
          }
          case C163 || CT.C163:
          {
            childBetweenSpace = mainAxisFreeSpace / dart.notNull(childCount);
            childLeadingSpace = childBetweenSpace / 2.0;
            break;
          }
          case C164 || CT.C164:
          {
            childBetweenSpace = mainAxisFreeSpace / (dart.notNull(childCount) + 1);
            childLeadingSpace = childBetweenSpace;
            break;
          }
        }
        childBetweenSpace = childBetweenSpace + dart.notNull(spacing);
        let childMainPosition = flipMainAxis ? dart.notNull(containerMainAxisExtent) - childLeadingSpace : childLeadingSpace;
        if (flipCrossAxis) crossAxisOffset = crossAxisOffset - dart.notNull(runCrossAxisExtent);
        while (child != null) {
          let childParentData = wrap.WrapParentData.as(child.parentData);
          if (childParentData[_runIndex] !== i) break;
          let childMainAxisExtent = this[_getMainAxisExtent](child);
          let childCrossAxisExtent = this[_getCrossAxisExtent](child);
          let childCrossAxisOffset = this[_getChildCrossAxisOffset](flipCrossAxis, runCrossAxisExtent, childCrossAxisExtent);
          if (flipMainAxis) childMainPosition = childMainPosition - dart.notNull(childMainAxisExtent);
          childParentData.offset = this[_getOffset](childMainPosition, crossAxisOffset + dart.notNull(childCrossAxisOffset));
          if (flipMainAxis)
            childMainPosition = childMainPosition - childBetweenSpace;
          else
            childMainPosition = childMainPosition + (dart.notNull(childMainAxisExtent) + childBetweenSpace);
          child = childParentData.nextSibling;
        }
        if (flipCrossAxis)
          crossAxisOffset = crossAxisOffset - runBetweenSpace;
        else
          crossAxisOffset = crossAxisOffset + (dart.notNull(runCrossAxisExtent) + runBetweenSpace);
      }
    }
    hitTestChildren(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      return this.defaultHitTestChildren(result, {position: position});
    }
    paint(context, offset) {
      if (dart.test(this[_hasVisualOverflow$2]))
        context.pushClipRect(this.needsCompositing, offset, ui.Offset.zero['&'](this.size), dart.bind(this, 'defaultPaint'));
      else
        this.defaultPaint(context, offset);
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (EnumPropertyOfAxis()).new("direction", this.direction));
      properties.add(new (EnumPropertyOfWrapAlignment()).new("alignment", this.alignment));
      properties.add(new diagnostics.DoubleProperty.new("spacing", this.spacing));
      properties.add(new (EnumPropertyOfWrapAlignment()).new("runAlignment", this.runAlignment));
      properties.add(new diagnostics.DoubleProperty.new("runSpacing", this.runSpacing));
      properties.add(new diagnostics.DoubleProperty.new("crossAxisAlignment", this.runSpacing));
      properties.add(new (EnumPropertyOfTextDirection()).new("textDirection", this.textDirection, {defaultValue: null}));
      properties.add(new (EnumPropertyOfVerticalDirection()).new("verticalDirection", this.verticalDirection, {defaultValue: basic_types$.VerticalDirection.down}));
    }
  };
  (wrap.RenderWrap.new = function(opts) {
    let children = opts && 'children' in opts ? opts.children : null;
    let direction = opts && 'direction' in opts ? opts.direction : C30 || CT.C30;
    let alignment = opts && 'alignment' in opts ? opts.alignment : C159 || CT.C159;
    let spacing = opts && 'spacing' in opts ? opts.spacing : 0;
    let runAlignment = opts && 'runAlignment' in opts ? opts.runAlignment : C159 || CT.C159;
    let runSpacing = opts && 'runSpacing' in opts ? opts.runSpacing : 0;
    let crossAxisAlignment = opts && 'crossAxisAlignment' in opts ? opts.crossAxisAlignment : C166 || CT.C166;
    let textDirection = opts && 'textDirection' in opts ? opts.textDirection : null;
    let verticalDirection = opts && 'verticalDirection' in opts ? opts.verticalDirection : C170 || CT.C170;
    this[_hasVisualOverflow$2] = false;
    if (!(direction != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 120, 15, "direction != null");
    if (!(alignment != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 121, 15, "alignment != null");
    if (!(spacing != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 122, 15, "spacing != null");
    if (!(runAlignment != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 123, 15, "runAlignment != null");
    if (!(runSpacing != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 124, 15, "runSpacing != null");
    if (!(crossAxisAlignment != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/wrap.dart", 125, 15, "crossAxisAlignment != null");
    this[_direction] = direction;
    this[_alignment$2] = alignment;
    this[_spacing] = spacing;
    this[_runAlignment] = runAlignment;
    this[_runSpacing] = runSpacing;
    this[_crossAxisAlignment] = crossAxisAlignment;
    this[_textDirection$3] = textDirection;
    this[_verticalDirection] = verticalDirection;
    wrap.RenderWrap.__proto__.new.call(this);
    this.addAll(children);
  }).prototype = wrap.RenderWrap.prototype;
  dart.addTypeTests(wrap.RenderWrap);
  dart.setMethodSignature(wrap.RenderWrap, () => ({
    __proto__: dart.getMethods(wrap.RenderWrap.__proto__),
    [_computeIntrinsicHeightForWidth]: dart.fnType(core.double, [core.double]),
    [_computeIntrinsicWidthForHeight]: dart.fnType(core.double, [core.double]),
    [_getMainAxisExtent]: dart.fnType(core.double, [box.RenderBox]),
    [_getCrossAxisExtent]: dart.fnType(core.double, [box.RenderBox]),
    [_getOffset]: dart.fnType(ui.Offset, [core.double, core.double]),
    [_getChildCrossAxisOffset]: dart.fnType(core.double, [core.bool, core.double, core.double])
  }));
  dart.setGetterSignature(wrap.RenderWrap, () => ({
    __proto__: dart.getGetters(wrap.RenderWrap.__proto__),
    direction: basic_types$.Axis,
    alignment: wrap.WrapAlignment,
    spacing: core.double,
    runAlignment: wrap.WrapAlignment,
    runSpacing: core.double,
    crossAxisAlignment: wrap.WrapCrossAlignment,
    textDirection: ui.TextDirection,
    verticalDirection: basic_types$.VerticalDirection,
    [_debugHasNecessaryDirections]: core.bool
  }));
  dart.setSetterSignature(wrap.RenderWrap, () => ({
    __proto__: dart.getSetters(wrap.RenderWrap.__proto__),
    direction: basic_types$.Axis,
    alignment: wrap.WrapAlignment,
    spacing: core.double,
    runAlignment: wrap.WrapAlignment,
    runSpacing: core.double,
    crossAxisAlignment: wrap.WrapCrossAlignment,
    textDirection: ui.TextDirection,
    verticalDirection: basic_types$.VerticalDirection
  }));
  dart.setLibraryUri(wrap.RenderWrap, "package:flutter/src/rendering/wrap.dart");
  dart.setFieldSignature(wrap.RenderWrap, () => ({
    __proto__: dart.getFields(wrap.RenderWrap.__proto__),
    [_direction]: dart.fieldType(basic_types$.Axis),
    [_alignment$2]: dart.fieldType(wrap.WrapAlignment),
    [_spacing]: dart.fieldType(core.double),
    [_runAlignment]: dart.fieldType(wrap.WrapAlignment),
    [_runSpacing]: dart.fieldType(core.double),
    [_crossAxisAlignment]: dart.fieldType(wrap.WrapCrossAlignment),
    [_textDirection$3]: dart.fieldType(ui.TextDirection),
    [_verticalDirection]: dart.fieldType(basic_types$.VerticalDirection),
    [_hasVisualOverflow$2]: dart.fieldType(core.bool)
  }));
  const _name$19 = dart.privateName(editable, "_name");
  let C171;
  let C172;
  let C173;
  let C174;
  let C175;
  let C176;
  let C177;
  editable.SelectionChangedCause = class SelectionChangedCause extends core.Object {
    toString() {
      return this[_name$19];
    }
  };
  (editable.SelectionChangedCause.new = function(index, _name) {
    this.index = index;
    this[_name$19] = _name;
    ;
  }).prototype = editable.SelectionChangedCause.prototype;
  dart.addTypeTests(editable.SelectionChangedCause);
  dart.setLibraryUri(editable.SelectionChangedCause, "package:flutter/src/rendering/editable.dart");
  dart.setFieldSignature(editable.SelectionChangedCause, () => ({
    __proto__: dart.getFields(editable.SelectionChangedCause.__proto__),
    index: dart.finalFieldType(core.int),
    [_name$19]: dart.finalFieldType(core.String)
  }));
  dart.defineExtensionMethods(editable.SelectionChangedCause, ['toString']);
  editable.SelectionChangedCause.tap = C171 || CT.C171;
  editable.SelectionChangedCause.doubleTap = C172 || CT.C172;
  editable.SelectionChangedCause.longPress = C173 || CT.C173;
  editable.SelectionChangedCause.forcePress = C174 || CT.C174;
  editable.SelectionChangedCause.keyboard = C175 || CT.C175;
  editable.SelectionChangedCause.drag = C176 || CT.C176;
  editable.SelectionChangedCause.values = C177 || CT.C177;
  const point$ = dart.privateName(editable, "TextSelectionPoint.point");
  const direction$ = dart.privateName(editable, "TextSelectionPoint.direction");
  editable.TextSelectionPoint = class TextSelectionPoint extends core.Object {
    get point() {
      return this[point$];
    }
    set point(value) {
      super.point = value;
    }
    get direction() {
      return this[direction$];
    }
    set direction(value) {
      super.direction = value;
    }
    toString() {
      switch (this.direction) {
        case C75 || CT.C75:
        {
          return dart.str(this.point) + "-ltr";
        }
        case C74 || CT.C74:
        {
          return dart.str(this.point) + "-rtl";
        }
      }
      return dart.str(this.point);
    }
  };
  (editable.TextSelectionPoint.new = function(point, direction) {
    this[point$] = point;
    this[direction$] = direction;
    if (!(point != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 79, 14, "point != null");
    ;
  }).prototype = editable.TextSelectionPoint.prototype;
  dart.addTypeTests(editable.TextSelectionPoint);
  dart.setLibraryUri(editable.TextSelectionPoint, "package:flutter/src/rendering/editable.dart");
  dart.setFieldSignature(editable.TextSelectionPoint, () => ({
    __proto__: dart.getFields(editable.TextSelectionPoint.__proto__),
    point: dart.finalFieldType(ui.Offset),
    direction: dart.finalFieldType(ui.TextDirection)
  }));
  dart.defineExtensionMethods(editable.TextSelectionPoint, ['toString']);
  const EdgeInsets_bottom = dart.privateName(edge_insets, "EdgeInsets.bottom");
  const EdgeInsets_right = dart.privateName(edge_insets, "EdgeInsets.right");
  const EdgeInsets_top = dart.privateName(edge_insets, "EdgeInsets.top");
  const EdgeInsets_left = dart.privateName(edge_insets, "EdgeInsets.left");
  let C178;
  const _textLayoutLastMaxWidth = dart.privateName(editable, "_textLayoutLastMaxWidth");
  const _textLayoutLastMinWidth = dart.privateName(editable, "_textLayoutLastMinWidth");
  const _lastCaretRect = dart.privateName(editable, "_lastCaretRect");
  const _selectionStartInViewport = dart.privateName(editable, "_selectionStartInViewport");
  const _selectionEndInViewport = dart.privateName(editable, "_selectionEndInViewport");
  const _cursorResetLocation = dart.privateName(editable, "_cursorResetLocation");
  const _wasSelectingVerticallyWithKeyboard = dart.privateName(editable, "_wasSelectingVerticallyWithKeyboard");
  const _cachedPlainText = dart.privateName(editable, "_cachedPlainText");
  const _hasFocus = dart.privateName(editable, "_hasFocus");
  const _listenerAttached = dart.privateName(editable, "_listenerAttached");
  const _forceLine = dart.privateName(editable, "_forceLine");
  const _readOnly$ = dart.privateName(editable, "_readOnly");
  const _selectionRects = dart.privateName(editable, "_selectionRects");
  const _cursorWidth = dart.privateName(editable, "_cursorWidth");
  const _floatingCursorOn = dart.privateName(editable, "_floatingCursorOn");
  const _floatingCursorOffset = dart.privateName(editable, "_floatingCursorOffset");
  const _floatingCursorTextPosition = dart.privateName(editable, "_floatingCursorTextPosition");
  const _maxScrollExtent$ = dart.privateName(editable, "_maxScrollExtent");
  const _tap = dart.privateName(editable, "_tap");
  const _longPress = dart.privateName(editable, "_longPress");
  const _lastTapDownPosition = dart.privateName(editable, "_lastTapDownPosition");
  const _caretPrototype = dart.privateName(editable, "_caretPrototype");
  const _relativeOrigin = dart.privateName(editable, "_relativeOrigin");
  const _previousOffset = dart.privateName(editable, "_previousOffset");
  const _resetOriginOnLeft = dart.privateName(editable, "_resetOriginOnLeft");
  const _resetOriginOnRight = dart.privateName(editable, "_resetOriginOnRight");
  const _resetOriginOnTop = dart.privateName(editable, "_resetOriginOnTop");
  const _resetOriginOnBottom = dart.privateName(editable, "_resetOriginOnBottom");
  const _resetFloatingCursorAnimationValue = dart.privateName(editable, "_resetFloatingCursorAnimationValue");
  const _textPainter$ = dart.privateName(editable, "_textPainter");
  const _cursorColor = dart.privateName(editable, "_cursorColor");
  const _backgroundCursorColor = dart.privateName(editable, "_backgroundCursorColor");
  const _showCursor = dart.privateName(editable, "_showCursor");
  const _maxLines = dart.privateName(editable, "_maxLines");
  const _minLines = dart.privateName(editable, "_minLines");
  const _expands = dart.privateName(editable, "_expands");
  const _selectionColor = dart.privateName(editable, "_selectionColor");
  const _selection = dart.privateName(editable, "_selection");
  const _offset$1 = dart.privateName(editable, "_offset");
  const _cursorRadius = dart.privateName(editable, "_cursorRadius");
  const _paintCursorOnTop = dart.privateName(editable, "_paintCursorOnTop");
  const _cursorOffset = dart.privateName(editable, "_cursorOffset");
  const _floatingCursorAddedMargin = dart.privateName(editable, "_floatingCursorAddedMargin");
  const _enableInteractiveSelection = dart.privateName(editable, "_enableInteractiveSelection");
  const _devicePixelRatio = dart.privateName(editable, "_devicePixelRatio");
  const _startHandleLayerLink = dart.privateName(editable, "_startHandleLayerLink");
  const _endHandleLayerLink = dart.privateName(editable, "_endHandleLayerLink");
  const _obscureText = dart.privateName(editable, "_obscureText");
  const _updateSelectionExtentsVisibility = dart.privateName(editable, "_updateSelectionExtentsVisibility");
  const _handleSelectionChange = dart.privateName(editable, "_handleSelectionChange");
  const _handleMovement = dart.privateName(editable, "_handleMovement");
  const _handleShortcuts = dart.privateName(editable, "_handleShortcuts");
  const _handleDelete = dart.privateName(editable, "_handleDelete");
  const _handleKeyEvent = dart.privateName(editable, "_handleKeyEvent");
  const _plainText = dart.privateName(editable, "_plainText");
  const _selectWordAtOffset = dart.privateName(editable, "_selectWordAtOffset");
  const _selectLineAtOffset = dart.privateName(editable, "_selectLineAtOffset");
  const _caretMargin = dart.privateName(editable, "_caretMargin");
  const _isMultiline = dart.privateName(editable, "_isMultiline");
  const _handleSetSelection = dart.privateName(editable, "_handleSetSelection");
  const _handleMoveCursorBackwardByWord = dart.privateName(editable, "_handleMoveCursorBackwardByWord");
  const _handleMoveCursorBackwardByCharacter = dart.privateName(editable, "_handleMoveCursorBackwardByCharacter");
  const _handleMoveCursorForwardByWord = dart.privateName(editable, "_handleMoveCursorForwardByWord");
  const _handleMoveCursorForwardByCharacter = dart.privateName(editable, "_handleMoveCursorForwardByCharacter");
  const _getNextWord = dart.privateName(editable, "_getNextWord");
  const _getPreviousWord = dart.privateName(editable, "_getPreviousWord");
  const _onlyWhitespace = dart.privateName(editable, "_onlyWhitespace");
  const _handleTapDown = dart.privateName(editable, "_handleTapDown");
  const _handleTap = dart.privateName(editable, "_handleTap");
  const _handleLongPress = dart.privateName(editable, "_handleLongPress");
  const _viewportAxis = dart.privateName(editable, "_viewportAxis");
  const _paintOffset = dart.privateName(editable, "_paintOffset");
  const _viewportExtent = dart.privateName(editable, "_viewportExtent");
  const _getMaxScrollExtent = dart.privateName(editable, "_getMaxScrollExtent");
  const _hasVisualOverflow$3 = dart.privateName(editable, "_hasVisualOverflow");
  const _layoutText$ = dart.privateName(editable, "_layoutText");
  const _getPixelPerfectCursorOffset = dart.privateName(editable, "_getPixelPerfectCursorOffset");
  const _preferredHeight = dart.privateName(editable, "_preferredHeight");
  const _getCaretPrototype = dart.privateName(editable, "_getCaretPrototype");
  const _paintCaret = dart.privateName(editable, "_paintCaret");
  let C179;
  const _paintFloatingCaret = dart.privateName(editable, "_paintFloatingCaret");
  const _paintSelection = dart.privateName(editable, "_paintSelection");
  const _paintContents$ = dart.privateName(editable, "_paintContents");
  const _paintHandleLayers = dart.privateName(editable, "_paintHandleLayers");
  const onSelectionChanged$ = dart.privateName(editable, "RenderEditable.onSelectionChanged");
  const onCaretChanged$ = dart.privateName(editable, "RenderEditable.onCaretChanged");
  const ignorePointer$ = dart.privateName(editable, "RenderEditable.ignorePointer");
  const textSelectionDelegate$ = dart.privateName(editable, "RenderEditable.textSelectionDelegate");
  const RenderBox_RelayoutWhenSystemFontsChangeMixin$36$ = class RenderBox_RelayoutWhenSystemFontsChangeMixin extends box.RenderBox {};
  (RenderBox_RelayoutWhenSystemFontsChangeMixin$36$.new = function() {
    RenderBox_RelayoutWhenSystemFontsChangeMixin$36$.__proto__.new.call(this);
  }).prototype = RenderBox_RelayoutWhenSystemFontsChangeMixin$36$.prototype;
  dart.applyMixin(RenderBox_RelayoutWhenSystemFontsChangeMixin$36$, object$.RelayoutWhenSystemFontsChangeMixin);
  editable.RenderEditable = class RenderEditable extends RenderBox_RelayoutWhenSystemFontsChangeMixin$36$ {
    get onSelectionChanged() {
      return this[onSelectionChanged$];
    }
    set onSelectionChanged(value) {
      this[onSelectionChanged$] = value;
    }
    get onCaretChanged() {
      return this[onCaretChanged$];
    }
    set onCaretChanged(value) {
      this[onCaretChanged$] = value;
    }
    get ignorePointer() {
      return this[ignorePointer$];
    }
    set ignorePointer(value) {
      this[ignorePointer$] = value;
    }
    get textSelectionDelegate() {
      return this[textSelectionDelegate$];
    }
    set textSelectionDelegate(value) {
      this[textSelectionDelegate$] = value;
    }
    get textWidthBasis() {
      return this[_textPainter$].textWidthBasis;
    }
    set textWidthBasis(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 299, 12, "value != null");
      if (dart.equals(this[_textPainter$].textWidthBasis, value)) return;
      this[_textPainter$].textWidthBasis = value;
      this.markNeedsTextLayout();
    }
    get devicePixelRatio() {
      return this[_devicePixelRatio];
    }
    set devicePixelRatio(value) {
      if (this.devicePixelRatio == value) return;
      this[_devicePixelRatio] = value;
      this.markNeedsTextLayout();
    }
    get obscureText() {
      return this[_obscureText];
    }
    set obscureText(value) {
      if (dart.equals(this[_obscureText], value)) return;
      this[_obscureText] = value;
      this.markNeedsSemanticsUpdate();
    }
    get selectionStartInViewport() {
      return this[_selectionStartInViewport];
    }
    get selectionEndInViewport() {
      return this[_selectionEndInViewport];
    }
    [_updateSelectionExtentsVisibility](effectiveOffset) {
      let visibleRegion = ui.Offset.zero['&'](this.size);
      let startOffset = this[_textPainter$].getOffsetForCaret(new ui.TextPosition.new({offset: this[_selection].start, affinity: this[_selection].affinity}), this[_caretPrototype]);
      this[_selectionStartInViewport].value = visibleRegion.inflate(0.5).contains(startOffset['+'](effectiveOffset));
      let endOffset = this[_textPainter$].getOffsetForCaret(new ui.TextPosition.new({offset: this[_selection].end, affinity: this[_selection].affinity}), this[_caretPrototype]);
      this[_selectionEndInViewport].value = visibleRegion.inflate(0.5).contains(endOffset['+'](effectiveOffset));
    }
    [_handleSelectionChange](nextSelection, cause) {
      let focusingEmpty = nextSelection.baseOffset === 0 && nextSelection.extentOffset === 0 && !dart.test(this.hasFocus);
      if (dart.equals(nextSelection, this.selection) && !dart.equals(cause, editable.SelectionChangedCause.keyboard) && !focusingEmpty) {
        return;
      }
      if (this.onSelectionChanged != null) {
        this.onSelectionChanged(nextSelection, this, cause);
      }
    }
    [_handleKeyEvent](keyEvent) {
      if (!raw_keyboard.RawKeyDownEvent.is(keyEvent) || this.onSelectionChanged == null) return;
      let keysPressed = keyboard_key.LogicalKeyboardKey.collapseSynonyms(raw_keyboard.RawKeyboard.instance.keysPressed);
      let key = keyEvent.logicalKey;
      let isMacOS = raw_keyboard_macos.RawKeyEventDataMacOs.is(keyEvent.data);
      if (!dart.test(editable.RenderEditable._nonModifierKeys.contains(key)) || dart.notNull(keysPressed.difference(isMacOS ? editable.RenderEditable._macOsModifierKeys : editable.RenderEditable._modifierKeys)[$length]) > 1 || dart.test(keysPressed.difference(editable.RenderEditable._interestingKeys)[$isNotEmpty])) {
        return;
      }
      let isWordModifierPressed = isMacOS ? keyEvent.isAltPressed : keyEvent.isControlPressed;
      let isLineModifierPressed = isMacOS ? keyEvent.isMetaPressed : keyEvent.isAltPressed;
      let isShortcutModifierPressed = isMacOS ? keyEvent.isMetaPressed : keyEvent.isControlPressed;
      if (dart.test(editable.RenderEditable._movementKeys.contains(key))) {
        this[_handleMovement](key, {wordModifier: isWordModifierPressed, lineModifier: isLineModifierPressed, shift: keyEvent.isShiftPressed});
      } else if (dart.test(isShortcutModifierPressed) && dart.test(editable.RenderEditable._shortcutKeys.contains(key))) {
        this[_handleShortcuts](key);
      } else if (dart.equals(key, keyboard_key.LogicalKeyboardKey.delete)) {
        this[_handleDelete]();
      }
    }
    [_handleMovement](key, opts) {
      let wordModifier = opts && 'wordModifier' in opts ? opts.wordModifier : null;
      let lineModifier = opts && 'lineModifier' in opts ? opts.lineModifier : null;
      let shift = opts && 'shift' in opts ? opts.shift : null;
      if (dart.test(wordModifier) && dart.test(lineModifier)) {
        return;
      }
      let newSelection = this.selection;
      let rightArrow = dart.equals(key, keyboard_key.LogicalKeyboardKey.arrowRight);
      let leftArrow = dart.equals(key, keyboard_key.LogicalKeyboardKey.arrowLeft);
      let upArrow = dart.equals(key, keyboard_key.LogicalKeyboardKey.arrowUp);
      let downArrow = dart.equals(key, keyboard_key.LogicalKeyboardKey.arrowDown);
      const previousNonWhitespace = extent => {
        let result = math.max(core.int, dart.notNull(extent) - 1, 0);
        while (result > 0 && dart.test(editable._isWhitespace(this[_plainText][$codeUnitAt](result)))) {
          result = result - 1;
        }
        return result;
      };
      dart.fn(previousNonWhitespace, intToint());
      const nextNonWhitespace = extent => {
        let result = math.min(core.int, dart.notNull(extent) + 1, this[_plainText].length);
        while (result < this[_plainText].length && dart.test(editable._isWhitespace(this[_plainText][$codeUnitAt](result)))) {
          result = result + 1;
        }
        return result;
      };
      dart.fn(nextNonWhitespace, intToint());
      if ((rightArrow || leftArrow) && !(rightArrow && leftArrow)) {
        if (dart.test(wordModifier)) {
          if (leftArrow) {
            let startPoint = previousNonWhitespace(newSelection.extentOffset);
            let textSelection = this[_selectWordAtOffset](new ui.TextPosition.new({offset: startPoint}));
            newSelection = newSelection.copyWith({extentOffset: textSelection.baseOffset});
          } else {
            let startPoint = nextNonWhitespace(newSelection.extentOffset);
            let textSelection = this[_selectWordAtOffset](new ui.TextPosition.new({offset: startPoint}));
            newSelection = newSelection.copyWith({extentOffset: textSelection.extentOffset});
          }
        } else if (dart.test(lineModifier)) {
          if (leftArrow) {
            let startPoint = previousNonWhitespace(newSelection.extentOffset);
            let textSelection = this[_selectLineAtOffset](new ui.TextPosition.new({offset: startPoint}));
            newSelection = newSelection.copyWith({extentOffset: textSelection.baseOffset});
          } else {
            let startPoint = nextNonWhitespace(newSelection.extentOffset);
            let textSelection = this[_selectLineAtOffset](new ui.TextPosition.new({offset: startPoint}));
            newSelection = newSelection.copyWith({extentOffset: textSelection.extentOffset});
          }
        } else {
          if (rightArrow && dart.notNull(newSelection.extentOffset) < this[_plainText].length) {
            newSelection = newSelection.copyWith({extentOffset: dart.notNull(newSelection.extentOffset) + 1});
            if (dart.test(shift)) {
              this[_cursorResetLocation] = dart.notNull(this[_cursorResetLocation]) + 1;
            }
          } else if (leftArrow && dart.notNull(newSelection.extentOffset) > 0) {
            newSelection = newSelection.copyWith({extentOffset: dart.notNull(newSelection.extentOffset) - 1});
            if (dart.test(shift)) {
              this[_cursorResetLocation] = dart.notNull(this[_cursorResetLocation]) - 1;
            }
          }
        }
      }
      if (downArrow || upArrow) {
        let preferredLineHeight = this[_textPainter$].preferredLineHeight;
        let verticalOffset = upArrow ? -0.5 * dart.notNull(preferredLineHeight) : 1.5 * dart.notNull(preferredLineHeight);
        let caretOffset = this[_textPainter$].getOffsetForCaret(new ui.TextPosition.new({offset: newSelection.extentOffset}), this[_caretPrototype]);
        let caretOffsetTranslated = caretOffset.translate(0.0, verticalOffset);
        let position = this[_textPainter$].getPositionForOffset(caretOffsetTranslated);
        if (position.offset == newSelection.extentOffset) {
          if (downArrow) {
            newSelection = newSelection.copyWith({extentOffset: this[_plainText].length});
          } else if (upArrow) {
            newSelection = newSelection.copyWith({extentOffset: 0});
          }
          this[_wasSelectingVerticallyWithKeyboard] = shift;
        } else if (dart.test(this[_wasSelectingVerticallyWithKeyboard]) && dart.test(shift)) {
          newSelection = newSelection.copyWith({extentOffset: this[_cursorResetLocation]});
          this[_wasSelectingVerticallyWithKeyboard] = false;
        } else {
          newSelection = newSelection.copyWith({extentOffset: position.offset});
          this[_cursorResetLocation] = newSelection.extentOffset;
        }
      }
      if (!dart.test(shift)) {
        let newOffset = newSelection.extentOffset;
        if (!dart.test(this.selection.isCollapsed)) {
          if (leftArrow) {
            newOffset = dart.notNull(newSelection.baseOffset) < dart.notNull(newSelection.extentOffset) ? newSelection.baseOffset : newSelection.extentOffset;
          } else if (rightArrow) {
            newOffset = dart.notNull(newSelection.baseOffset) > dart.notNull(newSelection.extentOffset) ? newSelection.baseOffset : newSelection.extentOffset;
          }
        }
        newSelection = new text_editing.TextSelection.fromPosition(new ui.TextPosition.new({offset: newOffset}));
      }
      this.textSelectionDelegate.textEditingValue = this.textSelectionDelegate.textEditingValue.copyWith({selection: newSelection});
      this[_handleSelectionChange](newSelection, editable.SelectionChangedCause.keyboard);
    }
    [_handleShortcuts](key) {
      return async.async(dart.void, (function* _handleShortcuts() {
        if (!dart.test(editable.RenderEditable._shortcutKeys.contains(key))) dart.assertFailed("shortcut key " + dart.str(key) + " not recognized.", "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 652, 12, "_shortcutKeys.contains(key)");
        if (dart.equals(key, keyboard_key.LogicalKeyboardKey.keyC)) {
          if (!dart.test(this.selection.isCollapsed)) {
            clipboard.Clipboard.setData(new clipboard.ClipboardData.new({text: this.selection.textInside(this[_plainText])}));
          }
          return;
        }
        if (dart.equals(key, keyboard_key.LogicalKeyboardKey.keyX)) {
          if (!dart.test(this.selection.isCollapsed)) {
            clipboard.Clipboard.setData(new clipboard.ClipboardData.new({text: this.selection.textInside(this[_plainText])}));
            this.textSelectionDelegate.textEditingValue = new text_input.TextEditingValue.new({text: dart.notNull(this.selection.textBefore(this[_plainText])) + dart.notNull(this.selection.textAfter(this[_plainText])), selection: new text_editing.TextSelection.collapsed({offset: this.selection.start})});
          }
          return;
        }
        if (dart.equals(key, keyboard_key.LogicalKeyboardKey.keyV)) {
          let value = this.textSelectionDelegate.textEditingValue;
          let data = (yield clipboard.Clipboard.getData("text/plain"));
          if (data != null) {
            this.textSelectionDelegate.textEditingValue = new text_input.TextEditingValue.new({text: dart.notNull(value.selection.textBefore(value.text)) + dart.notNull(data.text) + dart.notNull(value.selection.textAfter(value.text)), selection: new text_editing.TextSelection.collapsed({offset: dart.notNull(value.selection.start) + data.text.length})});
          }
          return;
        }
        if (dart.equals(key, keyboard_key.LogicalKeyboardKey.keyA)) {
          this[_handleSelectionChange](this.selection.copyWith({baseOffset: 0, extentOffset: this.textSelectionDelegate.textEditingValue.text.length}), editable.SelectionChangedCause.keyboard);
          return;
        }
      }).bind(this));
    }
    [_handleDelete]() {
      if (this.selection.textAfter(this[_plainText])[$isNotEmpty]) {
        this.textSelectionDelegate.textEditingValue = new text_input.TextEditingValue.new({text: dart.notNull(this.selection.textBefore(this[_plainText])) + this.selection.textAfter(this[_plainText])[$substring](1), selection: new text_editing.TextSelection.collapsed({offset: this.selection.start})});
      } else {
        this.textSelectionDelegate.textEditingValue = new text_input.TextEditingValue.new({text: this.selection.textBefore(this[_plainText]), selection: new text_editing.TextSelection.collapsed({offset: this.selection.start})});
      }
    }
    markNeedsTextLayout() {
      this[_textLayoutLastMaxWidth] = null;
      this[_textLayoutLastMinWidth] = null;
      this.markNeedsLayout();
    }
    systemFontsDidChange() {
      super.systemFontsDidChange();
      this[_textPainter$].markNeedsLayout();
      this[_textLayoutLastMaxWidth] = null;
      this[_textLayoutLastMinWidth] = null;
    }
    get [_plainText]() {
      this[_cachedPlainText] == null ? this[_cachedPlainText] = this[_textPainter$].text.toPlainText() : null;
      return this[_cachedPlainText];
    }
    get text() {
      return text_span.TextSpan.as(this[_textPainter$].text);
    }
    set text(value) {
      if (dart.equals(this[_textPainter$].text, value)) return;
      this[_textPainter$].text = value;
      this[_cachedPlainText] = null;
      this.markNeedsTextLayout();
      this.markNeedsSemanticsUpdate();
    }
    get textAlign() {
      return this[_textPainter$].textAlign;
    }
    set textAlign(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 758, 12, "value != null");
      if (dart.equals(this[_textPainter$].textAlign, value)) return;
      this[_textPainter$].textAlign = value;
      this.markNeedsTextLayout();
    }
    get textDirection() {
      return this[_textPainter$].textDirection;
    }
    set textDirection(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 780, 12, "value != null");
      if (dart.equals(this[_textPainter$].textDirection, value)) return;
      this[_textPainter$].textDirection = value;
      this.markNeedsTextLayout();
      this.markNeedsSemanticsUpdate();
    }
    get locale() {
      return this[_textPainter$].locale;
    }
    set locale(value) {
      if (dart.equals(this[_textPainter$].locale, value)) return;
      this[_textPainter$].locale = value;
      this.markNeedsTextLayout();
    }
    get strutStyle() {
      return this[_textPainter$].strutStyle;
    }
    set strutStyle(value) {
      if (dart.equals(this[_textPainter$].strutStyle, value)) return;
      this[_textPainter$].strutStyle = value;
      this.markNeedsTextLayout();
    }
    get cursorColor() {
      return this[_cursorColor];
    }
    set cursorColor(value) {
      if (dart.equals(this[_cursorColor], value)) return;
      this[_cursorColor] = value;
      this.markNeedsPaint();
    }
    get backgroundCursorColor() {
      return this[_backgroundCursorColor];
    }
    set backgroundCursorColor(value) {
      if (dart.equals(this.backgroundCursorColor, value)) return;
      this[_backgroundCursorColor] = value;
      this.markNeedsPaint();
    }
    get showCursor() {
      return this[_showCursor];
    }
    set showCursor(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 843, 12, "value != null");
      if (dart.equals(this[_showCursor], value)) return;
      if (dart.test(this.attached)) this[_showCursor].removeListener(dart.bind(this, 'markNeedsPaint'));
      this[_showCursor] = value;
      if (dart.test(this.attached)) this[_showCursor].addListener(dart.bind(this, 'markNeedsPaint'));
      this.markNeedsPaint();
    }
    get hasFocus() {
      return this[_hasFocus];
    }
    set hasFocus(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 859, 12, "value != null");
      if (dart.equals(this[_hasFocus], value)) return;
      this[_hasFocus] = value;
      if (dart.test(this[_hasFocus])) {
        if (!!dart.test(this[_listenerAttached])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 864, 14, "!_listenerAttached");
        raw_keyboard.RawKeyboard.instance.addListener(dart.bind(this, _handleKeyEvent));
        this[_listenerAttached] = true;
      } else {
        if (!dart.test(this[_listenerAttached])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 868, 14, "_listenerAttached");
        raw_keyboard.RawKeyboard.instance.removeListener(dart.bind(this, _handleKeyEvent));
        this[_listenerAttached] = false;
      }
      this.markNeedsSemanticsUpdate();
    }
    get forceLine() {
      return this[_forceLine];
    }
    set forceLine(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 879, 12, "value != null");
      if (dart.equals(this[_forceLine], value)) return;
      this[_forceLine] = value;
      this.markNeedsLayout();
    }
    get readOnly() {
      return this[_readOnly$];
    }
    set readOnly(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 890, 12, "value != null");
      if (dart.equals(this[_readOnly$], value)) return;
      this[_readOnly$] = value;
      this.markNeedsSemanticsUpdate();
    }
    get maxLines() {
      return this[_maxLines];
    }
    set maxLines(value) {
      if (!(value == null || dart.notNull(value) > 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 911, 12, "value == null || value > 0");
      if (this.maxLines == value) return;
      this[_maxLines] = value;
      this.markNeedsTextLayout();
    }
    get minLines() {
      return this[_minLines];
    }
    set minLines(value) {
      if (!(value == null || dart.notNull(value) > 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 923, 12, "value == null || value > 0");
      if (this.minLines == value) return;
      this[_minLines] = value;
      this.markNeedsTextLayout();
    }
    get expands() {
      return this[_expands];
    }
    set expands(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 934, 12, "value != null");
      if (dart.equals(this.expands, value)) return;
      this[_expands] = value;
      this.markNeedsTextLayout();
    }
    get selectionColor() {
      return this[_selectionColor];
    }
    set selectionColor(value) {
      if (dart.equals(this[_selectionColor], value)) return;
      this[_selectionColor] = value;
      this.markNeedsPaint();
    }
    get textScaleFactor() {
      return this[_textPainter$].textScaleFactor;
    }
    set textScaleFactor(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 957, 12, "value != null");
      if (this[_textPainter$].textScaleFactor == value) return;
      this[_textPainter$].textScaleFactor = value;
      this.markNeedsTextLayout();
    }
    get selection() {
      return this[_selection];
    }
    set selection(value) {
      if (dart.equals(this[_selection], value)) return;
      this[_selection] = value;
      this[_selectionRects] = null;
      this.markNeedsPaint();
      this.markNeedsSemanticsUpdate();
    }
    get offset() {
      return this[_offset$1];
    }
    set offset(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 986, 12, "value != null");
      if (dart.equals(this[_offset$1], value)) return;
      if (dart.test(this.attached)) this[_offset$1].removeListener(dart.bind(this, 'markNeedsPaint'));
      this[_offset$1] = value;
      if (dart.test(this.attached)) this[_offset$1].addListener(dart.bind(this, 'markNeedsPaint'));
      this.markNeedsLayout();
    }
    get cursorWidth() {
      return this[_cursorWidth];
    }
    set cursorWidth(value) {
      if (this[_cursorWidth] == value) return;
      this[_cursorWidth] = value;
      this.markNeedsLayout();
    }
    get paintCursorAboveText() {
      return this[_paintCursorOnTop];
    }
    set paintCursorAboveText(value) {
      if (dart.equals(this[_paintCursorOnTop], value)) return;
      this[_paintCursorOnTop] = value;
      this.markNeedsLayout();
    }
    get cursorOffset() {
      return this[_cursorOffset];
    }
    set cursorOffset(value) {
      if (dart.equals(this[_cursorOffset], value)) return;
      this[_cursorOffset] = value;
      this.markNeedsLayout();
    }
    get cursorRadius() {
      return this[_cursorRadius];
    }
    set cursorRadius(value) {
      if (dart.equals(this[_cursorRadius], value)) return;
      this[_cursorRadius] = value;
      this.markNeedsPaint();
    }
    get startHandleLayerLink() {
      return this[_startHandleLayerLink];
    }
    set startHandleLayerLink(value) {
      if (dart.equals(this[_startHandleLayerLink], value)) return;
      this[_startHandleLayerLink] = value;
      this.markNeedsPaint();
    }
    get endHandleLayerLink() {
      return this[_endHandleLayerLink];
    }
    set endHandleLayerLink(value) {
      if (dart.equals(this[_endHandleLayerLink], value)) return;
      this[_endHandleLayerLink] = value;
      this.markNeedsPaint();
    }
    get floatingCursorAddedMargin() {
      return this[_floatingCursorAddedMargin];
    }
    set floatingCursorAddedMargin(value) {
      if (dart.equals(this[_floatingCursorAddedMargin], value)) return;
      this[_floatingCursorAddedMargin] = value;
      this.markNeedsPaint();
    }
    get enableInteractiveSelection() {
      return this[_enableInteractiveSelection];
    }
    set enableInteractiveSelection(value) {
      if (dart.equals(this[_enableInteractiveSelection], value)) return;
      this[_enableInteractiveSelection] = value;
      this.markNeedsTextLayout();
      this.markNeedsSemanticsUpdate();
    }
    get selectionEnabled() {
      let t31;
      t31 = this.enableInteractiveSelection;
      return t31 == null ? !dart.test(this.obscureText) : t31;
    }
    get maxScrollExtent() {
      return this[_maxScrollExtent$];
    }
    get [_caretMargin]() {
      return 1 + dart.notNull(this.cursorWidth);
    }
    describeSemanticsConfiguration(config) {
      let t31, t31$, t31$0, t31$1;
      super.describeSemanticsConfiguration(config);
      t31 = config;
      t31.value = dart.test(this.obscureText) ? "•"[$times](this[_plainText].length) : this[_plainText];
      t31.isObscured = this.obscureText;
      t31.isMultiline = this[_isMultiline];
      t31.textDirection = this.textDirection;
      t31.isFocused = this.hasFocus;
      t31.isTextField = true;
      t31.isReadOnly = this.readOnly;
      t31;
      if (dart.test(this.hasFocus) && dart.test(this.selectionEnabled)) config.onSetSelection = dart.bind(this, _handleSetSelection);
      if (dart.test(this.selectionEnabled) && dart.equals((t31$ = this[_selection], t31$ == null ? null : t31$.isValid), true)) {
        config.textSelection = this[_selection];
        if (this[_textPainter$].getOffsetBefore(this[_selection].extentOffset) != null) {
          t31$0 = config;
          t31$0.onMoveCursorBackwardByWord = dart.bind(this, _handleMoveCursorBackwardByWord);
          t31$0.onMoveCursorBackwardByCharacter = dart.bind(this, _handleMoveCursorBackwardByCharacter);
          t31$0;
        }
        if (this[_textPainter$].getOffsetAfter(this[_selection].extentOffset) != null) {
          t31$1 = config;
          t31$1.onMoveCursorForwardByWord = dart.bind(this, _handleMoveCursorForwardByWord);
          t31$1.onMoveCursorForwardByCharacter = dart.bind(this, _handleMoveCursorForwardByCharacter);
          t31$1;
        }
      }
    }
    [_handleSetSelection](selection) {
      this[_handleSelectionChange](selection, editable.SelectionChangedCause.keyboard);
    }
    [_handleMoveCursorForwardByCharacter](extentSelection) {
      let extentOffset = this[_textPainter$].getOffsetAfter(this[_selection].extentOffset);
      if (extentOffset == null) return;
      let baseOffset = !dart.test(extentSelection) ? extentOffset : this[_selection].baseOffset;
      this[_handleSelectionChange](new text_editing.TextSelection.new({baseOffset: baseOffset, extentOffset: extentOffset}), editable.SelectionChangedCause.keyboard);
    }
    [_handleMoveCursorBackwardByCharacter](extentSelection) {
      let extentOffset = this[_textPainter$].getOffsetBefore(this[_selection].extentOffset);
      if (extentOffset == null) return;
      let baseOffset = !dart.test(extentSelection) ? extentOffset : this[_selection].baseOffset;
      this[_handleSelectionChange](new text_editing.TextSelection.new({baseOffset: baseOffset, extentOffset: extentOffset}), editable.SelectionChangedCause.keyboard);
    }
    [_handleMoveCursorForwardByWord](extentSelection) {
      let currentWord = this[_textPainter$].getWordBoundary(this[_selection].extent);
      if (currentWord == null) return;
      let nextWord = this[_getNextWord](currentWord.end);
      if (nextWord == null) return;
      let baseOffset = dart.test(extentSelection) ? this[_selection].baseOffset : nextWord.start;
      this[_handleSelectionChange](new text_editing.TextSelection.new({baseOffset: baseOffset, extentOffset: nextWord.start}), editable.SelectionChangedCause.keyboard);
    }
    [_handleMoveCursorBackwardByWord](extentSelection) {
      let currentWord = this[_textPainter$].getWordBoundary(this[_selection].extent);
      if (currentWord == null) return;
      let previousWord = this[_getPreviousWord](dart.notNull(currentWord.start) - 1);
      if (previousWord == null) return;
      let baseOffset = dart.test(extentSelection) ? this[_selection].baseOffset : previousWord.start;
      this[_handleSelectionChange](new text_editing.TextSelection.new({baseOffset: baseOffset, extentOffset: previousWord.start}), editable.SelectionChangedCause.keyboard);
    }
    [_getNextWord](offset) {
      while (true) {
        let range = this[_textPainter$].getWordBoundary(new ui.TextPosition.new({offset: offset}));
        if (range == null || !dart.test(range.isValid) || dart.test(range.isCollapsed)) return null;
        if (!dart.test(this[_onlyWhitespace](range))) return range;
        offset = range.end;
      }
    }
    [_getPreviousWord](offset) {
      while (dart.notNull(offset) >= 0) {
        let range = this[_textPainter$].getWordBoundary(new ui.TextPosition.new({offset: offset}));
        if (range == null || !dart.test(range.isValid) || dart.test(range.isCollapsed)) return null;
        if (!dart.test(this[_onlyWhitespace](range))) return range;
        offset = dart.notNull(range.start) - 1;
      }
      return null;
    }
    [_onlyWhitespace](range) {
      for (let i = range.start; dart.notNull(i) < dart.notNull(range.end); i = dart.notNull(i) + 1) {
        let codeUnit = this.text.codeUnitAt(i);
        if (!dart.test(editable._isWhitespace(codeUnit))) {
          return false;
        }
      }
      return true;
    }
    attach(owner) {
      let t31, t31$;
      object$.PipelineOwner._check(owner);
      super.attach(owner);
      this[_tap] = (t31 = new tap.TapGestureRecognizer.new({debugOwner: this}), t31.onTapDown = dart.bind(this, _handleTapDown), t31.onTap = dart.bind(this, _handleTap), t31);
      this[_longPress] = (t31$ = new long_press.LongPressGestureRecognizer.new({debugOwner: this}), t31$.onLongPress = dart.bind(this, _handleLongPress), t31$);
      this[_offset$1].addListener(dart.bind(this, 'markNeedsPaint'));
      this[_showCursor].addListener(dart.bind(this, 'markNeedsPaint'));
    }
    detach() {
      this[_tap].dispose();
      this[_longPress].dispose();
      this[_offset$1].removeListener(dart.bind(this, 'markNeedsPaint'));
      this[_showCursor].removeListener(dart.bind(this, 'markNeedsPaint'));
      if (dart.test(this[_listenerAttached])) raw_keyboard.RawKeyboard.instance.removeListener(dart.bind(this, _handleKeyEvent));
      super.detach();
    }
    get [_isMultiline]() {
      return this.maxLines !== 1;
    }
    get [_viewportAxis]() {
      return dart.test(this[_isMultiline]) ? basic_types$.Axis.vertical : basic_types$.Axis.horizontal;
    }
    get [_paintOffset]() {
      switch (this[_viewportAxis]) {
        case C30 || CT.C30:
        {
          return new ui.Offset.new(-dart.notNull(this.offset.pixels), 0.0);
        }
        case C31 || CT.C31:
        {
          return new ui.Offset.new(0.0, -dart.notNull(this.offset.pixels));
        }
      }
      return null;
    }
    get [_viewportExtent]() {
      if (!dart.test(this.hasSize)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 1299, 12, "hasSize");
      switch (this[_viewportAxis]) {
        case C30 || CT.C30:
        {
          return this.size.width;
        }
        case C31 || CT.C31:
        {
          return this.size.height;
        }
      }
      return null;
    }
    [_getMaxScrollExtent](contentSize) {
      if (!dart.test(this.hasSize)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 1310, 12, "hasSize");
      switch (this[_viewportAxis]) {
        case C30 || CT.C30:
        {
          return math.max(core.double, 0.0, dart.notNull(contentSize.width) - dart.notNull(this.size.width));
        }
        case C31 || CT.C31:
        {
          return math.max(core.double, 0.0, dart.notNull(contentSize.height) - dart.notNull(this.size.height));
        }
      }
      return null;
    }
    get [_hasVisualOverflow$3]() {
      return dart.notNull(this[_maxScrollExtent$]) > 0 || !dart.equals(this[_paintOffset], ui.Offset.zero);
    }
    getEndpointsForSelection(selection) {
      if (!(this.constraints != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 1337, 12, "constraints != null");
      this[_layoutText$]({minWidth: this.constraints.minWidth, maxWidth: this.constraints.maxWidth});
      let paintOffset = this[_paintOffset];
      if (dart.test(selection.isCollapsed)) {
        let caretOffset = this[_textPainter$].getOffsetForCaret(selection.extent, this[_caretPrototype]);
        let start = new ui.Offset.new(0.0, this.preferredLineHeight)['+'](caretOffset)['+'](paintOffset);
        return JSArrayOfTextSelectionPoint().of([new editable.TextSelectionPoint.new(start, null)]);
      } else {
        let boxes = this[_textPainter$].getBoxesForSelection(selection);
        let start = new ui.Offset.new(boxes[$first].start, boxes[$first].bottom)['+'](paintOffset);
        let end = new ui.Offset.new(boxes[$last].end, boxes[$last].bottom)['+'](paintOffset);
        return JSArrayOfTextSelectionPoint().of([new editable.TextSelectionPoint.new(start, boxes[$first].direction), new editable.TextSelectionPoint.new(end, boxes[$last].direction)]);
      }
    }
    getPositionForPoint(globalPosition) {
      this[_layoutText$]({minWidth: this.constraints.minWidth, maxWidth: this.constraints.maxWidth});
      globalPosition = globalPosition['+'](this[_paintOffset]._negate());
      return this[_textPainter$].getPositionForOffset(this.globalToLocal(globalPosition));
    }
    getLocalRectForCaret(caretPosition) {
      this[_layoutText$]({minWidth: this.constraints.minWidth, maxWidth: this.constraints.maxWidth});
      let caretOffset = this[_textPainter$].getOffsetForCaret(caretPosition, this[_caretPrototype]);
      let rect = new ui.Rect.fromLTWH(0.0, 0.0, this.cursorWidth, this.preferredLineHeight).shift(caretOffset['+'](this[_paintOffset]));
      if (this[_cursorOffset] != null) rect = rect.shift(this[_cursorOffset]);
      return rect.shift(this[_getPixelPerfectCursorOffset](rect));
    }
    computeMinIntrinsicWidth(height) {
      this[_layoutText$]({maxWidth: 1 / 0});
      return this[_textPainter$].minIntrinsicWidth;
    }
    computeMaxIntrinsicWidth(height) {
      this[_layoutText$]({maxWidth: 1 / 0});
      return dart.notNull(this[_textPainter$].maxIntrinsicWidth) + dart.notNull(this.cursorWidth);
    }
    get preferredLineHeight() {
      return this[_textPainter$].preferredLineHeight;
    }
    [_preferredHeight](width) {
      let lockedMax = this.maxLines != null && this.minLines == null;
      let lockedBoth = this.minLines != null && this.minLines == this.maxLines;
      let singleLine = this.maxLines === 1;
      if (singleLine || lockedMax || lockedBoth) {
        return dart.notNull(this.preferredLineHeight) * dart.notNull(this.maxLines);
      }
      let minLimited = this.minLines != null && dart.notNull(this.minLines) > 1;
      let maxLimited = this.maxLines != null;
      if (minLimited || maxLimited) {
        this[_layoutText$]({maxWidth: width});
        if (minLimited && dart.notNull(this[_textPainter$].height) < dart.notNull(this.preferredLineHeight) * dart.notNull(this.minLines)) {
          return dart.notNull(this.preferredLineHeight) * dart.notNull(this.minLines);
        }
        if (maxLimited && dart.notNull(this[_textPainter$].height) > dart.notNull(this.preferredLineHeight) * dart.notNull(this.maxLines)) {
          return dart.notNull(this.preferredLineHeight) * dart.notNull(this.maxLines);
        }
      }
      if (width === 1 / 0) {
        let text = this[_plainText];
        let lines = 1;
        for (let index = 0; index < text.length; index = index + 1) {
          if (text[$codeUnitAt](index) === 10) lines = lines + 1;
        }
        return dart.notNull(this.preferredLineHeight) * lines;
      }
      this[_layoutText$]({maxWidth: width});
      return math.max(core.double, this.preferredLineHeight, this[_textPainter$].height);
    }
    computeMinIntrinsicHeight(width) {
      return this[_preferredHeight](width);
    }
    computeMaxIntrinsicHeight(width) {
      return this[_preferredHeight](width);
    }
    computeDistanceToActualBaseline(baseline) {
      this[_layoutText$]({minWidth: this.constraints.minWidth, maxWidth: this.constraints.maxWidth});
      return this[_textPainter$].computeDistanceToActualBaseline(baseline);
    }
    hitTestSelf(position) {
      return true;
    }
    handleEvent(event, entry) {
      box.BoxHitTestEntry._check(entry);
      if (dart.test(this.ignorePointer)) return;
      if (!dart.test(this.debugHandleEvent(event, entry))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 1473, 12, "debugHandleEvent(event, entry)");
      if (events.PointerDownEvent.is(event) && this.onSelectionChanged != null) {
        this[_tap].addPointer(event);
        this[_longPress].addPointer(event);
      }
    }
    handleTapDown(details) {
      this[_lastTapDownPosition] = details.globalPosition;
    }
    [_handleTapDown](details) {
      if (!!dart.test(this.ignorePointer)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 1492, 12, "!ignorePointer");
      this.handleTapDown(details);
    }
    handleTap() {
      this.selectPosition({cause: editable.SelectionChangedCause.tap});
    }
    [_handleTap]() {
      if (!!dart.test(this.ignorePointer)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 1506, 12, "!ignorePointer");
      this.handleTap();
    }
    handleDoubleTap() {
      this.selectWord({cause: editable.SelectionChangedCause.doubleTap});
    }
    handleLongPress() {
      this.selectWord({cause: editable.SelectionChangedCause.longPress});
    }
    [_handleLongPress]() {
      if (!!dart.test(this.ignorePointer)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 1530, 12, "!ignorePointer");
      this.handleLongPress();
    }
    selectPosition(opts) {
      let cause = opts && 'cause' in opts ? opts.cause : null;
      this.selectPositionAt({from: this[_lastTapDownPosition], cause: cause});
    }
    selectPositionAt(opts) {
      let from = opts && 'from' in opts ? opts.from : null;
      let to = opts && 'to' in opts ? opts.to : null;
      let cause = opts && 'cause' in opts ? opts.cause : null;
      if (!(cause != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 1550, 12, "cause != null");
      if (!(from != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 1551, 12, "from != null");
      this[_layoutText$]({minWidth: this.constraints.minWidth, maxWidth: this.constraints.maxWidth});
      if (this.onSelectionChanged == null) {
        return;
      }
      let fromPosition = this[_textPainter$].getPositionForOffset(this.globalToLocal(from['-'](this[_paintOffset])));
      let toPosition = to == null ? null : this[_textPainter$].getPositionForOffset(this.globalToLocal(to['-'](this[_paintOffset])));
      let baseOffset = fromPosition.offset;
      let extentOffset = fromPosition.offset;
      if (toPosition != null) {
        baseOffset = math.min(core.int, fromPosition.offset, toPosition.offset);
        extentOffset = math.max(core.int, fromPosition.offset, toPosition.offset);
      }
      let newSelection = new text_editing.TextSelection.new({baseOffset: baseOffset, extentOffset: extentOffset, affinity: fromPosition.affinity});
      this[_handleSelectionChange](newSelection, cause);
    }
    selectWord(opts) {
      let cause = opts && 'cause' in opts ? opts.cause : null;
      this.selectWordsInRange({from: this[_lastTapDownPosition], cause: cause});
    }
    selectWordsInRange(opts) {
      let from = opts && 'from' in opts ? opts.from : null;
      let to = opts && 'to' in opts ? opts.to : null;
      let cause = opts && 'cause' in opts ? opts.cause : null;
      if (!(cause != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 1591, 12, "cause != null");
      if (!(from != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 1592, 12, "from != null");
      this[_layoutText$]({minWidth: this.constraints.minWidth, maxWidth: this.constraints.maxWidth});
      if (this.onSelectionChanged == null) {
        return;
      }
      let firstPosition = this[_textPainter$].getPositionForOffset(this.globalToLocal(from['-'](this[_paintOffset])));
      let firstWord = this[_selectWordAtOffset](firstPosition);
      let lastWord = to == null ? firstWord : this[_selectWordAtOffset](this[_textPainter$].getPositionForOffset(this.globalToLocal(to['-'](this[_paintOffset]))));
      this[_handleSelectionChange](new text_editing.TextSelection.new({baseOffset: firstWord.base.offset, extentOffset: lastWord.extent.offset, affinity: firstWord.affinity}), cause);
    }
    selectWordEdge(opts) {
      let cause = opts && 'cause' in opts ? opts.cause : null;
      if (!(cause != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 1616, 12, "cause != null");
      this[_layoutText$]({minWidth: this.constraints.minWidth, maxWidth: this.constraints.maxWidth});
      if (!(this[_lastTapDownPosition] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 1618, 12, "_lastTapDownPosition != null");
      if (this.onSelectionChanged == null) {
        return;
      }
      let position = this[_textPainter$].getPositionForOffset(this.globalToLocal(this[_lastTapDownPosition]['-'](this[_paintOffset])));
      let word = this[_textPainter$].getWordBoundary(position);
      if (dart.notNull(position.offset) - dart.notNull(word.start) <= 1) {
        this[_handleSelectionChange](new text_editing.TextSelection.collapsed({offset: word.start, affinity: ui.TextAffinity.downstream}), cause);
      } else {
        this[_handleSelectionChange](new text_editing.TextSelection.collapsed({offset: word.end, affinity: ui.TextAffinity.upstream}), cause);
      }
    }
    [_selectWordAtOffset](position) {
      if (!(this[_textLayoutLastMaxWidth] == this.constraints.maxWidth && this[_textLayoutLastMinWidth] == this.constraints.minWidth)) dart.assertFailed("Last width (" + dart.str(this[_textLayoutLastMinWidth]) + ", " + dart.str(this[_textLayoutLastMaxWidth]) + ") not the same as max width constraint (" + dart.str(this.constraints.minWidth) + ", " + dart.str(this.constraints.maxWidth) + ").", "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 1638, 12, "_textLayoutLastMaxWidth == constraints.maxWidth &&\r\n           _textLayoutLastMinWidth == constraints.minWidth");
      let word = this[_textPainter$].getWordBoundary(position);
      if (dart.notNull(position.offset) >= dart.notNull(word.end)) return new text_editing.TextSelection.fromPosition(position);
      if (dart.test(this.obscureText)) {
        return new text_editing.TextSelection.new({baseOffset: 0, extentOffset: this[_plainText].length});
      }
      return new text_editing.TextSelection.new({baseOffset: word.start, extentOffset: word.end});
    }
    [_selectLineAtOffset](position) {
      if (!(this[_textLayoutLastMaxWidth] == this.constraints.maxWidth && this[_textLayoutLastMinWidth] == this.constraints.minWidth)) dart.assertFailed("Last width (" + dart.str(this[_textLayoutLastMinWidth]) + ", " + dart.str(this[_textLayoutLastMaxWidth]) + ") not the same as max width constraint (" + dart.str(this.constraints.minWidth) + ", " + dart.str(this.constraints.maxWidth) + ").", "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 1653, 12, "_textLayoutLastMaxWidth == constraints.maxWidth &&\r\n        _textLayoutLastMinWidth == constraints.minWidth");
      let line = this[_textPainter$].getLineBoundary(position);
      if (dart.notNull(position.offset) >= dart.notNull(line.end)) return new text_editing.TextSelection.fromPosition(position);
      if (dart.test(this.obscureText)) {
        return new text_editing.TextSelection.new({baseOffset: 0, extentOffset: this[_plainText].length});
      }
      return new text_editing.TextSelection.new({baseOffset: line.start, extentOffset: line.end});
    }
    [_layoutText$](opts) {
      let minWidth = opts && 'minWidth' in opts ? opts.minWidth : 0;
      let maxWidth = opts && 'maxWidth' in opts ? opts.maxWidth : 1 / 0;
      if (!(maxWidth != null && minWidth != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 1669, 12, "maxWidth != null && minWidth != null");
      if (this[_textLayoutLastMaxWidth] == maxWidth && this[_textLayoutLastMinWidth] == minWidth) return;
      let availableMaxWidth = math.max(core.double, 0.0, dart.notNull(maxWidth) - dart.notNull(this[_caretMargin]));
      let availableMinWidth = math.min(core.double, minWidth, availableMaxWidth);
      let textMaxWidth = dart.test(this[_isMultiline]) ? availableMaxWidth : 1 / 0;
      let textMinWidth = dart.test(this.forceLine) ? availableMaxWidth : availableMinWidth;
      this[_textPainter$].layout({minWidth: textMinWidth, maxWidth: textMaxWidth});
      this[_textLayoutLastMinWidth] = minWidth;
      this[_textLayoutLastMaxWidth] = maxWidth;
    }
    get [_getCaretPrototype]() {
      if (!(platform.defaultTargetPlatform != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 1696, 12, "defaultTargetPlatform != null");
      switch (platform.defaultTargetPlatform) {
        case C18 || CT.C18:
        case C19 || CT.C19:
        {
          return new ui.Rect.fromLTWH(0.0, 0.0, this.cursorWidth, dart.notNull(this.preferredLineHeight) + 2);
        }
        case C16 || CT.C16:
        case C17 || CT.C17:
        {
          return new ui.Rect.fromLTWH(0.0, 2, this.cursorWidth, dart.notNull(this.preferredLineHeight) - 2.0 * 2);
        }
      }
      return null;
    }
    performLayout() {
      this[_layoutText$]({minWidth: this.constraints.minWidth, maxWidth: this.constraints.maxWidth});
      this[_caretPrototype] = this[_getCaretPrototype];
      this[_selectionRects] = null;
      let textPainterSize = this[_textPainter$].size;
      let width = dart.test(this.forceLine) ? this.constraints.maxWidth : this.constraints.constrainWidth(dart.notNull(this[_textPainter$].size.width) + dart.notNull(this[_caretMargin]));
      this.size = new ui.Size.new(width, this.constraints.constrainHeight(this[_preferredHeight](this.constraints.maxWidth)));
      let contentSize = new ui.Size.new(dart.notNull(textPainterSize.width) + dart.notNull(this[_caretMargin]), textPainterSize.height);
      this[_maxScrollExtent$] = this[_getMaxScrollExtent](contentSize);
      this.offset.applyViewportDimension(this[_viewportExtent]);
      this.offset.applyContentDimensions(0.0, this[_maxScrollExtent$]);
    }
    [_getPixelPerfectCursorOffset](caretRect) {
      let caretPosition = this.localToGlobal(caretRect.topLeft);
      let pixelMultiple = 1.0 / dart.notNull(this[_devicePixelRatio]);
      let quotientX = (dart.notNull(caretPosition.dx) / pixelMultiple)[$round]();
      let quotientY = (dart.notNull(caretPosition.dy) / pixelMultiple)[$round]();
      let pixelPerfectOffsetX = quotientX * pixelMultiple - dart.notNull(caretPosition.dx);
      let pixelPerfectOffsetY = quotientY * pixelMultiple - dart.notNull(caretPosition.dy);
      return new ui.Offset.new(pixelPerfectOffsetX, pixelPerfectOffsetY);
    }
    [_paintCaret](canvas, effectiveOffset, textPosition) {
      let t31;
      if (!(this[_textLayoutLastMaxWidth] == this.constraints.maxWidth && this[_textLayoutLastMinWidth] == this.constraints.minWidth)) dart.assertFailed("Last width (" + dart.str(this[_textLayoutLastMinWidth]) + ", " + dart.str(this[_textLayoutLastMaxWidth]) + ") not the same as max width constraint (" + dart.str(this.constraints.minWidth) + ", " + dart.str(this.constraints.maxWidth) + ").", "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 1741, 12, "_textLayoutLastMaxWidth == constraints.maxWidth &&\r\n           _textLayoutLastMinWidth == constraints.minWidth");
      let paint = (t31 = ui.Paint.new(), t31.color = dart.test(this[_floatingCursorOn]) ? this.backgroundCursorColor : this[_cursorColor], t31);
      let caretOffset = this[_textPainter$].getOffsetForCaret(textPosition, this[_caretPrototype])['+'](effectiveOffset);
      let caretRect = this[_caretPrototype].shift(caretOffset);
      if (this[_cursorOffset] != null) caretRect = caretRect.shift(this[_cursorOffset]);
      let caretHeight = this[_textPainter$].getFullHeightForCaret(textPosition, this[_caretPrototype]);
      if (caretHeight != null) {
        switch (platform.defaultTargetPlatform) {
          case C18 || CT.C18:
          case C19 || CT.C19:
          {
            let heightDiff = dart.notNull(caretHeight) - dart.notNull(caretRect.height);
            caretRect = new ui.Rect.fromLTWH(caretRect.left, dart.notNull(caretRect.top) + heightDiff / 2, caretRect.width, caretRect.height);
            break;
          }
          case C16 || CT.C16:
          case C17 || CT.C17:
          {
            caretRect = new ui.Rect.fromLTWH(caretRect.left, dart.notNull(caretRect.top) - 2, caretRect.width, caretHeight);
            break;
          }
        }
      }
      caretRect = caretRect.shift(this[_getPixelPerfectCursorOffset](caretRect));
      if (this.cursorRadius == null) {
        canvas.drawRect(caretRect, paint);
      } else {
        let caretRRect = new ui.RRect.fromRectAndRadius(caretRect, this.cursorRadius);
        canvas.drawRRect(caretRRect, paint);
      }
      if (!dart.equals(caretRect, this[_lastCaretRect])) {
        this[_lastCaretRect] = caretRect;
        if (this.onCaretChanged != null) this.onCaretChanged(caretRect);
      }
    }
    setFloatingCursor(state, boundedOffset, lastTextPosition, opts) {
      let resetLerpValue = opts && 'resetLerpValue' in opts ? opts.resetLerpValue : null;
      if (!(state != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 1802, 12, "state != null");
      if (!(boundedOffset != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 1803, 12, "boundedOffset != null");
      if (!(lastTextPosition != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 1804, 12, "lastTextPosition != null");
      if (dart.equals(state, text_input.FloatingCursorDragState.Start)) {
        this[_relativeOrigin] = C7 || CT.C7;
        this[_previousOffset] = null;
        this[_resetOriginOnBottom] = false;
        this[_resetOriginOnTop] = false;
        this[_resetOriginOnRight] = false;
        this[_resetOriginOnBottom] = false;
      }
      this[_floatingCursorOn] = !dart.equals(state, text_input.FloatingCursorDragState.End);
      this[_resetFloatingCursorAnimationValue] = resetLerpValue;
      if (dart.test(this[_floatingCursorOn])) {
        this[_floatingCursorOffset] = boundedOffset;
        this[_floatingCursorTextPosition] = lastTextPosition;
      }
      this.markNeedsPaint();
    }
    [_paintFloatingCaret](canvas, effectiveOffset) {
      let t31;
      if (!(this[_textLayoutLastMaxWidth] == this.constraints.maxWidth && this[_textLayoutLastMinWidth] == this.constraints.minWidth)) dart.assertFailed("Last width (" + dart.str(this[_textLayoutLastMinWidth]) + ", " + dart.str(this[_textLayoutLastMaxWidth]) + ") not the same as max width constraint (" + dart.str(this.constraints.minWidth) + ", " + dart.str(this.constraints.maxWidth) + ").", "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 1823, 12, "_textLayoutLastMaxWidth == constraints.maxWidth &&\r\n           _textLayoutLastMinWidth == constraints.minWidth");
      if (!dart.test(this[_floatingCursorOn])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 1826, 12, "_floatingCursorOn");
      let paint = (t31 = ui.Paint.new(), t31.color = this[_cursorColor].withOpacity(0.75), t31);
      let sizeAdjustmentX = editable._kFloatingCaretSizeIncrease.dx;
      let sizeAdjustmentY = editable._kFloatingCaretSizeIncrease.dy;
      if (this[_resetFloatingCursorAnimationValue] != null) {
        sizeAdjustmentX = ui.lerpDouble(sizeAdjustmentX, 0, this[_resetFloatingCursorAnimationValue]);
        sizeAdjustmentY = ui.lerpDouble(sizeAdjustmentY, 0, this[_resetFloatingCursorAnimationValue]);
      }
      let floatingCaretPrototype = new ui.Rect.fromLTRB(dart.notNull(this[_caretPrototype].left) - dart.notNull(sizeAdjustmentX), dart.notNull(this[_caretPrototype].top) - dart.notNull(sizeAdjustmentY), dart.notNull(this[_caretPrototype].right) + dart.notNull(sizeAdjustmentX), dart.notNull(this[_caretPrototype].bottom) + dart.notNull(sizeAdjustmentY));
      let caretRect = floatingCaretPrototype.shift(effectiveOffset);
      let floatingCursorRadius = C179 || CT.C179;
      let caretRRect = new ui.RRect.fromRectAndRadius(caretRect, floatingCursorRadius);
      canvas.drawRRect(caretRRect, paint);
    }
    calculateBoundedFloatingCursorOffset(rawCursorOffset) {
      let deltaPosition = C7 || CT.C7;
      let topBound = -dart.notNull(this.floatingCursorAddedMargin.top);
      let bottomBound = dart.notNull(this[_textPainter$].height) - dart.notNull(this.preferredLineHeight) + dart.notNull(this.floatingCursorAddedMargin.bottom);
      let leftBound = -dart.notNull(this.floatingCursorAddedMargin.left);
      let rightBound = dart.notNull(this[_textPainter$].width) + dart.notNull(this.floatingCursorAddedMargin.right);
      if (this[_previousOffset] != null) deltaPosition = rawCursorOffset['-'](this[_previousOffset]);
      if (dart.test(this[_resetOriginOnLeft]) && dart.notNull(deltaPosition.dx) > 0) {
        this[_relativeOrigin] = new ui.Offset.new(dart.notNull(rawCursorOffset.dx) - leftBound, this[_relativeOrigin].dy);
        this[_resetOriginOnLeft] = false;
      } else if (dart.test(this[_resetOriginOnRight]) && dart.notNull(deltaPosition.dx) < 0) {
        this[_relativeOrigin] = new ui.Offset.new(dart.notNull(rawCursorOffset.dx) - rightBound, this[_relativeOrigin].dy);
        this[_resetOriginOnRight] = false;
      }
      if (dart.test(this[_resetOriginOnTop]) && dart.notNull(deltaPosition.dy) > 0) {
        this[_relativeOrigin] = new ui.Offset.new(this[_relativeOrigin].dx, dart.notNull(rawCursorOffset.dy) - topBound);
        this[_resetOriginOnTop] = false;
      } else if (dart.test(this[_resetOriginOnBottom]) && dart.notNull(deltaPosition.dy) < 0) {
        this[_relativeOrigin] = new ui.Offset.new(this[_relativeOrigin].dx, dart.notNull(rawCursorOffset.dy) - bottomBound);
        this[_resetOriginOnBottom] = false;
      }
      let currentX = dart.notNull(rawCursorOffset.dx) - dart.notNull(this[_relativeOrigin].dx);
      let currentY = dart.notNull(rawCursorOffset.dy) - dart.notNull(this[_relativeOrigin].dy);
      let adjustedX = math.min(core.double, math.max(core.double, currentX, leftBound), rightBound);
      let adjustedY = math.min(core.double, math.max(core.double, currentY, topBound), bottomBound);
      let adjustedOffset = new ui.Offset.new(adjustedX, adjustedY);
      if (currentX < leftBound && dart.notNull(deltaPosition.dx) < 0)
        this[_resetOriginOnLeft] = true;
      else if (currentX > rightBound && dart.notNull(deltaPosition.dx) > 0) this[_resetOriginOnRight] = true;
      if (currentY < topBound && dart.notNull(deltaPosition.dy) < 0)
        this[_resetOriginOnTop] = true;
      else if (currentY > bottomBound && dart.notNull(deltaPosition.dy) > 0) this[_resetOriginOnBottom] = true;
      this[_previousOffset] = rawCursorOffset;
      return adjustedOffset;
    }
    [_paintSelection](canvas, effectiveOffset) {
      let t31;
      if (!(this[_textLayoutLastMaxWidth] == this.constraints.maxWidth && this[_textLayoutLastMinWidth] == this.constraints.minWidth)) dart.assertFailed("Last width (" + dart.str(this[_textLayoutLastMinWidth]) + ", " + dart.str(this[_textLayoutLastMaxWidth]) + ") not the same as max width constraint (" + dart.str(this.constraints.minWidth) + ", " + dart.str(this.constraints.maxWidth) + ").", "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 1912, 12, "_textLayoutLastMaxWidth == constraints.maxWidth &&\r\n           _textLayoutLastMinWidth == constraints.minWidth");
      if (!(this[_selectionRects] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 1915, 12, "_selectionRects != null");
      let paint = (t31 = ui.Paint.new(), t31.color = this[_selectionColor], t31);
      for (let box of this[_selectionRects])
        canvas.drawRect(box.toRect().shift(effectiveOffset), paint);
    }
    [_paintContents$](context, offset) {
      if (!(this[_textLayoutLastMaxWidth] == this.constraints.maxWidth && this[_textLayoutLastMinWidth] == this.constraints.minWidth)) dart.assertFailed("Last width (" + dart.str(this[_textLayoutLastMinWidth]) + ", " + dart.str(this[_textLayoutLastMaxWidth]) + ") not the same as max width constraint (" + dart.str(this.constraints.minWidth) + ", " + dart.str(this.constraints.maxWidth) + ").", "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 1922, 12, "_textLayoutLastMaxWidth == constraints.maxWidth &&\r\n           _textLayoutLastMinWidth == constraints.minWidth");
      let effectiveOffset = offset['+'](this[_paintOffset]);
      let showSelection = false;
      let showCaret = false;
      if (this[_selection] != null && !dart.test(this[_floatingCursorOn])) {
        if (dart.test(this[_selection].isCollapsed) && dart.test(this[_showCursor].value) && this.cursorColor != null)
          showCaret = true;
        else if (!dart.test(this[_selection].isCollapsed) && this[_selectionColor] != null) showSelection = true;
        this[_updateSelectionExtentsVisibility](effectiveOffset);
      }
      if (showSelection) {
        this[_selectionRects] == null ? this[_selectionRects] = this[_textPainter$].getBoxesForSelection(this[_selection]) : null;
        this[_paintSelection](context.canvas, effectiveOffset);
      }
      if (dart.test(this.paintCursorAboveText)) this[_textPainter$].paint(context.canvas, effectiveOffset);
      if (showCaret) this[_paintCaret](context.canvas, effectiveOffset, this[_selection].extent);
      if (!dart.test(this.paintCursorAboveText)) this[_textPainter$].paint(context.canvas, effectiveOffset);
      if (dart.test(this[_floatingCursorOn])) {
        if (this[_resetFloatingCursorAnimationValue] == null) this[_paintCaret](context.canvas, effectiveOffset, this[_floatingCursorTextPosition]);
        this[_paintFloatingCaret](context.canvas, this[_floatingCursorOffset]);
      }
    }
    [_paintHandleLayers](context, endpoints) {
      let startPoint = endpoints[$_get](0).point;
      startPoint = new ui.Offset.new(startPoint.dx[$clamp](0.0, this.size.width), startPoint.dy[$clamp](0.0, this.size.height));
      context.pushLayer(new layer$.LeaderLayer.new({link: this.startHandleLayerLink, offset: startPoint}), dart.bind(this, 'paint', super.paint), ui.Offset.zero);
      if (endpoints[$length] === 2) {
        let endPoint = endpoints[$_get](1).point;
        endPoint = new ui.Offset.new(endPoint.dx[$clamp](0.0, this.size.width), endPoint.dy[$clamp](0.0, this.size.height));
        context.pushLayer(new layer$.LeaderLayer.new({link: this.endHandleLayerLink, offset: endPoint}), dart.bind(this, 'paint', super.paint), ui.Offset.zero);
      }
    }
    paint(context, offset) {
      this[_layoutText$]({minWidth: this.constraints.minWidth, maxWidth: this.constraints.maxWidth});
      if (dart.test(this[_hasVisualOverflow$3]))
        context.pushClipRect(this.needsCompositing, offset, ui.Offset.zero['&'](this.size), dart.bind(this, _paintContents$));
      else
        this[_paintContents$](context, offset);
      this[_paintHandleLayers](context, this.getEndpointsForSelection(this.selection));
    }
    describeApproximatePaintClip(child) {
      object$.RenderObject._check(child);
      return dart.test(this[_hasVisualOverflow$3]) ? ui.Offset.zero['&'](this.size) : null;
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new colors.ColorProperty.new("cursorColor", this.cursorColor));
      properties.add(new (DiagnosticsPropertyOfValueNotifierOfbool()).new("showCursor", this.showCursor));
      properties.add(new diagnostics.IntProperty.new("maxLines", this.maxLines));
      properties.add(new diagnostics.IntProperty.new("minLines", this.minLines));
      properties.add(new (DiagnosticsPropertyOfbool()).new("expands", this.expands, {defaultValue: false}));
      properties.add(new colors.ColorProperty.new("selectionColor", this.selectionColor));
      properties.add(new diagnostics.DoubleProperty.new("textScaleFactor", this.textScaleFactor));
      properties.add(new (DiagnosticsPropertyOfLocale()).new("locale", this.locale, {defaultValue: null}));
      properties.add(new (DiagnosticsPropertyOfTextSelection()).new("selection", this.selection));
      properties.add(new (DiagnosticsPropertyOfViewportOffset()).new("offset", this.offset));
    }
    debugDescribeChildren() {
      return JSArrayOfDiagnosticsNode().of([this.text.toDiagnosticsNode({name: "text", style: diagnostics.DiagnosticsTreeStyle.transition})]);
    }
  };
  (editable.RenderEditable.new = function(opts) {
    let t31, t31$;
    let text = opts && 'text' in opts ? opts.text : null;
    let textDirection = opts && 'textDirection' in opts ? opts.textDirection : null;
    let textAlign = opts && 'textAlign' in opts ? opts.textAlign : C62 || CT.C62;
    let cursorColor = opts && 'cursorColor' in opts ? opts.cursorColor : null;
    let backgroundCursorColor = opts && 'backgroundCursorColor' in opts ? opts.backgroundCursorColor : null;
    let showCursor = opts && 'showCursor' in opts ? opts.showCursor : null;
    let hasFocus = opts && 'hasFocus' in opts ? opts.hasFocus : null;
    let startHandleLayerLink = opts && 'startHandleLayerLink' in opts ? opts.startHandleLayerLink : null;
    let endHandleLayerLink = opts && 'endHandleLayerLink' in opts ? opts.endHandleLayerLink : null;
    let maxLines = opts && 'maxLines' in opts ? opts.maxLines : 1;
    let minLines = opts && 'minLines' in opts ? opts.minLines : null;
    let expands = opts && 'expands' in opts ? opts.expands : false;
    let strutStyle = opts && 'strutStyle' in opts ? opts.strutStyle : null;
    let selectionColor = opts && 'selectionColor' in opts ? opts.selectionColor : null;
    let textScaleFactor = opts && 'textScaleFactor' in opts ? opts.textScaleFactor : 1;
    let selection = opts && 'selection' in opts ? opts.selection : null;
    let offset = opts && 'offset' in opts ? opts.offset : null;
    let onSelectionChanged = opts && 'onSelectionChanged' in opts ? opts.onSelectionChanged : null;
    let onCaretChanged = opts && 'onCaretChanged' in opts ? opts.onCaretChanged : null;
    let ignorePointer = opts && 'ignorePointer' in opts ? opts.ignorePointer : false;
    let readOnly = opts && 'readOnly' in opts ? opts.readOnly : false;
    let forceLine = opts && 'forceLine' in opts ? opts.forceLine : true;
    let textWidthBasis = opts && 'textWidthBasis' in opts ? opts.textWidthBasis : C63 || CT.C63;
    let obscureText = opts && 'obscureText' in opts ? opts.obscureText : false;
    let locale = opts && 'locale' in opts ? opts.locale : null;
    let cursorWidth = opts && 'cursorWidth' in opts ? opts.cursorWidth : 1;
    let cursorRadius = opts && 'cursorRadius' in opts ? opts.cursorRadius : null;
    let paintCursorAboveText = opts && 'paintCursorAboveText' in opts ? opts.paintCursorAboveText : false;
    let cursorOffset = opts && 'cursorOffset' in opts ? opts.cursorOffset : null;
    let devicePixelRatio = opts && 'devicePixelRatio' in opts ? opts.devicePixelRatio : 1;
    let enableInteractiveSelection = opts && 'enableInteractiveSelection' in opts ? opts.enableInteractiveSelection : null;
    let floatingCursorAddedMargin = opts && 'floatingCursorAddedMargin' in opts ? opts.floatingCursorAddedMargin : C178 || CT.C178;
    let textSelectionDelegate = opts && 'textSelectionDelegate' in opts ? opts.textSelectionDelegate : null;
    this[_textLayoutLastMaxWidth] = null;
    this[_textLayoutLastMinWidth] = null;
    this[_lastCaretRect] = null;
    this[_selectionStartInViewport] = new (ValueNotifierOfbool()).new(true);
    this[_selectionEndInViewport] = new (ValueNotifierOfbool()).new(true);
    this[_cursorResetLocation] = -1;
    this[_wasSelectingVerticallyWithKeyboard] = false;
    this[_cachedPlainText] = null;
    this[_hasFocus] = false;
    this[_listenerAttached] = false;
    this[_forceLine] = false;
    this[_readOnly$] = false;
    this[_selectionRects] = null;
    this[_cursorWidth] = 1.0;
    this[_floatingCursorOn] = false;
    this[_floatingCursorOffset] = null;
    this[_floatingCursorTextPosition] = null;
    this[_maxScrollExtent$] = 0.0;
    this[_tap] = null;
    this[_longPress] = null;
    this[_lastTapDownPosition] = null;
    this[_caretPrototype] = null;
    this[_relativeOrigin] = C7 || CT.C7;
    this[_previousOffset] = null;
    this[_resetOriginOnLeft] = false;
    this[_resetOriginOnRight] = false;
    this[_resetOriginOnTop] = false;
    this[_resetOriginOnBottom] = false;
    this[_resetFloatingCursorAnimationValue] = null;
    this[onSelectionChanged$] = onSelectionChanged;
    this[onCaretChanged$] = onCaretChanged;
    this[ignorePointer$] = ignorePointer;
    this[textSelectionDelegate$] = textSelectionDelegate;
    if (!(textAlign != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 214, 15, "textAlign != null");
    if (!(textDirection != null)) dart.assertFailed("RenderEditable created without a textDirection.", "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 215, 15, "textDirection != null");
    if (!(maxLines == null || dart.notNull(maxLines) > 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 216, 15, "maxLines == null || maxLines > 0");
    if (!(minLines == null || dart.notNull(minLines) > 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 217, 15, "minLines == null || minLines > 0");
    if (!(startHandleLayerLink != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 218, 15, "startHandleLayerLink != null");
    if (!(endHandleLayerLink != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 219, 15, "endHandleLayerLink != null");
    if (!(maxLines == null || minLines == null || dart.notNull(maxLines) >= dart.notNull(minLines))) dart.assertFailed("minLines can't be greater than maxLines", "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 221, 10, "(maxLines == null) || (minLines == null) || (maxLines >= minLines)");
    if (!(expands != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 224, 15, "expands != null");
    if (!(!dart.test(expands) || maxLines == null && minLines == null)) dart.assertFailed("minLines and maxLines must be null when expands is true.", "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 226, 10, "!expands || (maxLines == null && minLines == null)");
    if (!(textScaleFactor != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 229, 15, "textScaleFactor != null");
    if (!(offset != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 230, 15, "offset != null");
    if (!(ignorePointer != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 231, 15, "ignorePointer != null");
    if (!(textWidthBasis != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 232, 15, "textWidthBasis != null");
    if (!(paintCursorAboveText != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 233, 15, "paintCursorAboveText != null");
    if (!(obscureText != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 234, 15, "obscureText != null");
    if (!(textSelectionDelegate != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 235, 15, "textSelectionDelegate != null");
    if (!(cursorWidth != null && dart.notNull(cursorWidth) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 236, 15, "cursorWidth != null && cursorWidth >= 0.0");
    if (!(readOnly != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 237, 15, "readOnly != null");
    if (!(forceLine != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 238, 15, "forceLine != null");
    if (!(devicePixelRatio != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 239, 15, "devicePixelRatio != null");
    this[_textPainter$] = new text_painter.TextPainter.new({text: text, textAlign: textAlign, textDirection: textDirection, textScaleFactor: textScaleFactor, locale: locale, strutStyle: strutStyle, textWidthBasis: textWidthBasis});
    this[_cursorColor] = cursorColor;
    this[_backgroundCursorColor] = backgroundCursorColor;
    this[_showCursor] = (t31 = showCursor, t31 == null ? new (ValueNotifierOfbool()).new(false) : t31);
    this[_maxLines] = maxLines;
    this[_minLines] = minLines;
    this[_expands] = expands;
    this[_selectionColor] = selectionColor;
    this[_selection] = selection;
    this[_offset$1] = offset;
    this[_cursorWidth] = cursorWidth;
    this[_cursorRadius] = cursorRadius;
    this[_paintCursorOnTop] = paintCursorAboveText;
    this[_cursorOffset] = cursorOffset;
    this[_floatingCursorAddedMargin] = floatingCursorAddedMargin;
    this[_enableInteractiveSelection] = enableInteractiveSelection;
    this[_devicePixelRatio] = devicePixelRatio;
    this[_startHandleLayerLink] = startHandleLayerLink;
    this[_endHandleLayerLink] = endHandleLayerLink;
    this[_obscureText] = obscureText;
    this[_readOnly$] = readOnly;
    this[_forceLine] = forceLine;
    editable.RenderEditable.__proto__.new.call(this);
    if (!(this[_showCursor] != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 270, 12, "_showCursor != null");
    if (!(!dart.test(this[_showCursor].value) || cursorColor != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/editable.dart", 271, 12, "!_showCursor.value || cursorColor != null");
    this.hasFocus = (t31$ = hasFocus, t31$ == null ? false : t31$);
  }).prototype = editable.RenderEditable.prototype;
  dart.addTypeTests(editable.RenderEditable);
  dart.setMethodSignature(editable.RenderEditable, () => ({
    __proto__: dart.getMethods(editable.RenderEditable.__proto__),
    [_updateSelectionExtentsVisibility]: dart.fnType(dart.void, [ui.Offset]),
    [_handleSelectionChange]: dart.fnType(dart.void, [text_editing.TextSelection, editable.SelectionChangedCause]),
    [_handleKeyEvent]: dart.fnType(dart.void, [raw_keyboard.RawKeyEvent]),
    [_handleMovement]: dart.fnType(dart.void, [keyboard_key.LogicalKeyboardKey], {lineModifier: core.bool, shift: core.bool, wordModifier: core.bool}, {}),
    [_handleShortcuts]: dart.fnType(async.Future$(dart.void), [keyboard_key.LogicalKeyboardKey]),
    [_handleDelete]: dart.fnType(dart.void, []),
    markNeedsTextLayout: dart.fnType(dart.void, []),
    [_handleSetSelection]: dart.fnType(dart.void, [text_editing.TextSelection]),
    [_handleMoveCursorForwardByCharacter]: dart.fnType(dart.void, [core.bool]),
    [_handleMoveCursorBackwardByCharacter]: dart.fnType(dart.void, [core.bool]),
    [_handleMoveCursorForwardByWord]: dart.fnType(dart.void, [core.bool]),
    [_handleMoveCursorBackwardByWord]: dart.fnType(dart.void, [core.bool]),
    [_getNextWord]: dart.fnType(ui.TextRange, [core.int]),
    [_getPreviousWord]: dart.fnType(ui.TextRange, [core.int]),
    [_onlyWhitespace]: dart.fnType(core.bool, [ui.TextRange]),
    [_getMaxScrollExtent]: dart.fnType(core.double, [ui.Size]),
    getEndpointsForSelection: dart.fnType(core.List$(editable.TextSelectionPoint), [text_editing.TextSelection]),
    getPositionForPoint: dart.fnType(ui.TextPosition, [ui.Offset]),
    getLocalRectForCaret: dart.fnType(ui.Rect, [ui.TextPosition]),
    [_preferredHeight]: dart.fnType(core.double, [core.double]),
    handleTapDown: dart.fnType(dart.void, [tap.TapDownDetails]),
    [_handleTapDown]: dart.fnType(dart.void, [tap.TapDownDetails]),
    handleTap: dart.fnType(dart.void, []),
    [_handleTap]: dart.fnType(dart.void, []),
    handleDoubleTap: dart.fnType(dart.void, []),
    handleLongPress: dart.fnType(dart.void, []),
    [_handleLongPress]: dart.fnType(dart.void, []),
    selectPosition: dart.fnType(dart.void, [], {cause: editable.SelectionChangedCause}, {}),
    selectPositionAt: dart.fnType(dart.void, [], {cause: editable.SelectionChangedCause, from: ui.Offset, to: ui.Offset}, {}),
    selectWord: dart.fnType(dart.void, [], {cause: editable.SelectionChangedCause}, {}),
    selectWordsInRange: dart.fnType(dart.void, [], {cause: editable.SelectionChangedCause, from: ui.Offset, to: ui.Offset}, {}),
    selectWordEdge: dart.fnType(dart.void, [], {cause: editable.SelectionChangedCause}, {}),
    [_selectWordAtOffset]: dart.fnType(text_editing.TextSelection, [ui.TextPosition]),
    [_selectLineAtOffset]: dart.fnType(text_editing.TextSelection, [ui.TextPosition]),
    [_layoutText$]: dart.fnType(dart.void, [], {maxWidth: core.double, minWidth: core.double}, {}),
    [_getPixelPerfectCursorOffset]: dart.fnType(ui.Offset, [ui.Rect]),
    [_paintCaret]: dart.fnType(dart.void, [ui.Canvas, ui.Offset, ui.TextPosition]),
    setFloatingCursor: dart.fnType(dart.void, [text_input.FloatingCursorDragState, ui.Offset, ui.TextPosition], {resetLerpValue: core.double}, {}),
    [_paintFloatingCaret]: dart.fnType(dart.void, [ui.Canvas, ui.Offset]),
    calculateBoundedFloatingCursorOffset: dart.fnType(ui.Offset, [ui.Offset]),
    [_paintSelection]: dart.fnType(dart.void, [ui.Canvas, ui.Offset]),
    [_paintContents$]: dart.fnType(dart.void, [object$.PaintingContext, ui.Offset]),
    [_paintHandleLayers]: dart.fnType(dart.void, [object$.PaintingContext, core.List$(editable.TextSelectionPoint)])
  }));
  dart.setGetterSignature(editable.RenderEditable, () => ({
    __proto__: dart.getGetters(editable.RenderEditable.__proto__),
    textWidthBasis: text_painter.TextWidthBasis,
    devicePixelRatio: core.double,
    obscureText: core.bool,
    selectionStartInViewport: change_notifier.ValueListenable$(core.bool),
    selectionEndInViewport: change_notifier.ValueListenable$(core.bool),
    [_plainText]: core.String,
    text: text_span.TextSpan,
    textAlign: ui.TextAlign,
    textDirection: ui.TextDirection,
    locale: ui.Locale,
    strutStyle: strut_style.StrutStyle,
    cursorColor: ui.Color,
    backgroundCursorColor: ui.Color,
    showCursor: change_notifier.ValueNotifier$(core.bool),
    hasFocus: core.bool,
    forceLine: core.bool,
    readOnly: core.bool,
    maxLines: core.int,
    minLines: core.int,
    expands: core.bool,
    selectionColor: ui.Color,
    textScaleFactor: core.double,
    selection: text_editing.TextSelection,
    offset: viewport_offset.ViewportOffset,
    cursorWidth: core.double,
    paintCursorAboveText: core.bool,
    cursorOffset: ui.Offset,
    cursorRadius: ui.Radius,
    startHandleLayerLink: layer$.LayerLink,
    endHandleLayerLink: layer$.LayerLink,
    floatingCursorAddedMargin: edge_insets.EdgeInsets,
    enableInteractiveSelection: core.bool,
    selectionEnabled: core.bool,
    maxScrollExtent: core.double,
    [_caretMargin]: core.double,
    [_isMultiline]: core.bool,
    [_viewportAxis]: basic_types$.Axis,
    [_paintOffset]: ui.Offset,
    [_viewportExtent]: core.double,
    [_hasVisualOverflow$3]: core.bool,
    preferredLineHeight: core.double,
    [_getCaretPrototype]: ui.Rect
  }));
  dart.setSetterSignature(editable.RenderEditable, () => ({
    __proto__: dart.getSetters(editable.RenderEditable.__proto__),
    textWidthBasis: text_painter.TextWidthBasis,
    devicePixelRatio: core.double,
    obscureText: core.bool,
    text: text_span.TextSpan,
    textAlign: ui.TextAlign,
    textDirection: ui.TextDirection,
    locale: ui.Locale,
    strutStyle: strut_style.StrutStyle,
    cursorColor: ui.Color,
    backgroundCursorColor: ui.Color,
    showCursor: change_notifier.ValueNotifier$(core.bool),
    hasFocus: core.bool,
    forceLine: core.bool,
    readOnly: core.bool,
    maxLines: core.int,
    minLines: core.int,
    expands: core.bool,
    selectionColor: ui.Color,
    textScaleFactor: core.double,
    selection: text_editing.TextSelection,
    offset: viewport_offset.ViewportOffset,
    cursorWidth: core.double,
    paintCursorAboveText: core.bool,
    cursorOffset: ui.Offset,
    cursorRadius: ui.Radius,
    startHandleLayerLink: layer$.LayerLink,
    endHandleLayerLink: layer$.LayerLink,
    floatingCursorAddedMargin: edge_insets.EdgeInsets,
    enableInteractiveSelection: core.bool
  }));
  dart.setLibraryUri(editable.RenderEditable, "package:flutter/src/rendering/editable.dart");
  dart.setFieldSignature(editable.RenderEditable, () => ({
    __proto__: dart.getFields(editable.RenderEditable.__proto__),
    onSelectionChanged: dart.fieldType(dart.fnType(dart.void, [text_editing.TextSelection, editable.RenderEditable, editable.SelectionChangedCause])),
    [_textLayoutLastMaxWidth]: dart.fieldType(core.double),
    [_textLayoutLastMinWidth]: dart.fieldType(core.double),
    onCaretChanged: dart.fieldType(dart.fnType(dart.void, [ui.Rect])),
    ignorePointer: dart.fieldType(core.bool),
    [_devicePixelRatio]: dart.fieldType(core.double),
    [_obscureText]: dart.fieldType(core.bool),
    textSelectionDelegate: dart.fieldType(text_input.TextSelectionDelegate),
    [_lastCaretRect]: dart.fieldType(ui.Rect),
    [_selectionStartInViewport]: dart.finalFieldType(change_notifier.ValueNotifier$(core.bool)),
    [_selectionEndInViewport]: dart.finalFieldType(change_notifier.ValueNotifier$(core.bool)),
    [_cursorResetLocation]: dart.fieldType(core.int),
    [_wasSelectingVerticallyWithKeyboard]: dart.fieldType(core.bool),
    [_cachedPlainText]: dart.fieldType(core.String),
    [_textPainter$]: dart.finalFieldType(text_painter.TextPainter),
    [_cursorColor]: dart.fieldType(ui.Color),
    [_backgroundCursorColor]: dart.fieldType(ui.Color),
    [_showCursor]: dart.fieldType(change_notifier.ValueNotifier$(core.bool)),
    [_hasFocus]: dart.fieldType(core.bool),
    [_listenerAttached]: dart.fieldType(core.bool),
    [_forceLine]: dart.fieldType(core.bool),
    [_readOnly$]: dart.fieldType(core.bool),
    [_maxLines]: dart.fieldType(core.int),
    [_minLines]: dart.fieldType(core.int),
    [_expands]: dart.fieldType(core.bool),
    [_selectionColor]: dart.fieldType(ui.Color),
    [_selectionRects]: dart.fieldType(core.List$(ui.TextBox)),
    [_selection]: dart.fieldType(text_editing.TextSelection),
    [_offset$1]: dart.fieldType(viewport_offset.ViewportOffset),
    [_cursorWidth]: dart.fieldType(core.double),
    [_paintCursorOnTop]: dart.fieldType(core.bool),
    [_cursorOffset]: dart.fieldType(ui.Offset),
    [_cursorRadius]: dart.fieldType(ui.Radius),
    [_startHandleLayerLink]: dart.fieldType(layer$.LayerLink),
    [_endHandleLayerLink]: dart.fieldType(layer$.LayerLink),
    [_floatingCursorAddedMargin]: dart.fieldType(edge_insets.EdgeInsets),
    [_floatingCursorOn]: dart.fieldType(core.bool),
    [_floatingCursorOffset]: dart.fieldType(ui.Offset),
    [_floatingCursorTextPosition]: dart.fieldType(ui.TextPosition),
    [_enableInteractiveSelection]: dart.fieldType(core.bool),
    [_maxScrollExtent$]: dart.fieldType(core.double),
    [_tap]: dart.fieldType(tap.TapGestureRecognizer),
    [_longPress]: dart.fieldType(long_press.LongPressGestureRecognizer),
    [_lastTapDownPosition]: dart.fieldType(ui.Offset),
    [_caretPrototype]: dart.fieldType(ui.Rect),
    [_relativeOrigin]: dart.fieldType(ui.Offset),
    [_previousOffset]: dart.fieldType(ui.Offset),
    [_resetOriginOnLeft]: dart.fieldType(core.bool),
    [_resetOriginOnRight]: dart.fieldType(core.bool),
    [_resetOriginOnTop]: dart.fieldType(core.bool),
    [_resetOriginOnBottom]: dart.fieldType(core.bool),
    [_resetFloatingCursorAnimationValue]: dart.fieldType(core.double)
  }));
  dart.defineLazy(editable.RenderEditable, {
    /*editable.RenderEditable.obscuringCharacter*/get obscuringCharacter() {
      return "•";
    },
    /*editable.RenderEditable._movementKeys*/get _movementKeys() {
      return LinkedHashSetOfLogicalKeyboardKey().from([keyboard_key.LogicalKeyboardKey.arrowRight, keyboard_key.LogicalKeyboardKey.arrowLeft, keyboard_key.LogicalKeyboardKey.arrowUp, keyboard_key.LogicalKeyboardKey.arrowDown]);
    },
    /*editable.RenderEditable._shortcutKeys*/get _shortcutKeys() {
      return LinkedHashSetOfLogicalKeyboardKey().from([keyboard_key.LogicalKeyboardKey.keyA, keyboard_key.LogicalKeyboardKey.keyC, keyboard_key.LogicalKeyboardKey.keyV, keyboard_key.LogicalKeyboardKey.keyX, keyboard_key.LogicalKeyboardKey.delete]);
    },
    /*editable.RenderEditable._nonModifierKeys*/get _nonModifierKeys() {
      return (() => {
        let t31 = new (_HashSetOfLogicalKeyboardKey()).new();
        for (let t32 of editable.RenderEditable._shortcutKeys)
          t31.add(t32);
        for (let t33 of editable.RenderEditable._movementKeys)
          t31.add(t33);
        return t31;
      })();
    },
    /*editable.RenderEditable._modifierKeys*/get _modifierKeys() {
      return LinkedHashSetOfLogicalKeyboardKey().from([keyboard_key.LogicalKeyboardKey.shift, keyboard_key.LogicalKeyboardKey.control, keyboard_key.LogicalKeyboardKey.alt]);
    },
    /*editable.RenderEditable._macOsModifierKeys*/get _macOsModifierKeys() {
      return LinkedHashSetOfLogicalKeyboardKey().from([keyboard_key.LogicalKeyboardKey.shift, keyboard_key.LogicalKeyboardKey.meta, keyboard_key.LogicalKeyboardKey.alt]);
    },
    /*editable.RenderEditable._interestingKeys*/get _interestingKeys() {
      return (() => {
        let t34 = new (_HashSetOfLogicalKeyboardKey()).new();
        for (let t35 of editable.RenderEditable._modifierKeys)
          t34.add(t35);
        for (let t36 of editable.RenderEditable._macOsModifierKeys)
          t34.add(t36);
        for (let t37 of editable.RenderEditable._nonModifierKeys)
          t34.add(t37);
        return t34;
      })();
    }
  });
  editable._isWhitespace = function _isWhitespace(codeUnit) {
    switch (codeUnit) {
      case 9:
      case 10:
      case 11:
      case 12:
      case 13:
      case 28:
      case 29:
      case 30:
      case 31:
      case 32:
      case 160:
      case 5760:
      case 8192:
      case 8193:
      case 8194:
      case 8195:
      case 8196:
      case 8197:
      case 8198:
      case 8199:
      case 8200:
      case 8201:
      case 8202:
      case 8239:
      case 8287:
      case 12288:
      {
        break;
      }
      default:
      {
        return false;
      }
    }
    return true;
  };
  let C180;
  dart.defineLazy(editable, {
    /*editable._kCaretGap*/get _kCaretGap() {
      return 1;
    },
    /*editable._kCaretHeightOffset*/get _kCaretHeightOffset() {
      return 2;
    },
    /*editable._kFloatingCaretSizeIncrease*/get _kFloatingCaretSizeIncrease() {
      return C180 || CT.C180;
    },
    /*editable._kFloatingCaretRadius*/get _kFloatingCaretRadius() {
      return 1;
    }
  });
  const stretchTriggerOffset$ = dart.privateName(sliver_persistent_header, "OverScrollHeaderStretchConfiguration.stretchTriggerOffset");
  const onStretchTrigger$ = dart.privateName(sliver_persistent_header, "OverScrollHeaderStretchConfiguration.onStretchTrigger");
  sliver_persistent_header.OverScrollHeaderStretchConfiguration = class OverScrollHeaderStretchConfiguration extends core.Object {
    get stretchTriggerOffset() {
      return this[stretchTriggerOffset$];
    }
    set stretchTriggerOffset(value) {
      super.stretchTriggerOffset = value;
    }
    get onStretchTrigger() {
      return this[onStretchTrigger$];
    }
    set onStretchTrigger(value) {
      super.onStretchTrigger = value;
    }
  };
  (sliver_persistent_header.OverScrollHeaderStretchConfiguration.new = function(opts) {
    let stretchTriggerOffset = opts && 'stretchTriggerOffset' in opts ? opts.stretchTriggerOffset : 100;
    let onStretchTrigger = opts && 'onStretchTrigger' in opts ? opts.onStretchTrigger : null;
    this[stretchTriggerOffset$] = stretchTriggerOffset;
    this[onStretchTrigger$] = onStretchTrigger;
    if (!(stretchTriggerOffset != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_persistent_header.dart", 32, 15, "stretchTriggerOffset != null");
    ;
  }).prototype = sliver_persistent_header.OverScrollHeaderStretchConfiguration.prototype;
  dart.addTypeTests(sliver_persistent_header.OverScrollHeaderStretchConfiguration);
  dart.setLibraryUri(sliver_persistent_header.OverScrollHeaderStretchConfiguration, "package:flutter/src/rendering/sliver_persistent_header.dart");
  dart.setFieldSignature(sliver_persistent_header.OverScrollHeaderStretchConfiguration, () => ({
    __proto__: dart.getFields(sliver_persistent_header.OverScrollHeaderStretchConfiguration.__proto__),
    stretchTriggerOffset: dart.finalFieldType(core.double),
    onStretchTrigger: dart.finalFieldType(dart.fnType(async.Future$(dart.void), []))
  }));
  const _lastStretchOffset = dart.privateName(sliver_persistent_header, "_lastStretchOffset");
  const _needsUpdateChild = dart.privateName(sliver_persistent_header, "_needsUpdateChild");
  const _lastShrinkOffset = dart.privateName(sliver_persistent_header, "_lastShrinkOffset");
  const _lastOverlapsContent = dart.privateName(sliver_persistent_header, "_lastOverlapsContent");
  const _excludeFromSemanticsScrolling = dart.privateName(sliver_persistent_header, "_excludeFromSemanticsScrolling");
  const stretchConfiguration$ = dart.privateName(sliver_persistent_header, "RenderSliverPersistentHeader.stretchConfiguration");
  const RenderSliver_RenderObjectWithChildMixin$36$ = class RenderSliver_RenderObjectWithChildMixin extends sliver$.RenderSliver {};
  (RenderSliver_RenderObjectWithChildMixin$36$.new = function() {
    object$.RenderObjectWithChildMixin$(box.RenderBox)[dart.mixinNew].call(this);
    RenderSliver_RenderObjectWithChildMixin$36$.__proto__.new.call(this);
  }).prototype = RenderSliver_RenderObjectWithChildMixin$36$.prototype;
  dart.applyMixin(RenderSliver_RenderObjectWithChildMixin$36$, object$.RenderObjectWithChildMixin$(box.RenderBox));
  const RenderSliver_RenderSliverHelpers$36$0 = class RenderSliver_RenderSliverHelpers extends RenderSliver_RenderObjectWithChildMixin$36$ {};
  (RenderSliver_RenderSliverHelpers$36$0.new = function() {
    RenderSliver_RenderSliverHelpers$36$0.__proto__.new.call(this);
  }).prototype = RenderSliver_RenderSliverHelpers$36$0.prototype;
  dart.applyMixin(RenderSliver_RenderSliverHelpers$36$0, sliver$.RenderSliverHelpers);
  sliver_persistent_header.RenderSliverPersistentHeader = class RenderSliverPersistentHeader extends RenderSliver_RenderSliverHelpers$36$0 {
    get stretchConfiguration() {
      return this[stretchConfiguration$];
    }
    set stretchConfiguration(value) {
      this[stretchConfiguration$] = value;
    }
    get childExtent() {
      if (this.child == null) return 0.0;
      if (!dart.test(this.child.hasSize)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_persistent_header.dart", 91, 12, "child.hasSize");
      if (!(this.constraints.axis != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_persistent_header.dart", 92, 12, "constraints.axis != null");
      switch (this.constraints.axis) {
        case C31 || CT.C31:
        {
          return this.child.size.height;
        }
        case C30 || CT.C30:
        {
          return this.child.size.width;
        }
      }
      return null;
    }
    updateChild(shrinkOffset, overlapsContent) {
    }
    markNeedsLayout() {
      this[_needsUpdateChild] = true;
      super.markNeedsLayout();
    }
    layoutChild(scrollOffset, maxExtent, opts) {
      let t38;
      let overlapsContent = opts && 'overlapsContent' in opts ? opts.overlapsContent : false;
      if (!(maxExtent != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_persistent_header.dart", 158, 12, "maxExtent != null");
      let shrinkOffset = math.min(core.double, scrollOffset, maxExtent);
      if (dart.test(this[_needsUpdateChild]) || this[_lastShrinkOffset] !== shrinkOffset || !dart.equals(this[_lastOverlapsContent], overlapsContent)) {
        this.invokeLayoutCallback(sliver$.SliverConstraints, dart.fn(constraints => {
          if (!dart.equals(constraints, this.constraints)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_persistent_header.dart", 162, 16, "constraints == this.constraints");
          this.updateChild(shrinkOffset, overlapsContent);
        }, SliverConstraintsToNull()));
        this[_lastShrinkOffset] = shrinkOffset;
        this[_lastOverlapsContent] = overlapsContent;
        this[_needsUpdateChild] = false;
      }
      if (!(this.minExtent != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_persistent_header.dart", 169, 12, "minExtent != null");
      if (!dart.test(dart.fn(() => {
        if (dart.notNull(this.minExtent) <= dart.notNull(maxExtent)) return true;
        dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("The maxExtent for this " + dart.str(this[$runtimeType]) + " is less than its minExtent."), new diagnostics.DoubleProperty.new("The specified maxExtent was", maxExtent), new diagnostics.DoubleProperty.new("The specified minExtent was", this.minExtent)])));
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_persistent_header.dart", 170, 12, "() {\r\n      if (minExtent <= maxExtent)\r\n        return true;\r\n      throw FlutterError.fromParts(<DiagnosticsNode>[\r\n        ErrorSummary('The maxExtent for this $runtimeType is less than its minExtent.'),\r\n        DoubleProperty('The specified maxExtent was', maxExtent),\r\n        DoubleProperty('The specified minExtent was', minExtent),\r\n      ]);\r\n    }()");
      let stretchOffset = 0.0;
      if (this.stretchConfiguration != null && this.childMainAxisPosition(this.child) === 0.0) stretchOffset = stretchOffset + this.constraints.overlap[$abs]();
      t38 = this.child;
      t38 == null ? null : t38.layout(this.constraints.asBoxConstraints({maxExtent: math.max(core.double, this.minExtent, dart.notNull(maxExtent) - shrinkOffset) + stretchOffset}), {parentUsesSize: true});
      if (this.stretchConfiguration != null && this.stretchConfiguration.onStretchTrigger != null && stretchOffset >= dart.notNull(this.stretchConfiguration.stretchTriggerOffset) && dart.notNull(this[_lastStretchOffset]) <= dart.notNull(this.stretchConfiguration.stretchTriggerOffset)) {
        this.stretchConfiguration.onStretchTrigger();
      }
      this[_lastStretchOffset] = stretchOffset;
    }
    childMainAxisPosition(child) {
      object$.RenderObject._check(child);
      return super.childMainAxisPosition(child);
    }
    hitTestChildren(result, opts) {
      let mainAxisPosition = opts && 'mainAxisPosition' in opts ? opts.mainAxisPosition : null;
      let crossAxisPosition = opts && 'crossAxisPosition' in opts ? opts.crossAxisPosition : null;
      if (!(dart.notNull(this.geometry.hitTestExtent) > 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_persistent_header.dart", 224, 12, "geometry.hitTestExtent > 0.0");
      if (this.child != null) return this.hitTestBoxChild(new box.BoxHitTestResult.wrap(result), this.child, {mainAxisPosition: mainAxisPosition, crossAxisPosition: crossAxisPosition});
      return false;
    }
    applyPaintTransform(child, transform) {
      object$.RenderObject._check(child);
      if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_persistent_header.dart", 232, 12, "child != null");
      if (!dart.equals(child, this.child)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_persistent_header.dart", 233, 12, "child == this.child");
      this.applyPaintTransformForBoxChild(box.RenderBox.as(child), transform);
    }
    paint(context, offset) {
      if (this.child != null && dart.test(this.geometry.visible)) {
        if (!(this.constraints.axisDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_persistent_header.dart", 240, 14, "constraints.axisDirection != null");
        switch (sliver$.applyGrowthDirectionToAxisDirection(this.constraints.axisDirection, this.constraints.growthDirection)) {
          case C116 || CT.C116:
          {
            offset = offset['+'](new ui.Offset.new(0.0, dart.notNull(this.geometry.paintExtent) - dart.notNull(this.childMainAxisPosition(this.child)) - dart.notNull(this.childExtent)));
            break;
          }
          case C118 || CT.C118:
          {
            offset = offset['+'](new ui.Offset.new(0.0, this.childMainAxisPosition(this.child)));
            break;
          }
          case C120 || CT.C120:
          {
            offset = offset['+'](new ui.Offset.new(dart.notNull(this.geometry.paintExtent) - dart.notNull(this.childMainAxisPosition(this.child)) - dart.notNull(this.childExtent), 0.0));
            break;
          }
          case C117 || CT.C117:
          {
            offset = offset['+'](new ui.Offset.new(this.childMainAxisPosition(this.child), 0.0));
            break;
          }
        }
        context.paintChild(this.child, offset);
      }
    }
    get excludeFromSemanticsScrolling() {
      return this[_excludeFromSemanticsScrolling];
    }
    set excludeFromSemanticsScrolling(value) {
      if (dart.equals(this[_excludeFromSemanticsScrolling], value)) return;
      this[_excludeFromSemanticsScrolling] = value;
      this.markNeedsSemanticsUpdate();
    }
    describeSemanticsConfiguration(config) {
      super.describeSemanticsConfiguration(config);
      if (dart.test(this[_excludeFromSemanticsScrolling])) config.addTagForChildren(viewport.RenderViewport.excludeFromScrolling);
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new diagnostics.DoubleProperty.lazy("maxExtent", dart.fn(() => this.maxExtent, VoidTodouble())));
      properties.add(new diagnostics.DoubleProperty.lazy("child position", dart.fn(() => this.childMainAxisPosition(this.child), VoidTodouble())));
    }
  };
  (sliver_persistent_header.RenderSliverPersistentHeader.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let stretchConfiguration = opts && 'stretchConfiguration' in opts ? opts.stretchConfiguration : null;
    this[_lastStretchOffset] = null;
    this[_needsUpdateChild] = true;
    this[_lastShrinkOffset] = 0.0;
    this[_lastOverlapsContent] = false;
    this[_excludeFromSemanticsScrolling] = false;
    this[stretchConfiguration$] = stretchConfiguration;
    sliver_persistent_header.RenderSliverPersistentHeader.__proto__.new.call(this);
    this.child = child;
  }).prototype = sliver_persistent_header.RenderSliverPersistentHeader.prototype;
  dart.addTypeTests(sliver_persistent_header.RenderSliverPersistentHeader);
  dart.setMethodSignature(sliver_persistent_header.RenderSliverPersistentHeader, () => ({
    __proto__: dart.getMethods(sliver_persistent_header.RenderSliverPersistentHeader.__proto__),
    updateChild: dart.fnType(dart.void, [core.double, core.bool]),
    layoutChild: dart.fnType(dart.void, [core.double, core.double], {overlapsContent: core.bool}, {})
  }));
  dart.setGetterSignature(sliver_persistent_header.RenderSliverPersistentHeader, () => ({
    __proto__: dart.getGetters(sliver_persistent_header.RenderSliverPersistentHeader.__proto__),
    childExtent: core.double,
    excludeFromSemanticsScrolling: core.bool
  }));
  dart.setSetterSignature(sliver_persistent_header.RenderSliverPersistentHeader, () => ({
    __proto__: dart.getSetters(sliver_persistent_header.RenderSliverPersistentHeader.__proto__),
    excludeFromSemanticsScrolling: core.bool
  }));
  dart.setLibraryUri(sliver_persistent_header.RenderSliverPersistentHeader, "package:flutter/src/rendering/sliver_persistent_header.dart");
  dart.setFieldSignature(sliver_persistent_header.RenderSliverPersistentHeader, () => ({
    __proto__: dart.getFields(sliver_persistent_header.RenderSliverPersistentHeader.__proto__),
    [_lastStretchOffset]: dart.fieldType(core.double),
    [_needsUpdateChild]: dart.fieldType(core.bool),
    [_lastShrinkOffset]: dart.fieldType(core.double),
    [_lastOverlapsContent]: dart.fieldType(core.bool),
    stretchConfiguration: dart.fieldType(sliver_persistent_header.OverScrollHeaderStretchConfiguration),
    [_excludeFromSemanticsScrolling]: dart.fieldType(core.bool)
  }));
  const _childPosition = dart.privateName(sliver_persistent_header, "_childPosition");
  sliver_persistent_header.RenderSliverScrollingPersistentHeader = class RenderSliverScrollingPersistentHeader extends sliver_persistent_header.RenderSliverPersistentHeader {
    updateGeometry() {
      let stretchOffset = 0.0;
      if (this.stretchConfiguration != null && this[_childPosition] === 0.0) {
        stretchOffset = stretchOffset + this.constraints.overlap[$abs]();
      }
      let maxExtent = this.maxExtent;
      let paintExtent = dart.notNull(maxExtent) - dart.notNull(this.constraints.scrollOffset);
      this.geometry = new sliver$.SliverGeometry.new({scrollExtent: maxExtent, paintOrigin: math.min(core.double, this.constraints.overlap, 0.0), paintExtent: paintExtent[$clamp](0.0, this.constraints.remainingPaintExtent), maxPaintExtent: dart.notNull(maxExtent) + stretchOffset, hasVisualOverflow: true});
      return stretchOffset > 0 ? 0.0 : math.min(core.double, 0.0, paintExtent - dart.notNull(this.childExtent));
    }
    performLayout() {
      let maxExtent = this.maxExtent;
      this.layoutChild(this.constraints.scrollOffset, maxExtent);
      let paintExtent = dart.notNull(maxExtent) - dart.notNull(this.constraints.scrollOffset);
      this.geometry = new sliver$.SliverGeometry.new({scrollExtent: maxExtent, paintOrigin: math.min(core.double, this.constraints.overlap, 0.0), paintExtent: paintExtent[$clamp](0.0, this.constraints.remainingPaintExtent), maxPaintExtent: maxExtent, hasVisualOverflow: true});
      this[_childPosition] = this.updateGeometry();
    }
    childMainAxisPosition(child) {
      box.RenderBox._check(child);
      if (!dart.equals(child, this.child)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_persistent_header.dart", 349, 12, "child == this.child");
      return this[_childPosition];
    }
  };
  (sliver_persistent_header.RenderSliverScrollingPersistentHeader.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let stretchConfiguration = opts && 'stretchConfiguration' in opts ? opts.stretchConfiguration : null;
    this[_childPosition] = null;
    sliver_persistent_header.RenderSliverScrollingPersistentHeader.__proto__.new.call(this, {child: child, stretchConfiguration: stretchConfiguration});
    ;
  }).prototype = sliver_persistent_header.RenderSliverScrollingPersistentHeader.prototype;
  dart.addTypeTests(sliver_persistent_header.RenderSliverScrollingPersistentHeader);
  dart.setMethodSignature(sliver_persistent_header.RenderSliverScrollingPersistentHeader, () => ({
    __proto__: dart.getMethods(sliver_persistent_header.RenderSliverScrollingPersistentHeader.__proto__),
    updateGeometry: dart.fnType(core.double, []),
    performLayout: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(sliver_persistent_header.RenderSliverScrollingPersistentHeader, "package:flutter/src/rendering/sliver_persistent_header.dart");
  dart.setFieldSignature(sliver_persistent_header.RenderSliverScrollingPersistentHeader, () => ({
    __proto__: dart.getFields(sliver_persistent_header.RenderSliverScrollingPersistentHeader.__proto__),
    [_childPosition]: dart.fieldType(core.double)
  }));
  sliver_persistent_header.RenderSliverPinnedPersistentHeader = class RenderSliverPinnedPersistentHeader extends sliver_persistent_header.RenderSliverPersistentHeader {
    performLayout() {
      let maxExtent = this.maxExtent;
      let overlapsContent = dart.notNull(this.constraints.overlap) > 0.0;
      this.excludeFromSemanticsScrolling = overlapsContent || dart.notNull(this.constraints.scrollOffset) > dart.notNull(maxExtent) - dart.notNull(this.minExtent);
      this.layoutChild(this.constraints.scrollOffset, maxExtent, {overlapsContent: overlapsContent});
      let effectiveRemainingPaintExtent = math.max(core.double, 0.0, dart.notNull(this.constraints.remainingPaintExtent) - dart.notNull(this.constraints.overlap));
      let layoutExtent = (dart.notNull(maxExtent) - dart.notNull(this.constraints.scrollOffset))[$clamp](0.0, effectiveRemainingPaintExtent);
      let stretchOffset = this.stretchConfiguration != null ? this.constraints.overlap[$abs]() : 0.0;
      this.geometry = new sliver$.SliverGeometry.new({scrollExtent: maxExtent, paintOrigin: this.constraints.overlap, paintExtent: math.min(core.double, this.childExtent, effectiveRemainingPaintExtent), layoutExtent: layoutExtent, maxPaintExtent: dart.notNull(maxExtent) + stretchOffset, maxScrollObstructionExtent: this.minExtent, cacheExtent: layoutExtent > 0.0 ? -dart.notNull(this.constraints.cacheOrigin) + layoutExtent : layoutExtent, hasVisualOverflow: true});
    }
    childMainAxisPosition(child) {
      box.RenderBox._check(child);
      return 0.0;
    }
  };
  (sliver_persistent_header.RenderSliverPinnedPersistentHeader.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let stretchConfiguration = opts && 'stretchConfiguration' in opts ? opts.stretchConfiguration : null;
    sliver_persistent_header.RenderSliverPinnedPersistentHeader.__proto__.new.call(this, {child: child, stretchConfiguration: stretchConfiguration});
    ;
  }).prototype = sliver_persistent_header.RenderSliverPinnedPersistentHeader.prototype;
  dart.addTypeTests(sliver_persistent_header.RenderSliverPinnedPersistentHeader);
  dart.setMethodSignature(sliver_persistent_header.RenderSliverPinnedPersistentHeader, () => ({
    __proto__: dart.getMethods(sliver_persistent_header.RenderSliverPinnedPersistentHeader.__proto__),
    performLayout: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(sliver_persistent_header.RenderSliverPinnedPersistentHeader, "package:flutter/src/rendering/sliver_persistent_header.dart");
  let C181;
  const vsync$ = dart.privateName(sliver_persistent_header, "FloatingHeaderSnapConfiguration.vsync");
  const curve$ = dart.privateName(sliver_persistent_header, "FloatingHeaderSnapConfiguration.curve");
  const duration$ = dart.privateName(sliver_persistent_header, "FloatingHeaderSnapConfiguration.duration");
  sliver_persistent_header.FloatingHeaderSnapConfiguration = class FloatingHeaderSnapConfiguration extends core.Object {
    get vsync() {
      return this[vsync$];
    }
    set vsync(value) {
      super.vsync = value;
    }
    get curve() {
      return this[curve$];
    }
    set curve(value) {
      super.curve = value;
    }
    get duration() {
      return this[duration$];
    }
    set duration(value) {
      super.duration = value;
    }
  };
  (sliver_persistent_header.FloatingHeaderSnapConfiguration.new = function(opts) {
    let vsync = opts && 'vsync' in opts ? opts.vsync : null;
    let curve = opts && 'curve' in opts ? opts.curve : C5 || CT.C5;
    let duration = opts && 'duration' in opts ? opts.duration : C181 || CT.C181;
    this[vsync$] = vsync;
    this[curve$] = curve;
    this[duration$] = duration;
    if (!(vsync != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_persistent_header.dart", 414, 15, "vsync != null");
    if (!(curve != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_persistent_header.dart", 415, 15, "curve != null");
    if (!(duration != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_persistent_header.dart", 416, 15, "duration != null");
    ;
  }).prototype = sliver_persistent_header.FloatingHeaderSnapConfiguration.prototype;
  dart.addTypeTests(sliver_persistent_header.FloatingHeaderSnapConfiguration);
  dart.setLibraryUri(sliver_persistent_header.FloatingHeaderSnapConfiguration, "package:flutter/src/rendering/sliver_persistent_header.dart");
  dart.setFieldSignature(sliver_persistent_header.FloatingHeaderSnapConfiguration, () => ({
    __proto__: dart.getFields(sliver_persistent_header.FloatingHeaderSnapConfiguration.__proto__),
    vsync: dart.finalFieldType(ticker.TickerProvider),
    curve: dart.finalFieldType(curves.Curve),
    duration: dart.finalFieldType(core.Duration)
  }));
  const _controller$0 = dart.privateName(sliver_persistent_header, "_controller");
  const _animation$ = dart.privateName(sliver_persistent_header, "_animation");
  const _lastActualScrollOffset = dart.privateName(sliver_persistent_header, "_lastActualScrollOffset");
  const _effectiveScrollOffset = dart.privateName(sliver_persistent_header, "_effectiveScrollOffset");
  const _snapConfiguration = dart.privateName(sliver_persistent_header, "_snapConfiguration");
  sliver_persistent_header.RenderSliverFloatingPersistentHeader = class RenderSliverFloatingPersistentHeader extends sliver_persistent_header.RenderSliverPersistentHeader {
    detach() {
      let t38;
      t38 = this[_controller$0];
      t38 == null ? null : t38.dispose();
      this[_controller$0] = null;
      super.detach();
    }
    get snapConfiguration() {
      return this[_snapConfiguration];
    }
    set snapConfiguration(value) {
      let t38, t38$;
      if (dart.equals(value, this[_snapConfiguration])) return;
      if (value == null) {
        t38 = this[_controller$0];
        t38 == null ? null : t38.dispose();
        this[_controller$0] = null;
      } else {
        if (this[_snapConfiguration] != null && !dart.equals(value.vsync, this[_snapConfiguration].vsync)) {
          t38$ = this[_controller$0];
          t38$ == null ? null : t38$.resync(value.vsync);
        }
      }
      this[_snapConfiguration] = value;
    }
    updateGeometry() {
      let stretchOffset = 0.0;
      if (this.stretchConfiguration != null && this[_childPosition] === 0.0) {
        stretchOffset = stretchOffset + this.constraints.overlap[$abs]();
      }
      let maxExtent = this.maxExtent;
      let paintExtent = dart.notNull(maxExtent) - dart.notNull(this[_effectiveScrollOffset]);
      let layoutExtent = dart.notNull(maxExtent) - dart.notNull(this.constraints.scrollOffset);
      this.geometry = new sliver$.SliverGeometry.new({scrollExtent: maxExtent, paintOrigin: math.min(core.double, this.constraints.overlap, 0.0), paintExtent: paintExtent[$clamp](0.0, this.constraints.remainingPaintExtent), layoutExtent: layoutExtent[$clamp](0.0, this.constraints.remainingPaintExtent), maxPaintExtent: dart.notNull(maxExtent) + stretchOffset, hasVisualOverflow: true});
      return stretchOffset > 0 ? 0.0 : math.min(core.double, 0.0, paintExtent - dart.notNull(this.childExtent));
    }
    maybeStartSnapAnimation(direction) {
      let t38;
      if (this.snapConfiguration == null) return;
      if (dart.equals(direction, viewport_offset.ScrollDirection.forward) && dart.notNull(this[_effectiveScrollOffset]) <= 0.0) return;
      if (dart.equals(direction, viewport_offset.ScrollDirection.reverse) && dart.notNull(this[_effectiveScrollOffset]) >= dart.notNull(this.maxExtent)) return;
      let vsync = this.snapConfiguration.vsync;
      let duration = this.snapConfiguration.duration;
      this[_controller$0] == null ? this[_controller$0] = (t38 = new animation_controller.AnimationController.new({vsync: vsync, duration: duration}), t38.addListener(dart.fn(() => {
        if (this[_effectiveScrollOffset] == this[_animation$].value) return;
        this[_effectiveScrollOffset] = this[_animation$].value;
        this.markNeedsLayout();
      }, VoidToNull())), t38) : null;
      this[_animation$] = this[_controller$0].drive(core.double, new (TweenOfdouble()).new({begin: this[_effectiveScrollOffset], end: dart.equals(direction, viewport_offset.ScrollDirection.forward) ? 0.0 : this.maxExtent}).chain(new tween.CurveTween.new({curve: this.snapConfiguration.curve})));
      this[_controller$0].forward({from: 0.0});
    }
    maybeStopSnapAnimation(direction) {
      let t38;
      t38 = this[_controller$0];
      t38 == null ? null : t38.stop();
    }
    performLayout() {
      let maxExtent = this.maxExtent;
      if (this[_lastActualScrollOffset] != null && (dart.notNull(this.constraints.scrollOffset) < dart.notNull(this[_lastActualScrollOffset]) || dart.notNull(this[_effectiveScrollOffset]) < dart.notNull(maxExtent))) {
        let delta = dart.notNull(this[_lastActualScrollOffset]) - dart.notNull(this.constraints.scrollOffset);
        let allowFloatingExpansion = dart.equals(this.constraints.userScrollDirection, viewport_offset.ScrollDirection.forward);
        if (allowFloatingExpansion) {
          if (dart.notNull(this[_effectiveScrollOffset]) > dart.notNull(maxExtent)) this[_effectiveScrollOffset] = maxExtent;
        } else {
          if (delta > 0.0) delta = 0.0;
        }
        this[_effectiveScrollOffset] = (dart.notNull(this[_effectiveScrollOffset]) - delta)[$clamp](0.0, this.constraints.scrollOffset);
      } else {
        this[_effectiveScrollOffset] = this.constraints.scrollOffset;
      }
      this.excludeFromSemanticsScrolling = dart.notNull(this[_effectiveScrollOffset]) <= dart.notNull(this.constraints.scrollOffset);
      let overlapsContent = dart.notNull(this[_effectiveScrollOffset]) < dart.notNull(this.constraints.scrollOffset);
      this.layoutChild(this[_effectiveScrollOffset], maxExtent, {overlapsContent: overlapsContent});
      this[_childPosition] = this.updateGeometry();
      this[_lastActualScrollOffset] = this.constraints.scrollOffset;
    }
    childMainAxisPosition(child) {
      box.RenderBox._check(child);
      if (!dart.equals(child, this.child)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_persistent_header.dart", 587, 12, "child == this.child");
      return this[_childPosition];
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new diagnostics.DoubleProperty.new("effective scroll offset", this[_effectiveScrollOffset]));
    }
  };
  (sliver_persistent_header.RenderSliverFloatingPersistentHeader.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let snapConfiguration = opts && 'snapConfiguration' in opts ? opts.snapConfiguration : null;
    let stretchConfiguration = opts && 'stretchConfiguration' in opts ? opts.stretchConfiguration : null;
    this[_controller$0] = null;
    this[_animation$] = null;
    this[_lastActualScrollOffset] = null;
    this[_effectiveScrollOffset] = null;
    this[_childPosition] = null;
    this[_snapConfiguration] = snapConfiguration;
    sliver_persistent_header.RenderSliverFloatingPersistentHeader.__proto__.new.call(this, {child: child, stretchConfiguration: stretchConfiguration});
    ;
  }).prototype = sliver_persistent_header.RenderSliverFloatingPersistentHeader.prototype;
  dart.addTypeTests(sliver_persistent_header.RenderSliverFloatingPersistentHeader);
  dart.setMethodSignature(sliver_persistent_header.RenderSliverFloatingPersistentHeader, () => ({
    __proto__: dart.getMethods(sliver_persistent_header.RenderSliverFloatingPersistentHeader.__proto__),
    updateGeometry: dart.fnType(core.double, []),
    maybeStartSnapAnimation: dart.fnType(dart.void, [viewport_offset.ScrollDirection]),
    maybeStopSnapAnimation: dart.fnType(dart.void, [viewport_offset.ScrollDirection]),
    performLayout: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(sliver_persistent_header.RenderSliverFloatingPersistentHeader, () => ({
    __proto__: dart.getGetters(sliver_persistent_header.RenderSliverFloatingPersistentHeader.__proto__),
    snapConfiguration: sliver_persistent_header.FloatingHeaderSnapConfiguration
  }));
  dart.setSetterSignature(sliver_persistent_header.RenderSliverFloatingPersistentHeader, () => ({
    __proto__: dart.getSetters(sliver_persistent_header.RenderSliverFloatingPersistentHeader.__proto__),
    snapConfiguration: sliver_persistent_header.FloatingHeaderSnapConfiguration
  }));
  dart.setLibraryUri(sliver_persistent_header.RenderSliverFloatingPersistentHeader, "package:flutter/src/rendering/sliver_persistent_header.dart");
  dart.setFieldSignature(sliver_persistent_header.RenderSliverFloatingPersistentHeader, () => ({
    __proto__: dart.getFields(sliver_persistent_header.RenderSliverFloatingPersistentHeader.__proto__),
    [_controller$0]: dart.fieldType(animation_controller.AnimationController),
    [_animation$]: dart.fieldType(animation.Animation$(core.double)),
    [_lastActualScrollOffset]: dart.fieldType(core.double),
    [_effectiveScrollOffset]: dart.fieldType(core.double),
    [_childPosition]: dart.fieldType(core.double),
    [_snapConfiguration]: dart.fieldType(sliver_persistent_header.FloatingHeaderSnapConfiguration)
  }));
  sliver_persistent_header.RenderSliverFloatingPinnedPersistentHeader = class RenderSliverFloatingPinnedPersistentHeader extends sliver_persistent_header.RenderSliverFloatingPersistentHeader {
    updateGeometry() {
      let minExtent = this.minExtent;
      let minAllowedExtent = dart.notNull(this.constraints.remainingPaintExtent) > dart.notNull(minExtent) ? minExtent : this.constraints.remainingPaintExtent;
      let maxExtent = this.maxExtent;
      let paintExtent = dart.notNull(maxExtent) - dart.notNull(this[_effectiveScrollOffset]);
      let clampedPaintExtent = paintExtent[$clamp](minAllowedExtent, this.constraints.remainingPaintExtent);
      let layoutExtent = dart.notNull(maxExtent) - dart.notNull(this.constraints.scrollOffset);
      let stretchOffset = this.stretchConfiguration != null ? this.constraints.overlap[$abs]() : 0.0;
      this.geometry = new sliver$.SliverGeometry.new({scrollExtent: maxExtent, paintOrigin: math.min(core.double, this.constraints.overlap, 0.0), paintExtent: clampedPaintExtent, layoutExtent: layoutExtent[$clamp](0.0, clampedPaintExtent), maxPaintExtent: dart.notNull(maxExtent) + stretchOffset, maxScrollObstructionExtent: maxExtent, hasVisualOverflow: true});
      return 0.0;
    }
  };
  (sliver_persistent_header.RenderSliverFloatingPinnedPersistentHeader.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    let snapConfiguration = opts && 'snapConfiguration' in opts ? opts.snapConfiguration : null;
    let stretchConfiguration = opts && 'stretchConfiguration' in opts ? opts.stretchConfiguration : null;
    sliver_persistent_header.RenderSliverFloatingPinnedPersistentHeader.__proto__.new.call(this, {child: child, snapConfiguration: snapConfiguration, stretchConfiguration: stretchConfiguration});
    ;
  }).prototype = sliver_persistent_header.RenderSliverFloatingPinnedPersistentHeader.prototype;
  dart.addTypeTests(sliver_persistent_header.RenderSliverFloatingPinnedPersistentHeader);
  dart.setLibraryUri(sliver_persistent_header.RenderSliverFloatingPinnedPersistentHeader, "package:flutter/src/rendering/sliver_persistent_header.dart");
  const RenderSliver_RenderObjectWithChildMixin$36$0 = class RenderSliver_RenderObjectWithChildMixin extends sliver$.RenderSliver {};
  (RenderSliver_RenderObjectWithChildMixin$36$0.new = function() {
    object$.RenderObjectWithChildMixin$(sliver$.RenderSliver)[dart.mixinNew].call(this);
    RenderSliver_RenderObjectWithChildMixin$36$0.__proto__.new.call(this);
  }).prototype = RenderSliver_RenderObjectWithChildMixin$36$0.prototype;
  dart.applyMixin(RenderSliver_RenderObjectWithChildMixin$36$0, object$.RenderObjectWithChildMixin$(sliver$.RenderSliver));
  proxy_sliver.RenderProxySliver = class RenderProxySliver extends RenderSliver_RenderObjectWithChildMixin$36$0 {
    setupParentData(child) {
      object$.RenderObject._check(child);
      if (!sliver$.SliverPhysicalParentData.is(child.parentData)) child.parentData = new sliver$.SliverPhysicalParentData.new();
    }
    performLayout() {
      if (!(this.child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_sliver.dart", 51, 12, "child != null");
      this.child.layout(this.constraints, {parentUsesSize: true});
      this.geometry = this.child.geometry;
    }
    paint(context, offset) {
      if (this.child != null) context.paintChild(this.child, offset);
    }
    hitTestChildren(result, opts) {
      let mainAxisPosition = opts && 'mainAxisPosition' in opts ? opts.mainAxisPosition : null;
      let crossAxisPosition = opts && 'crossAxisPosition' in opts ? opts.crossAxisPosition : null;
      return this.child != null && dart.notNull(this.child.geometry.hitTestExtent) > 0 && dart.test(this.child.hitTest(result, {mainAxisPosition: mainAxisPosition, crossAxisPosition: crossAxisPosition}));
    }
    childMainAxisPosition(child) {
      sliver$.RenderSliver._check(child);
      if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_sliver.dart", 75, 12, "child != null");
      if (!dart.equals(child, this.child)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_sliver.dart", 76, 12, "child == this.child");
      return 0.0;
    }
    applyPaintTransform(child, transform) {
      object$.RenderObject._check(child);
      if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_sliver.dart", 82, 12, "child != null");
      let childParentData = sliver$.SliverPhysicalParentData.as(child.parentData);
      childParentData.applyPaintTransform(transform);
    }
  };
  (proxy_sliver.RenderProxySliver.new = function(child = null) {
    proxy_sliver.RenderProxySliver.__proto__.new.call(this);
    this.child = child;
  }).prototype = proxy_sliver.RenderProxySliver.prototype;
  dart.addTypeTests(proxy_sliver.RenderProxySliver);
  dart.setMethodSignature(proxy_sliver.RenderProxySliver, () => ({
    __proto__: dart.getMethods(proxy_sliver.RenderProxySliver.__proto__),
    performLayout: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(proxy_sliver.RenderProxySliver, "package:flutter/src/rendering/proxy_sliver.dart");
  const _opacity$ = dart.privateName(proxy_sliver, "_opacity");
  const _alwaysIncludeSemantics$ = dart.privateName(proxy_sliver, "_alwaysIncludeSemantics");
  const _alpha$0 = dart.privateName(proxy_sliver, "_alpha");
  proxy_sliver.RenderSliverOpacity = class RenderSliverOpacity extends proxy_sliver.RenderProxySliver {
    get alwaysNeedsCompositing() {
      return this.child != null && this[_alpha$0] !== 0 && this[_alpha$0] !== 255;
    }
    get opacity() {
      return this[_opacity$];
    }
    set opacity(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_sliver.dart", 132, 12, "value != null");
      if (!(dart.notNull(value) >= 0.0 && dart.notNull(value) <= 1.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_sliver.dart", 133, 12, "value >= 0.0 && value <= 1.0");
      if (this[_opacity$] == value) return;
      let didNeedCompositing = this.alwaysNeedsCompositing;
      let wasVisible = this[_alpha$0] !== 0;
      this[_opacity$] = value;
      this[_alpha$0] = ui.Color.getAlphaFromOpacity(this[_opacity$]);
      if (!dart.equals(didNeedCompositing, this.alwaysNeedsCompositing)) this.markNeedsCompositingBitsUpdate();
      this.markNeedsPaint();
      if (!wasVisible[$_equals](this[_alpha$0] !== 0) && !dart.test(this.alwaysIncludeSemantics)) this.markNeedsSemanticsUpdate();
    }
    get alwaysIncludeSemantics() {
      return this[_alwaysIncludeSemantics$];
    }
    set alwaysIncludeSemantics(value) {
      if (dart.equals(value, this[_alwaysIncludeSemantics$])) return;
      this[_alwaysIncludeSemantics$] = value;
      this.markNeedsSemanticsUpdate();
    }
    paint(context, offset) {
      if (this.child != null && dart.test(this.child.geometry.visible)) {
        if (this[_alpha$0] === 0) {
          this.layer = null;
          return;
        }
        if (this[_alpha$0] === 255) {
          this.layer = null;
          context.paintChild(this.child, offset);
          return;
        }
        if (!dart.test(this.needsCompositing)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_sliver.dart", 175, 14, "needsCompositing");
        this.layer = context.pushOpacity(offset, this[_alpha$0], dart.bind(this, 'paint', super.paint), {oldLayer: layer$.OpacityLayer.as(this.layer)});
      }
    }
    visitChildrenForSemantics(visitor) {
      if (this.child != null && (this[_alpha$0] !== 0 || dart.test(this.alwaysIncludeSemantics))) visitor(this.child);
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new diagnostics.DoubleProperty.new("opacity", this.opacity));
      properties.add(new diagnostics.FlagProperty.new("alwaysIncludeSemantics", {value: this.alwaysIncludeSemantics, ifTrue: "alwaysIncludeSemantics"}));
    }
  };
  (proxy_sliver.RenderSliverOpacity.new = function(opts) {
    let opacity = opts && 'opacity' in opts ? opts.opacity : 1;
    let alwaysIncludeSemantics = opts && 'alwaysIncludeSemantics' in opts ? opts.alwaysIncludeSemantics : false;
    let sliver = opts && 'sliver' in opts ? opts.sliver : null;
    if (!(opacity != null && dart.notNull(opacity) >= 0.0 && dart.notNull(opacity) <= 1.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_sliver.dart", 106, 15, "opacity != null && opacity >= 0.0 && opacity <= 1.0");
    if (!(alwaysIncludeSemantics != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_sliver.dart", 107, 15, "alwaysIncludeSemantics != null");
    this[_opacity$] = opacity;
    this[_alwaysIncludeSemantics$] = alwaysIncludeSemantics;
    this[_alpha$0] = ui.Color.getAlphaFromOpacity(opacity);
    proxy_sliver.RenderSliverOpacity.__proto__.new.call(this);
    this.child = sliver;
  }).prototype = proxy_sliver.RenderSliverOpacity.prototype;
  dart.addTypeTests(proxy_sliver.RenderSliverOpacity);
  dart.setGetterSignature(proxy_sliver.RenderSliverOpacity, () => ({
    __proto__: dart.getGetters(proxy_sliver.RenderSliverOpacity.__proto__),
    opacity: core.double,
    alwaysIncludeSemantics: core.bool
  }));
  dart.setSetterSignature(proxy_sliver.RenderSliverOpacity, () => ({
    __proto__: dart.getSetters(proxy_sliver.RenderSliverOpacity.__proto__),
    opacity: core.double,
    alwaysIncludeSemantics: core.bool
  }));
  dart.setLibraryUri(proxy_sliver.RenderSliverOpacity, "package:flutter/src/rendering/proxy_sliver.dart");
  dart.setFieldSignature(proxy_sliver.RenderSliverOpacity, () => ({
    __proto__: dart.getFields(proxy_sliver.RenderSliverOpacity.__proto__),
    [_alpha$0]: dart.fieldType(core.int),
    [_opacity$]: dart.fieldType(core.double),
    [_alwaysIncludeSemantics$]: dart.fieldType(core.bool)
  }));
  const _ignoring$ = dart.privateName(proxy_sliver, "_ignoring");
  const _ignoringSemantics$ = dart.privateName(proxy_sliver, "_ignoringSemantics");
  const _effectiveIgnoringSemantics$ = dart.privateName(proxy_sliver, "_effectiveIgnoringSemantics");
  proxy_sliver.RenderSliverIgnorePointer = class RenderSliverIgnorePointer extends proxy_sliver.RenderProxySliver {
    get ignoring() {
      return this[_ignoring$];
    }
    set ignoring(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_sliver.dart", 231, 12, "value != null");
      if (dart.equals(value, this[_ignoring$])) return;
      this[_ignoring$] = value;
      if (this[_ignoringSemantics$] == null || !dart.test(this[_ignoringSemantics$])) this.markNeedsSemanticsUpdate();
    }
    get ignoringSemantics() {
      return this[_ignoringSemantics$];
    }
    set ignoringSemantics(value) {
      if (dart.equals(value, this[_ignoringSemantics$])) return;
      let oldEffectiveValue = this[_effectiveIgnoringSemantics$];
      this[_ignoringSemantics$] = value;
      if (!dart.equals(oldEffectiveValue, this[_effectiveIgnoringSemantics$])) this.markNeedsSemanticsUpdate();
    }
    get [_effectiveIgnoringSemantics$]() {
      let t38;
      t38 = this.ignoringSemantics;
      return t38 == null ? this.ignoring : t38;
    }
    hitTest(result, opts) {
      let mainAxisPosition = opts && 'mainAxisPosition' in opts ? opts.mainAxisPosition : null;
      let crossAxisPosition = opts && 'crossAxisPosition' in opts ? opts.crossAxisPosition : null;
      return !dart.test(this.ignoring) && dart.test(super.hitTest(result, {mainAxisPosition: mainAxisPosition, crossAxisPosition: crossAxisPosition}));
    }
    visitChildrenForSemantics(visitor) {
      if (this.child != null && !dart.test(this[_effectiveIgnoringSemantics$])) visitor(this.child);
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfbool()).new("ignoring", this.ignoring));
      properties.add(new (DiagnosticsPropertyOfbool()).new("ignoringSemantics", this[_effectiveIgnoringSemantics$], {description: this.ignoringSemantics == null ? "implicitly " + dart.str(this[_effectiveIgnoringSemantics$]) : null}));
    }
  };
  (proxy_sliver.RenderSliverIgnorePointer.new = function(opts) {
    let sliver = opts && 'sliver' in opts ? opts.sliver : null;
    let ignoring = opts && 'ignoring' in opts ? opts.ignoring : true;
    let ignoringSemantics = opts && 'ignoringSemantics' in opts ? opts.ignoringSemantics : null;
    if (!(ignoring != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_sliver.dart", 218, 15, "ignoring != null");
    this[_ignoring$] = ignoring;
    this[_ignoringSemantics$] = ignoringSemantics;
    proxy_sliver.RenderSliverIgnorePointer.__proto__.new.call(this);
    this.child = sliver;
  }).prototype = proxy_sliver.RenderSliverIgnorePointer.prototype;
  dart.addTypeTests(proxy_sliver.RenderSliverIgnorePointer);
  dart.setGetterSignature(proxy_sliver.RenderSliverIgnorePointer, () => ({
    __proto__: dart.getGetters(proxy_sliver.RenderSliverIgnorePointer.__proto__),
    ignoring: core.bool,
    ignoringSemantics: core.bool,
    [_effectiveIgnoringSemantics$]: core.bool
  }));
  dart.setSetterSignature(proxy_sliver.RenderSliverIgnorePointer, () => ({
    __proto__: dart.getSetters(proxy_sliver.RenderSliverIgnorePointer.__proto__),
    ignoring: core.bool,
    ignoringSemantics: core.bool
  }));
  dart.setLibraryUri(proxy_sliver.RenderSliverIgnorePointer, "package:flutter/src/rendering/proxy_sliver.dart");
  dart.setFieldSignature(proxy_sliver.RenderSliverIgnorePointer, () => ({
    __proto__: dart.getFields(proxy_sliver.RenderSliverIgnorePointer.__proto__),
    [_ignoring$]: dart.fieldType(core.bool),
    [_ignoringSemantics$]: dart.fieldType(core.bool)
  }));
  const _offstage$ = dart.privateName(proxy_sliver, "_offstage");
  proxy_sliver.RenderSliverOffstage = class RenderSliverOffstage extends proxy_sliver.RenderProxySliver {
    get offstage() {
      return this[_offstage$];
    }
    set offstage(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_sliver.dart", 306, 12, "value != null");
      if (dart.equals(value, this[_offstage$])) return;
      this[_offstage$] = value;
      this.markNeedsLayoutForSizedByParentChange();
    }
    performLayout() {
      if (!(this.child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_sliver.dart", 315, 12, "child != null");
      this.child.layout(this.constraints, {parentUsesSize: true});
      if (!dart.test(this.offstage))
        this.geometry = this.child.geometry;
      else
        this.geometry = C125 || CT.C125;
    }
    hitTest(result, opts) {
      let mainAxisPosition = opts && 'mainAxisPosition' in opts ? opts.mainAxisPosition : null;
      let crossAxisPosition = opts && 'crossAxisPosition' in opts ? opts.crossAxisPosition : null;
      return !dart.test(this.offstage) && dart.test(super.hitTest(result, {mainAxisPosition: mainAxisPosition, crossAxisPosition: crossAxisPosition}));
    }
    hitTestChildren(result, opts) {
      let mainAxisPosition = opts && 'mainAxisPosition' in opts ? opts.mainAxisPosition : null;
      let crossAxisPosition = opts && 'crossAxisPosition' in opts ? opts.crossAxisPosition : null;
      return !dart.test(this.offstage) && this.child != null && dart.notNull(this.child.geometry.hitTestExtent) > 0 && dart.test(this.child.hitTest(result, {mainAxisPosition: mainAxisPosition, crossAxisPosition: crossAxisPosition}));
    }
    paint(context, offset) {
      if (dart.test(this.offstage)) return;
      context.paintChild(this.child, offset);
    }
    visitChildrenForSemantics(visitor) {
      if (dart.test(this.offstage)) return;
      super.visitChildrenForSemantics(visitor);
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfbool()).new("offstage", this.offstage));
    }
    debugDescribeChildren() {
      if (this.child == null) return JSArrayOfDiagnosticsNode().of([]);
      return JSArrayOfDiagnosticsNode().of([this.child.toDiagnosticsNode({name: "child", style: dart.test(this.offstage) ? diagnostics.DiagnosticsTreeStyle.offstage : diagnostics.DiagnosticsTreeStyle.sparse})]);
    }
  };
  (proxy_sliver.RenderSliverOffstage.new = function(opts) {
    let offstage = opts && 'offstage' in opts ? opts.offstage : true;
    let sliver = opts && 'sliver' in opts ? opts.sliver : null;
    if (!(offstage != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_sliver.dart", 290, 15, "offstage != null");
    this[_offstage$] = offstage;
    proxy_sliver.RenderSliverOffstage.__proto__.new.call(this);
    this.child = sliver;
  }).prototype = proxy_sliver.RenderSliverOffstage.prototype;
  dart.addTypeTests(proxy_sliver.RenderSliverOffstage);
  dart.setGetterSignature(proxy_sliver.RenderSliverOffstage, () => ({
    __proto__: dart.getGetters(proxy_sliver.RenderSliverOffstage.__proto__),
    offstage: core.bool
  }));
  dart.setSetterSignature(proxy_sliver.RenderSliverOffstage, () => ({
    __proto__: dart.getSetters(proxy_sliver.RenderSliverOffstage.__proto__),
    offstage: core.bool
  }));
  dart.setLibraryUri(proxy_sliver.RenderSliverOffstage, "package:flutter/src/rendering/proxy_sliver.dart");
  dart.setFieldSignature(proxy_sliver.RenderSliverOffstage, () => ({
    __proto__: dart.getFields(proxy_sliver.RenderSliverOffstage.__proto__),
    [_offstage$]: dart.fieldType(core.bool)
  }));
  const RenderProxySliver_RenderAnimatedOpacityMixin$36 = class RenderProxySliver_RenderAnimatedOpacityMixin extends proxy_sliver.RenderProxySliver {};
  (RenderProxySliver_RenderAnimatedOpacityMixin$36.new = function(child) {
    proxy_box.RenderAnimatedOpacityMixin$(sliver$.RenderSliver)[dart.mixinNew].call(this);
    RenderProxySliver_RenderAnimatedOpacityMixin$36.__proto__.new.call(this, child);
  }).prototype = RenderProxySliver_RenderAnimatedOpacityMixin$36.prototype;
  dart.applyMixin(RenderProxySliver_RenderAnimatedOpacityMixin$36, proxy_box.RenderAnimatedOpacityMixin$(sliver$.RenderSliver));
  proxy_sliver.RenderSliverAnimatedOpacity = class RenderSliverAnimatedOpacity extends RenderProxySliver_RenderAnimatedOpacityMixin$36 {};
  (proxy_sliver.RenderSliverAnimatedOpacity.new = function(opts) {
    let opacity = opts && 'opacity' in opts ? opts.opacity : null;
    let alwaysIncludeSemantics = opts && 'alwaysIncludeSemantics' in opts ? opts.alwaysIncludeSemantics : false;
    let sliver = opts && 'sliver' in opts ? opts.sliver : null;
    if (!(opacity != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_sliver.dart", 393, 15, "opacity != null");
    if (!(alwaysIncludeSemantics != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/proxy_sliver.dart", 394, 15, "alwaysIncludeSemantics != null");
    proxy_sliver.RenderSliverAnimatedOpacity.__proto__.new.call(this);
    this.opacity = opacity;
    this.alwaysIncludeSemantics = alwaysIncludeSemantics;
    this.child = sliver;
  }).prototype = proxy_sliver.RenderSliverAnimatedOpacity.prototype;
  dart.addTypeTests(proxy_sliver.RenderSliverAnimatedOpacity);
  dart.setLibraryUri(proxy_sliver.RenderSliverAnimatedOpacity, "package:flutter/src/rendering/proxy_sliver.dart");
  list_wheel_viewport.ListWheelChildManager = class ListWheelChildManager extends core.Object {};
  (list_wheel_viewport.ListWheelChildManager.new = function() {
    ;
  }).prototype = list_wheel_viewport.ListWheelChildManager.prototype;
  dart.addTypeTests(list_wheel_viewport.ListWheelChildManager);
  dart.setLibraryUri(list_wheel_viewport.ListWheelChildManager, "package:flutter/src/rendering/list_wheel_viewport.dart");
  const index$ = dart.privateName(list_wheel_viewport, "ListWheelParentData.index");
  list_wheel_viewport.ListWheelParentData = class ListWheelParentData extends box.ContainerBoxParentData$(box.RenderBox) {
    get index() {
      return this[index$];
    }
    set index(value) {
      this[index$] = value;
    }
  };
  (list_wheel_viewport.ListWheelParentData.new = function() {
    this[index$] = null;
    list_wheel_viewport.ListWheelParentData.__proto__.new.call(this);
    ;
  }).prototype = list_wheel_viewport.ListWheelParentData.prototype;
  dart.addTypeTests(list_wheel_viewport.ListWheelParentData);
  dart.setLibraryUri(list_wheel_viewport.ListWheelParentData, "package:flutter/src/rendering/list_wheel_viewport.dart");
  dart.setFieldSignature(list_wheel_viewport.ListWheelParentData, () => ({
    __proto__: dart.getFields(list_wheel_viewport.ListWheelParentData.__proto__),
    index: dart.fieldType(core.int)
  }));
  const _offAxisFraction = dart.privateName(list_wheel_viewport, "_offAxisFraction");
  const _useMagnifier = dart.privateName(list_wheel_viewport, "_useMagnifier");
  const _magnification = dart.privateName(list_wheel_viewport, "_magnification");
  const _overAndUnderCenterOpacity = dart.privateName(list_wheel_viewport, "_overAndUnderCenterOpacity");
  const _offset$2 = dart.privateName(list_wheel_viewport, "_offset");
  const _diameterRatio = dart.privateName(list_wheel_viewport, "_diameterRatio");
  const _perspective = dart.privateName(list_wheel_viewport, "_perspective");
  const _itemExtent$ = dart.privateName(list_wheel_viewport, "_itemExtent");
  const _squeeze = dart.privateName(list_wheel_viewport, "_squeeze");
  const _clipToSize = dart.privateName(list_wheel_viewport, "_clipToSize");
  const _renderChildrenOutsideViewport = dart.privateName(list_wheel_viewport, "_renderChildrenOutsideViewport");
  const _hasScrolled = dart.privateName(list_wheel_viewport, "_hasScrolled");
  const _viewportExtent$ = dart.privateName(list_wheel_viewport, "_viewportExtent");
  const _minEstimatedScrollExtent = dart.privateName(list_wheel_viewport, "_minEstimatedScrollExtent");
  const _maxEstimatedScrollExtent = dart.privateName(list_wheel_viewport, "_maxEstimatedScrollExtent");
  const _topScrollMarginExtent = dart.privateName(list_wheel_viewport, "_topScrollMarginExtent");
  const _getUntransformedPaintingCoordinateY = dart.privateName(list_wheel_viewport, "_getUntransformedPaintingCoordinateY");
  const _maxVisibleRadian = dart.privateName(list_wheel_viewport, "_maxVisibleRadian");
  const _getIntrinsicCrossAxis$ = dart.privateName(list_wheel_viewport, "_getIntrinsicCrossAxis");
  const _createChild = dart.privateName(list_wheel_viewport, "_createChild");
  const _destroyChild = dart.privateName(list_wheel_viewport, "_destroyChild");
  const _layoutChild = dart.privateName(list_wheel_viewport, "_layoutChild");
  const _shouldClipAtCurrentOffset = dart.privateName(list_wheel_viewport, "_shouldClipAtCurrentOffset");
  const _paintVisibleChildren = dart.privateName(list_wheel_viewport, "_paintVisibleChildren");
  const _paintTransformedChild = dart.privateName(list_wheel_viewport, "_paintTransformedChild");
  const _paintChildWithMagnifier = dart.privateName(list_wheel_viewport, "_paintChildWithMagnifier");
  const _paintChildCylindrically = dart.privateName(list_wheel_viewport, "_paintChildCylindrically");
  const _magnifyTransform = dart.privateName(list_wheel_viewport, "_magnifyTransform");
  const _centerOriginTransform = dart.privateName(list_wheel_viewport, "_centerOriginTransform");
  const childManager$ = dart.privateName(list_wheel_viewport, "RenderListWheelViewport.childManager");
  const RenderBox_ContainerRenderObjectMixin$36$3 = class RenderBox_ContainerRenderObjectMixin extends box.RenderBox {};
  (RenderBox_ContainerRenderObjectMixin$36$3.new = function() {
    object$.ContainerRenderObjectMixin$(box.RenderBox, list_wheel_viewport.ListWheelParentData)[dart.mixinNew].call(this);
    RenderBox_ContainerRenderObjectMixin$36$3.__proto__.new.call(this);
  }).prototype = RenderBox_ContainerRenderObjectMixin$36$3.prototype;
  dart.applyMixin(RenderBox_ContainerRenderObjectMixin$36$3, object$.ContainerRenderObjectMixin$(box.RenderBox, list_wheel_viewport.ListWheelParentData));
  list_wheel_viewport.RenderListWheelViewport = class RenderListWheelViewport extends RenderBox_ContainerRenderObjectMixin$36$3 {
    get childManager() {
      return this[childManager$];
    }
    set childManager(value) {
      super.childManager = value;
    }
    get offset() {
      return this[_offset$2];
    }
    set offset(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 223, 12, "value != null");
      if (dart.equals(value, this[_offset$2])) return;
      if (dart.test(this.attached)) this[_offset$2].removeListener(dart.bind(this, _hasScrolled));
      this[_offset$2] = value;
      if (dart.test(this.attached)) this[_offset$2].addListener(dart.bind(this, _hasScrolled));
      this.markNeedsLayout();
    }
    get diameterRatio() {
      return this[_diameterRatio];
    }
    set diameterRatio(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 265, 12, "value != null");
      if (!(dart.notNull(value) > 0)) dart.assertFailed(list_wheel_viewport.RenderListWheelViewport.diameterRatioZeroMessage, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 267, 7, "value > 0");
      if (value == this[_diameterRatio]) return;
      this[_diameterRatio] = value;
      this.markNeedsPaint();
      this.markNeedsSemanticsUpdate();
    }
    get perspective() {
      return this[_perspective];
    }
    set perspective(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 294, 12, "value != null");
      if (!(dart.notNull(value) > 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 295, 12, "value > 0");
      if (!(dart.notNull(value) <= 0.01)) dart.assertFailed(list_wheel_viewport.RenderListWheelViewport.perspectiveTooHighMessage, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 297, 7, "value <= 0.01");
      if (value == this[_perspective]) return;
      this[_perspective] = value;
      this.markNeedsPaint();
      this.markNeedsSemanticsUpdate();
    }
    get offAxisFraction() {
      return this[_offAxisFraction];
    }
    set offAxisFraction(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 335, 12, "value != null");
      if (value == this[_offAxisFraction]) return;
      this[_offAxisFraction] = value;
      this.markNeedsPaint();
    }
    get useMagnifier() {
      return this[_useMagnifier];
    }
    set useMagnifier(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 348, 12, "value != null");
      if (dart.equals(value, this[_useMagnifier])) return;
      this[_useMagnifier] = value;
      this.markNeedsPaint();
    }
    get magnification() {
      return this[_magnification];
    }
    set magnification(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 367, 12, "value != null");
      if (!(dart.notNull(value) > 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 368, 12, "value > 0");
      if (value == this[_magnification]) return;
      this[_magnification] = value;
      this.markNeedsPaint();
    }
    get overAndUnderCenterOpacity() {
      return this[_overAndUnderCenterOpacity];
    }
    set overAndUnderCenterOpacity(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 386, 12, "value != null");
      if (!(dart.notNull(value) >= 0 && dart.notNull(value) <= 1)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 387, 12, "value >= 0 && value <= 1");
      if (value == this[_overAndUnderCenterOpacity]) return;
      this[_overAndUnderCenterOpacity] = value;
      this.markNeedsPaint();
    }
    get itemExtent() {
      return this[_itemExtent$];
    }
    set itemExtent(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 403, 12, "value != null");
      if (!(dart.notNull(value) > 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 404, 12, "value > 0");
      if (value == this[_itemExtent$]) return;
      this[_itemExtent$] = value;
      this.markNeedsLayout();
    }
    get squeeze() {
      return this[_squeeze];
    }
    set squeeze(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 435, 12, "value != null");
      if (!(dart.notNull(value) > 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 436, 12, "value > 0");
      if (value == this[_squeeze]) return;
      this[_squeeze] = value;
      this.markNeedsLayout();
      this.markNeedsSemanticsUpdate();
    }
    get clipToSize() {
      return this[_clipToSize];
    }
    set clipToSize(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 455, 12, "value != null");
      if (!(!dart.test(this.renderChildrenOutsideViewport) || !dart.test(this.clipToSize))) dart.assertFailed(list_wheel_viewport.RenderListWheelViewport.clipToSizeAndRenderChildrenOutsideViewportConflict, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 457, 7, "!renderChildrenOutsideViewport || !clipToSize");
      if (dart.equals(value, this[_clipToSize])) return;
      this[_clipToSize] = value;
      this.markNeedsPaint();
      this.markNeedsSemanticsUpdate();
    }
    get renderChildrenOutsideViewport() {
      return this[_renderChildrenOutsideViewport];
    }
    set renderChildrenOutsideViewport(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 480, 12, "value != null");
      if (!(!dart.test(this.renderChildrenOutsideViewport) || !dart.test(this.clipToSize))) dart.assertFailed(list_wheel_viewport.RenderListWheelViewport.clipToSizeAndRenderChildrenOutsideViewportConflict, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 482, 7, "!renderChildrenOutsideViewport || !clipToSize");
      if (dart.equals(value, this[_renderChildrenOutsideViewport])) return;
      this[_renderChildrenOutsideViewport] = value;
      this.markNeedsLayout();
      this.markNeedsSemanticsUpdate();
    }
    [_hasScrolled]() {
      this.markNeedsLayout();
      this.markNeedsSemanticsUpdate();
    }
    setupParentData(child) {
      object$.RenderObject._check(child);
      if (!list_wheel_viewport.ListWheelParentData.is(child.parentData)) child.parentData = new list_wheel_viewport.ListWheelParentData.new();
    }
    attach(owner) {
      object$.PipelineOwner._check(owner);
      super.attach(owner);
      this[_offset$2].addListener(dart.bind(this, _hasScrolled));
    }
    detach() {
      this[_offset$2].removeListener(dart.bind(this, _hasScrolled));
      super.detach();
    }
    get isRepaintBoundary() {
      return true;
    }
    get [_viewportExtent$]() {
      if (!dart.test(this.hasSize)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 520, 12, "hasSize");
      return this.size.height;
    }
    get [_minEstimatedScrollExtent]() {
      if (!dart.test(this.hasSize)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 527, 12, "hasSize");
      if (this.childManager.childCount == null) return -1 / 0;
      return 0.0;
    }
    get [_maxEstimatedScrollExtent]() {
      if (!dart.test(this.hasSize)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 536, 12, "hasSize");
      if (this.childManager.childCount == null) return 1 / 0;
      return math.max(core.double, 0.0, (dart.notNull(this.childManager.childCount) - 1) * dart.notNull(this[_itemExtent$]));
    }
    get [_topScrollMarginExtent]() {
      if (!dart.test(this.hasSize)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 549, 12, "hasSize");
      return -dart.notNull(this.size.height) / 2.0 + dart.notNull(this[_itemExtent$]) / 2.0;
    }
    [_getUntransformedPaintingCoordinateY](layoutCoordinateY) {
      return dart.notNull(layoutCoordinateY) - dart.notNull(this[_topScrollMarginExtent]) - dart.notNull(this.offset.pixels);
    }
    get [_maxVisibleRadian]() {
      if (dart.notNull(this[_diameterRatio]) < 1.0) return 3.141592653589793 / 2.0;
      return math.asin(1.0 / dart.notNull(this[_diameterRatio]));
    }
    [_getIntrinsicCrossAxis$](childSize) {
      let extent = 0.0;
      let child = this.firstChild;
      while (child != null) {
        extent = math.max(core.double, extent, childSize(child));
        child = this.childAfter(child);
      }
      return extent;
    }
    computeMinIntrinsicWidth(height) {
      return this[_getIntrinsicCrossAxis$](dart.fn(child => child.getMinIntrinsicWidth(height), RenderBoxTodouble()));
    }
    computeMaxIntrinsicWidth(height) {
      return this[_getIntrinsicCrossAxis$](dart.fn(child => child.getMaxIntrinsicWidth(height), RenderBoxTodouble()));
    }
    computeMinIntrinsicHeight(width) {
      if (this.childManager.childCount == null) return 0.0;
      return dart.notNull(this.childManager.childCount) * dart.notNull(this[_itemExtent$]);
    }
    computeMaxIntrinsicHeight(width) {
      if (this.childManager.childCount == null) return 0.0;
      return dart.notNull(this.childManager.childCount) * dart.notNull(this[_itemExtent$]);
    }
    get sizedByParent() {
      return true;
    }
    performResize() {
      this.size = this.constraints.biggest;
    }
    indexOf(child) {
      if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 623, 12, "child != null");
      let childParentData = list_wheel_viewport.ListWheelParentData.as(child.parentData);
      if (!(childParentData.index != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 625, 12, "childParentData.index != null");
      return childParentData.index;
    }
    scrollOffsetToIndex(scrollOffset) {
      return (dart.notNull(scrollOffset) / dart.notNull(this.itemExtent))[$floor]();
    }
    indexToScrollOffset(index) {
      return dart.notNull(index) * dart.notNull(this.itemExtent);
    }
    [_createChild](index, opts) {
      let after = opts && 'after' in opts ? opts.after : null;
      this.invokeLayoutCallback(box.BoxConstraints, dart.fn(constraints => {
        if (!dart.equals(constraints, this.constraints)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 637, 14, "constraints == this.constraints");
        this.childManager.createChild(index, {after: after});
      }, BoxConstraintsToNull()));
    }
    [_destroyChild](child) {
      this.invokeLayoutCallback(box.BoxConstraints, dart.fn(constraints => {
        if (!dart.equals(constraints, this.constraints)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 644, 14, "constraints == this.constraints");
        this.childManager.removeChild(child);
      }, BoxConstraintsToNull()));
    }
    [_layoutChild](child, constraints, index) {
      child.layout(constraints, {parentUsesSize: true});
      let childParentData = list_wheel_viewport.ListWheelParentData.as(child.parentData);
      let crossPosition = dart.notNull(this.size.width) / 2.0 - dart.notNull(child.size.width) / 2.0;
      childParentData.offset = new ui.Offset.new(crossPosition, this.indexToScrollOffset(index));
    }
    performLayout() {
      let childConstraints = this.constraints.copyWith({minHeight: this[_itemExtent$], maxHeight: this[_itemExtent$], minWidth: 0.0});
      let visibleHeight = dart.notNull(this.size.height) * dart.notNull(this[_squeeze]);
      if (dart.test(this.renderChildrenOutsideViewport)) visibleHeight = visibleHeight * 2;
      let firstVisibleOffset = dart.notNull(this.offset.pixels) + dart.notNull(this[_itemExtent$]) / 2 - visibleHeight / 2;
      let lastVisibleOffset = firstVisibleOffset + visibleHeight;
      let targetFirstIndex = this.scrollOffsetToIndex(firstVisibleOffset);
      let targetLastIndex = this.scrollOffsetToIndex(lastVisibleOffset);
      if (dart.notNull(targetLastIndex) * dart.notNull(this[_itemExtent$]) === lastVisibleOffset) targetLastIndex = dart.notNull(targetLastIndex) - 1;
      while (!dart.test(this.childManager.childExistsAt(targetFirstIndex)) && dart.notNull(targetFirstIndex) <= dart.notNull(targetLastIndex))
        targetFirstIndex = dart.notNull(targetFirstIndex) + 1;
      while (!dart.test(this.childManager.childExistsAt(targetLastIndex)) && dart.notNull(targetFirstIndex) <= dart.notNull(targetLastIndex))
        targetLastIndex = dart.notNull(targetLastIndex) - 1;
      if (dart.notNull(targetFirstIndex) > dart.notNull(targetLastIndex)) {
        while (this.firstChild != null)
          this[_destroyChild](this.firstChild);
        return;
      }
      if (dart.notNull(this.childCount) > 0 && (dart.notNull(this.indexOf(this.firstChild)) > dart.notNull(targetLastIndex) || dart.notNull(this.indexOf(this.lastChild)) < dart.notNull(targetFirstIndex))) {
        while (this.firstChild != null)
          this[_destroyChild](this.firstChild);
      }
      if (this.childCount === 0) {
        this[_createChild](targetFirstIndex);
        this[_layoutChild](this.firstChild, childConstraints, targetFirstIndex);
      }
      let currentFirstIndex = this.indexOf(this.firstChild);
      let currentLastIndex = this.indexOf(this.lastChild);
      while (dart.notNull(currentFirstIndex) < dart.notNull(targetFirstIndex)) {
        this[_destroyChild](this.firstChild);
        currentFirstIndex = dart.notNull(currentFirstIndex) + 1;
      }
      while (dart.notNull(currentLastIndex) > dart.notNull(targetLastIndex)) {
        this[_destroyChild](this.lastChild);
        currentLastIndex = dart.notNull(currentLastIndex) - 1;
      }
      let child = this.firstChild;
      while (child != null) {
        child.layout(childConstraints, {parentUsesSize: true});
        child = this.childAfter(child);
      }
      while (dart.notNull(currentFirstIndex) > dart.notNull(targetFirstIndex)) {
        this[_createChild](dart.notNull(currentFirstIndex) - 1);
        this[_layoutChild](this.firstChild, childConstraints, currentFirstIndex = dart.notNull(currentFirstIndex) - 1);
      }
      while (dart.notNull(currentLastIndex) < dart.notNull(targetLastIndex)) {
        this[_createChild](dart.notNull(currentLastIndex) + 1, {after: this.lastChild});
        this[_layoutChild](this.lastChild, childConstraints, currentLastIndex = dart.notNull(currentLastIndex) + 1);
      }
      this.offset.applyViewportDimension(this[_viewportExtent$]);
      let minScrollExtent = dart.test(this.childManager.childExistsAt(dart.notNull(targetFirstIndex) - 1)) ? this[_minEstimatedScrollExtent] : this.indexToScrollOffset(targetFirstIndex);
      let maxScrollExtent = dart.test(this.childManager.childExistsAt(dart.notNull(targetLastIndex) + 1)) ? this[_maxEstimatedScrollExtent] : this.indexToScrollOffset(targetLastIndex);
      this.offset.applyContentDimensions(minScrollExtent, maxScrollExtent);
    }
    [_shouldClipAtCurrentOffset]() {
      let highestUntransformedPaintY = this[_getUntransformedPaintingCoordinateY](0.0);
      return dart.notNull(highestUntransformedPaintY) < 0.0 || dart.notNull(this.size.height) < dart.notNull(highestUntransformedPaintY) + dart.notNull(this[_maxEstimatedScrollExtent]) + dart.notNull(this[_itemExtent$]);
    }
    paint(context, offset) {
      if (dart.notNull(this.childCount) > 0) {
        if (dart.test(this[_clipToSize]) && dart.test(this[_shouldClipAtCurrentOffset]())) {
          context.pushClipRect(this.needsCompositing, offset, ui.Offset.zero['&'](this.size), dart.bind(this, _paintVisibleChildren));
        } else {
          this[_paintVisibleChildren](context, offset);
        }
      }
    }
    [_paintVisibleChildren](context, offset) {
      let t38, t38$;
      let childToPaint = this.firstChild;
      let childParentData = list_wheel_viewport.ListWheelParentData.as((t38 = childToPaint, t38 == null ? null : t38.parentData));
      while (childParentData != null) {
        this[_paintTransformedChild](childToPaint, context, offset, childParentData.offset);
        childToPaint = this.childAfter(childToPaint);
        childParentData = list_wheel_viewport.ListWheelParentData.as((t38$ = childToPaint, t38$ == null ? null : t38$.parentData));
      }
    }
    [_paintTransformedChild](child, context, offset, layoutOffset) {
      let untransformedPaintingCoordinates = offset['+'](new ui.Offset.new(layoutOffset.dx, this[_getUntransformedPaintingCoordinateY](layoutOffset.dy)));
      let fractionalY = (dart.notNull(untransformedPaintingCoordinates.dy) + dart.notNull(this[_itemExtent$]) / 2.0) / dart.notNull(this.size.height);
      let angle = -(fractionalY - 0.5) * 2.0 * dart.notNull(this[_maxVisibleRadian]) / dart.notNull(this.squeeze);
      if (angle > 3.141592653589793 / 2.0 || angle < -3.141592653589793 / 2.0) return;
      let transform = matrix_utils.MatrixUtils.createCylindricalProjectionTransform({radius: dart.notNull(this.size.height) * dart.notNull(this[_diameterRatio]) / 2.0, angle: angle, perspective: this[_perspective]});
      let offsetToCenter = new ui.Offset.new(untransformedPaintingCoordinates.dx, -dart.notNull(this[_topScrollMarginExtent]));
      let shouldApplyOffCenterDim = dart.notNull(this.overAndUnderCenterOpacity) < 1;
      if (dart.test(this.useMagnifier) || shouldApplyOffCenterDim) {
        this[_paintChildWithMagnifier](context, offset, child, transform, offsetToCenter, untransformedPaintingCoordinates);
      } else {
        this[_paintChildCylindrically](context, offset, child, transform, offsetToCenter);
      }
    }
    [_paintChildWithMagnifier](context, offset, child, cylindricalTransform, offsetToCenter, untransformedPaintingCoordinates) {
      let magnifierTopLinePosition = dart.notNull(this.size.height) / 2 - dart.notNull(this[_itemExtent$]) * dart.notNull(this[_magnification]) / 2;
      let magnifierBottomLinePosition = dart.notNull(this.size.height) / 2 + dart.notNull(this[_itemExtent$]) * dart.notNull(this[_magnification]) / 2;
      let isAfterMagnifierTopLine = dart.notNull(untransformedPaintingCoordinates.dy) >= magnifierTopLinePosition - dart.notNull(this[_itemExtent$]) * dart.notNull(this[_magnification]);
      let isBeforeMagnifierBottomLine = dart.notNull(untransformedPaintingCoordinates.dy) <= magnifierBottomLinePosition;
      if (isAfterMagnifierTopLine && isBeforeMagnifierBottomLine) {
        let centerRect = new ui.Rect.fromLTWH(0.0, magnifierTopLinePosition, this.size.width, dart.notNull(this[_itemExtent$]) * dart.notNull(this[_magnification]));
        let topHalfRect = new ui.Rect.fromLTWH(0.0, 0.0, this.size.width, magnifierTopLinePosition);
        let bottomHalfRect = new ui.Rect.fromLTWH(0.0, magnifierBottomLinePosition, this.size.width, magnifierTopLinePosition);
        context.pushClipRect(this.needsCompositing, offset, centerRect, dart.fn((context, offset) => {
          context.pushTransform(this.needsCompositing, offset, this[_magnifyTransform](), dart.fn((context, offset) => {
            context.paintChild(child, offset['+'](untransformedPaintingCoordinates));
          }, PaintingContextAndOffsetToNull()));
        }, PaintingContextAndOffsetToNull()));
        context.pushClipRect(this.needsCompositing, offset, dart.notNull(untransformedPaintingCoordinates.dy) <= magnifierTopLinePosition ? topHalfRect : bottomHalfRect, dart.fn((context, offset) => {
          this[_paintChildCylindrically](context, offset, child, cylindricalTransform, offsetToCenter);
        }, PaintingContextAndOffsetToNull()));
      } else {
        this[_paintChildCylindrically](context, offset, child, cylindricalTransform, offsetToCenter);
      }
    }
    [_paintChildCylindrically](context, offset, child, cylindricalTransform, offsetToCenter) {
      let painter = dart.fn((context, offset) => {
        context.paintChild(child, offset['+'](offsetToCenter));
      }, PaintingContextAndOffsetToNull());
      let opacityPainter = dart.fn((context, offset) => {
        context.pushOpacity(offset, (dart.notNull(this.overAndUnderCenterOpacity) * 255)[$round](), painter);
      }, PaintingContextAndOffsetToNull());
      context.pushTransform(this.needsCompositing, offset, this[_centerOriginTransform](cylindricalTransform), this.overAndUnderCenterOpacity === 1 ? painter : opacityPainter);
    }
    [_magnifyTransform]() {
      let magnify = vector_math_64.Matrix4.identity();
      magnify.translate(dart.notNull(this.size.width) * (-dart.notNull(this[_offAxisFraction]) + 0.5), dart.notNull(this.size.height) / 2);
      magnify.scale(this[_magnification], this[_magnification], this[_magnification]);
      magnify.translate(-dart.notNull(this.size.width) * (-dart.notNull(this[_offAxisFraction]) + 0.5), -dart.notNull(this.size.height) / 2);
      return magnify;
    }
    [_centerOriginTransform](originalMatrix) {
      let result = vector_math_64.Matrix4.identity();
      let centerOriginTranslation = alignment.Alignment.center.alongSize(this.size);
      result.translate(dart.notNull(centerOriginTranslation.dx) * (-dart.notNull(this[_offAxisFraction]) * 2 + 1), centerOriginTranslation.dy);
      result.multiply(originalMatrix);
      result.translate(-dart.notNull(centerOriginTranslation.dx) * (-dart.notNull(this[_offAxisFraction]) * 2 + 1), -dart.notNull(centerOriginTranslation.dy));
      return result;
    }
    applyPaintTransform(child, transform) {
      let t38;
      box.RenderBox._check(child);
      let parentData = list_wheel_viewport.ListWheelParentData.as((t38 = child, t38 == null ? null : t38.parentData));
      transform.translate(0.0, this[_getUntransformedPaintingCoordinateY](parentData.offset.dy));
    }
    describeApproximatePaintClip(child) {
      object$.RenderObject._check(child);
      if (child != null && dart.test(this[_shouldClipAtCurrentOffset]())) {
        return ui.Offset.zero['&'](this.size);
      }
      return null;
    }
    hitTestChildren(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      return false;
    }
    getOffsetToReveal(target, alignment, opts) {
      let rect = opts && 'rect' in opts ? opts.rect : null;
      rect == null ? rect = target.paintBounds : null;
      let child = target;
      while (!dart.equals(child.parent, this))
        child = object$.RenderObject.as(child.parent);
      let parentData = list_wheel_viewport.ListWheelParentData.as(child.parentData);
      let targetOffset = parentData.offset.dy;
      let transform = target.getTransformTo(child);
      let bounds = matrix_utils.MatrixUtils.transformRect(transform, rect);
      let targetRect = bounds.translate(0.0, (dart.notNull(this.size.height) - dart.notNull(this.itemExtent)) / 2);
      return new viewport.RevealedOffset.new({offset: targetOffset, rect: targetRect});
    }
    showOnScreen(opts) {
      let descendant = opts && 'descendant' in opts ? opts.descendant : null;
      let rect = opts && 'rect' in opts ? opts.rect : null;
      let duration = opts && 'duration' in opts ? opts.duration : C4 || CT.C4;
      let curve = opts && 'curve' in opts ? opts.curve : C5 || CT.C5;
      if (descendant != null) {
        let revealedOffset = this.getOffsetToReveal(descendant, 0.5, {rect: rect});
        if (dart.equals(duration, core.Duration.zero)) {
          this.offset.jumpTo(revealedOffset.offset);
        } else {
          this.offset.animateTo(revealedOffset.offset, {duration: duration, curve: curve});
        }
        rect = revealedOffset.rect;
      }
      super.showOnScreen({rect: rect, duration: duration, curve: curve});
    }
  };
  (list_wheel_viewport.RenderListWheelViewport.new = function(opts) {
    let childManager = opts && 'childManager' in opts ? opts.childManager : null;
    let offset = opts && 'offset' in opts ? opts.offset : null;
    let diameterRatio = opts && 'diameterRatio' in opts ? opts.diameterRatio : 2;
    let perspective = opts && 'perspective' in opts ? opts.perspective : 0.003;
    let offAxisFraction = opts && 'offAxisFraction' in opts ? opts.offAxisFraction : 0;
    let useMagnifier = opts && 'useMagnifier' in opts ? opts.useMagnifier : false;
    let magnification = opts && 'magnification' in opts ? opts.magnification : 1;
    let overAndUnderCenterOpacity = opts && 'overAndUnderCenterOpacity' in opts ? opts.overAndUnderCenterOpacity : 1;
    let itemExtent = opts && 'itemExtent' in opts ? opts.itemExtent : null;
    let squeeze = opts && 'squeeze' in opts ? opts.squeeze : 1;
    let clipToSize = opts && 'clipToSize' in opts ? opts.clipToSize : true;
    let renderChildrenOutsideViewport = opts && 'renderChildrenOutsideViewport' in opts ? opts.renderChildrenOutsideViewport : false;
    let children = opts && 'children' in opts ? opts.children : null;
    this[_offAxisFraction] = 0.0;
    this[_useMagnifier] = false;
    this[_magnification] = 1.0;
    this[_overAndUnderCenterOpacity] = 1.0;
    this[childManager$] = childManager;
    if (!(childManager != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 149, 15, "childManager != null");
    if (!(offset != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 150, 15, "offset != null");
    if (!(diameterRatio != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 151, 15, "diameterRatio != null");
    if (!(dart.notNull(diameterRatio) > 0)) dart.assertFailed(list_wheel_viewport.RenderListWheelViewport.diameterRatioZeroMessage, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 152, 15, "diameterRatio > 0");
    if (!(perspective != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 153, 15, "perspective != null");
    if (!(dart.notNull(perspective) > 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 154, 15, "perspective > 0");
    if (!(dart.notNull(perspective) <= 0.01)) dart.assertFailed(list_wheel_viewport.RenderListWheelViewport.perspectiveTooHighMessage, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 155, 15, "perspective <= 0.01");
    if (!(offAxisFraction != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 156, 15, "offAxisFraction != null");
    if (!(useMagnifier != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 157, 15, "useMagnifier != null");
    if (!(magnification != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 158, 15, "magnification != null");
    if (!(dart.notNull(magnification) > 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 159, 15, "magnification > 0");
    if (!(overAndUnderCenterOpacity != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 160, 15, "overAndUnderCenterOpacity != null");
    if (!(dart.notNull(overAndUnderCenterOpacity) >= 0 && dart.notNull(overAndUnderCenterOpacity) <= 1)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 161, 15, "overAndUnderCenterOpacity >= 0 && overAndUnderCenterOpacity <= 1");
    if (!(itemExtent != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 162, 15, "itemExtent != null");
    if (!(squeeze != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 163, 15, "squeeze != null");
    if (!(dart.notNull(squeeze) > 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 164, 15, "squeeze > 0");
    if (!(dart.notNull(itemExtent) > 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 165, 15, "itemExtent > 0");
    if (!(clipToSize != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 166, 15, "clipToSize != null");
    if (!(renderChildrenOutsideViewport != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 167, 15, "renderChildrenOutsideViewport != null");
    if (!(!dart.test(renderChildrenOutsideViewport) || !dart.test(clipToSize))) dart.assertFailed(list_wheel_viewport.RenderListWheelViewport.clipToSizeAndRenderChildrenOutsideViewportConflict, "org-dartlang-app:///packages/flutter/src/rendering/list_wheel_viewport.dart", 169, 10, "!renderChildrenOutsideViewport || !clipToSize");
    this[_offset$2] = offset;
    this[_diameterRatio] = diameterRatio;
    this[_perspective] = perspective;
    this[_offAxisFraction] = offAxisFraction;
    this[_useMagnifier] = useMagnifier;
    this[_magnification] = magnification;
    this[_overAndUnderCenterOpacity] = overAndUnderCenterOpacity;
    this[_itemExtent$] = itemExtent;
    this[_squeeze] = squeeze;
    this[_clipToSize] = clipToSize;
    this[_renderChildrenOutsideViewport] = renderChildrenOutsideViewport;
    list_wheel_viewport.RenderListWheelViewport.__proto__.new.call(this);
    this.addAll(children);
  }).prototype = list_wheel_viewport.RenderListWheelViewport.prototype;
  dart.addTypeTests(list_wheel_viewport.RenderListWheelViewport);
  list_wheel_viewport.RenderListWheelViewport[dart.implements] = () => [viewport.RenderAbstractViewport];
  dart.setMethodSignature(list_wheel_viewport.RenderListWheelViewport, () => ({
    __proto__: dart.getMethods(list_wheel_viewport.RenderListWheelViewport.__proto__),
    [_hasScrolled]: dart.fnType(dart.void, []),
    [_getUntransformedPaintingCoordinateY]: dart.fnType(core.double, [core.double]),
    [_getIntrinsicCrossAxis$]: dart.fnType(core.double, [dart.fnType(core.double, [box.RenderBox])]),
    indexOf: dart.fnType(core.int, [box.RenderBox]),
    scrollOffsetToIndex: dart.fnType(core.int, [core.double]),
    indexToScrollOffset: dart.fnType(core.double, [core.int]),
    [_createChild]: dart.fnType(dart.void, [core.int], {after: box.RenderBox}, {}),
    [_destroyChild]: dart.fnType(dart.void, [box.RenderBox]),
    [_layoutChild]: dart.fnType(dart.void, [box.RenderBox, box.BoxConstraints, core.int]),
    [_shouldClipAtCurrentOffset]: dart.fnType(core.bool, []),
    [_paintVisibleChildren]: dart.fnType(dart.void, [object$.PaintingContext, ui.Offset]),
    [_paintTransformedChild]: dart.fnType(dart.void, [box.RenderBox, object$.PaintingContext, ui.Offset, ui.Offset]),
    [_paintChildWithMagnifier]: dart.fnType(dart.void, [object$.PaintingContext, ui.Offset, box.RenderBox, vector_math_64.Matrix4, ui.Offset, ui.Offset]),
    [_paintChildCylindrically]: dart.fnType(dart.void, [object$.PaintingContext, ui.Offset, box.RenderBox, vector_math_64.Matrix4, ui.Offset]),
    [_magnifyTransform]: dart.fnType(vector_math_64.Matrix4, []),
    [_centerOriginTransform]: dart.fnType(vector_math_64.Matrix4, [vector_math_64.Matrix4]),
    getOffsetToReveal: dart.fnType(viewport.RevealedOffset, [object$.RenderObject, core.double], {rect: ui.Rect}, {})
  }));
  dart.setGetterSignature(list_wheel_viewport.RenderListWheelViewport, () => ({
    __proto__: dart.getGetters(list_wheel_viewport.RenderListWheelViewport.__proto__),
    offset: viewport_offset.ViewportOffset,
    diameterRatio: core.double,
    perspective: core.double,
    offAxisFraction: core.double,
    useMagnifier: core.bool,
    magnification: core.double,
    overAndUnderCenterOpacity: core.double,
    itemExtent: core.double,
    squeeze: core.double,
    clipToSize: core.bool,
    renderChildrenOutsideViewport: core.bool,
    [_viewportExtent$]: core.double,
    [_minEstimatedScrollExtent]: core.double,
    [_maxEstimatedScrollExtent]: core.double,
    [_topScrollMarginExtent]: core.double,
    [_maxVisibleRadian]: core.double
  }));
  dart.setSetterSignature(list_wheel_viewport.RenderListWheelViewport, () => ({
    __proto__: dart.getSetters(list_wheel_viewport.RenderListWheelViewport.__proto__),
    offset: viewport_offset.ViewportOffset,
    diameterRatio: core.double,
    perspective: core.double,
    offAxisFraction: core.double,
    useMagnifier: core.bool,
    magnification: core.double,
    overAndUnderCenterOpacity: core.double,
    itemExtent: core.double,
    squeeze: core.double,
    clipToSize: core.bool,
    renderChildrenOutsideViewport: core.bool
  }));
  dart.setLibraryUri(list_wheel_viewport.RenderListWheelViewport, "package:flutter/src/rendering/list_wheel_viewport.dart");
  dart.setFieldSignature(list_wheel_viewport.RenderListWheelViewport, () => ({
    __proto__: dart.getFields(list_wheel_viewport.RenderListWheelViewport.__proto__),
    childManager: dart.finalFieldType(list_wheel_viewport.ListWheelChildManager),
    [_offset$2]: dart.fieldType(viewport_offset.ViewportOffset),
    [_diameterRatio]: dart.fieldType(core.double),
    [_perspective]: dart.fieldType(core.double),
    [_offAxisFraction]: dart.fieldType(core.double),
    [_useMagnifier]: dart.fieldType(core.bool),
    [_magnification]: dart.fieldType(core.double),
    [_overAndUnderCenterOpacity]: dart.fieldType(core.double),
    [_itemExtent$]: dart.fieldType(core.double),
    [_squeeze]: dart.fieldType(core.double),
    [_clipToSize]: dart.fieldType(core.bool),
    [_renderChildrenOutsideViewport]: dart.fieldType(core.bool)
  }));
  dart.defineLazy(list_wheel_viewport.RenderListWheelViewport, {
    /*list_wheel_viewport.RenderListWheelViewport.defaultDiameterRatio*/get defaultDiameterRatio() {
      return 2;
    },
    /*list_wheel_viewport.RenderListWheelViewport.defaultPerspective*/get defaultPerspective() {
      return 0.003;
    },
    /*list_wheel_viewport.RenderListWheelViewport.diameterRatioZeroMessage*/get diameterRatioZeroMessage() {
      return "You can't set a diameterRatio of 0 or of a negative number. It would imply a cylinder of 0 in diameter in which case nothing will be drawn.";
    },
    /*list_wheel_viewport.RenderListWheelViewport.perspectiveTooHighMessage*/get perspectiveTooHighMessage() {
      return "A perspective too high will be clipped in the z-axis and therefore not renderable. Value must be between 0 and 0.01.";
    },
    /*list_wheel_viewport.RenderListWheelViewport.clipToSizeAndRenderChildrenOutsideViewportConflict*/get clipToSizeAndRenderChildrenOutsideViewportConflict() {
      return "Cannot renderChildrenOutsideViewport and clipToSize since children rendered outside will be clipped anyway.";
    }
  });
  const _paragraph = dart.privateName(error$, "_paragraph");
  let C182;
  let C183;
  let C184;
  let C185;
  let C186;
  const message$ = dart.privateName(error$, "RenderErrorBox.message");
  let C187;
  error$.RenderErrorBox = class RenderErrorBox extends box.RenderBox {
    get message() {
      return this[message$];
    }
    set message(value) {
      super.message = value;
    }
    computeMaxIntrinsicWidth(height) {
      return 100000;
    }
    computeMaxIntrinsicHeight(width) {
      return 100000;
    }
    get sizedByParent() {
      return true;
    }
    hitTestSelf(position) {
      return true;
    }
    performResize() {
      this.size = this.constraints.constrain(C182 || CT.C182);
    }
    static _initBackgroundColor() {
      let result = C183 || CT.C183;
      if (!dart.test(dart.fn(() => {
        result = C184 || CT.C184;
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/error.dart", 107, 12, "() {\r\n      result = const Color(0xF0900000);\r\n      return true;\r\n    }()");
      return result;
    }
    static _initTextStyle() {
      let result = ui.TextStyle.new({color: C185 || CT.C185, fontFamily: "sans-serif", fontSize: 18.0});
      if (!dart.test(dart.fn(() => {
        result = ui.TextStyle.new({color: C186 || CT.C186, fontFamily: "monospace", fontSize: 14.0, fontWeight: ui.FontWeight.bold});
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/error.dart", 126, 12, "() {\r\n      result = ui.TextStyle(\r\n        color: const Color(0xFFFFFF66),\r\n        fontFamily: 'monospace',\r\n        fontSize: 14.0,\r\n        fontWeight: FontWeight.bold,\r\n      );\r\n      return true;\r\n    }()");
      return result;
    }
    paint(context, offset) {
      let t39;
      try {
        context.canvas.drawRect(offset['&'](this.size), (t39 = ui.Paint.new(), t39.color = error$.RenderErrorBox.backgroundColor, t39));
        if (this[_paragraph] != null) {
          let width = this.size.width;
          let left = 0.0;
          let top = 0.0;
          if (dart.notNull(width) > dart.notNull(error$.RenderErrorBox.padding.left) + dart.notNull(error$.RenderErrorBox.minimumWidth) + dart.notNull(error$.RenderErrorBox.padding.right)) {
            width = dart.notNull(width) - (dart.notNull(error$.RenderErrorBox.padding.left) + dart.notNull(error$.RenderErrorBox.padding.right));
            left = left + dart.notNull(error$.RenderErrorBox.padding.left);
          }
          this[_paragraph].layout(new ui.ParagraphConstraints.new({width: width}));
          if (dart.notNull(this.size.height) > dart.notNull(error$.RenderErrorBox.padding.top) + dart.notNull(this[_paragraph].height) + dart.notNull(error$.RenderErrorBox.padding.bottom)) {
            top = top + dart.notNull(error$.RenderErrorBox.padding.top);
          }
          context.canvas.drawParagraph(this[_paragraph], offset['+'](new ui.Offset.new(left, top)));
        }
      } catch (e$) {
        let e = dart.getThrown(e$);
      }
    }
  };
  (error$.RenderErrorBox.new = function(message = "") {
    this[_paragraph] = null;
    this[message$] = message;
    error$.RenderErrorBox.__proto__.new.call(this);
    try {
      if (this.message !== "") {
        let builder = ui.ParagraphBuilder.new(error$.RenderErrorBox.paragraphStyle);
        builder.pushStyle(error$.RenderErrorBox.textStyle);
        builder.addText(this.message);
        this[_paragraph] = builder.build();
      }
    } catch (e) {
      let error = dart.getThrown(e);
    }
  }).prototype = error$.RenderErrorBox.prototype;
  dart.addTypeTests(error$.RenderErrorBox);
  dart.setLibraryUri(error$.RenderErrorBox, "package:flutter/src/rendering/error.dart");
  dart.setFieldSignature(error$.RenderErrorBox, () => ({
    __proto__: dart.getFields(error$.RenderErrorBox.__proto__),
    message: dart.finalFieldType(core.String),
    [_paragraph]: dart.fieldType(ui.Paragraph)
  }));
  dart.defineLazy(error$.RenderErrorBox, {
    /*error$.RenderErrorBox.padding*/get padding() {
      return C187 || CT.C187;
    },
    set padding(_) {},
    /*error$.RenderErrorBox.minimumWidth*/get minimumWidth() {
      return 200.0;
    },
    set minimumWidth(_) {},
    /*error$.RenderErrorBox.backgroundColor*/get backgroundColor() {
      return error$.RenderErrorBox._initBackgroundColor();
    },
    set backgroundColor(_) {},
    /*error$.RenderErrorBox.textStyle*/get textStyle() {
      return error$.RenderErrorBox._initTextStyle();
    },
    set textStyle(_) {},
    /*error$.RenderErrorBox.paragraphStyle*/get paragraphStyle() {
      return ui.ParagraphStyle.new({textDirection: ui.TextDirection.ltr, textAlign: ui.TextAlign.left});
    },
    set paragraphStyle(_) {}
  });
  dart.defineLazy(error$, {
    /*error$._kMaxWidth*/get _kMaxWidth() {
      return 100000;
    },
    /*error$._kMaxHeight*/get _kMaxHeight() {
      return 100000;
    }
  });
  const _name$20 = dart.privateName(flex$, "_name");
  let C188;
  let C189;
  let C190;
  flex$.FlexFit = class FlexFit extends core.Object {
    toString() {
      return this[_name$20];
    }
  };
  (flex$.FlexFit.new = function(index, _name) {
    this.index = index;
    this[_name$20] = _name;
    ;
  }).prototype = flex$.FlexFit.prototype;
  dart.addTypeTests(flex$.FlexFit);
  dart.setLibraryUri(flex$.FlexFit, "package:flutter/src/rendering/flex.dart");
  dart.setFieldSignature(flex$.FlexFit, () => ({
    __proto__: dart.getFields(flex$.FlexFit.__proto__),
    index: dart.finalFieldType(core.int),
    [_name$20]: dart.finalFieldType(core.String)
  }));
  dart.defineExtensionMethods(flex$.FlexFit, ['toString']);
  flex$.FlexFit.tight = C188 || CT.C188;
  flex$.FlexFit.loose = C189 || CT.C189;
  flex$.FlexFit.values = C190 || CT.C190;
  const flex = dart.privateName(flex$, "FlexParentData.flex");
  const fit = dart.privateName(flex$, "FlexParentData.fit");
  flex$.FlexParentData = class FlexParentData extends box.ContainerBoxParentData$(box.RenderBox) {
    get flex() {
      return this[flex];
    }
    set flex(value) {
      this[flex] = value;
    }
    get fit() {
      return this[fit];
    }
    set fit(value) {
      this[fit] = value;
    }
    toString() {
      return dart.str(super.toString()) + "; flex=" + dart.str(this.flex) + "; fit=" + dart.str(this.fit);
    }
  };
  (flex$.FlexParentData.new = function() {
    this[flex] = null;
    this[fit] = null;
    flex$.FlexParentData.__proto__.new.call(this);
    ;
  }).prototype = flex$.FlexParentData.prototype;
  dart.addTypeTests(flex$.FlexParentData);
  dart.setLibraryUri(flex$.FlexParentData, "package:flutter/src/rendering/flex.dart");
  dart.setFieldSignature(flex$.FlexParentData, () => ({
    __proto__: dart.getFields(flex$.FlexParentData.__proto__),
    flex: dart.fieldType(core.int),
    fit: dart.fieldType(flex$.FlexFit)
  }));
  dart.defineExtensionMethods(flex$.FlexParentData, ['toString']);
  let C191;
  let C192;
  let C193;
  flex$.MainAxisSize = class MainAxisSize extends core.Object {
    toString() {
      return this[_name$20];
    }
  };
  (flex$.MainAxisSize.new = function(index, _name) {
    this.index = index;
    this[_name$20] = _name;
    ;
  }).prototype = flex$.MainAxisSize.prototype;
  dart.addTypeTests(flex$.MainAxisSize);
  dart.setLibraryUri(flex$.MainAxisSize, "package:flutter/src/rendering/flex.dart");
  dart.setFieldSignature(flex$.MainAxisSize, () => ({
    __proto__: dart.getFields(flex$.MainAxisSize.__proto__),
    index: dart.finalFieldType(core.int),
    [_name$20]: dart.finalFieldType(core.String)
  }));
  dart.defineExtensionMethods(flex$.MainAxisSize, ['toString']);
  flex$.MainAxisSize.min = C191 || CT.C191;
  flex$.MainAxisSize.max = C192 || CT.C192;
  flex$.MainAxisSize.values = C193 || CT.C193;
  let C194;
  let C195;
  let C196;
  let C197;
  let C198;
  let C199;
  let C200;
  flex$.MainAxisAlignment = class MainAxisAlignment extends core.Object {
    toString() {
      return this[_name$20];
    }
  };
  (flex$.MainAxisAlignment.new = function(index, _name) {
    this.index = index;
    this[_name$20] = _name;
    ;
  }).prototype = flex$.MainAxisAlignment.prototype;
  dart.addTypeTests(flex$.MainAxisAlignment);
  dart.setLibraryUri(flex$.MainAxisAlignment, "package:flutter/src/rendering/flex.dart");
  dart.setFieldSignature(flex$.MainAxisAlignment, () => ({
    __proto__: dart.getFields(flex$.MainAxisAlignment.__proto__),
    index: dart.finalFieldType(core.int),
    [_name$20]: dart.finalFieldType(core.String)
  }));
  dart.defineExtensionMethods(flex$.MainAxisAlignment, ['toString']);
  flex$.MainAxisAlignment.start = C194 || CT.C194;
  flex$.MainAxisAlignment.end = C195 || CT.C195;
  flex$.MainAxisAlignment.center = C196 || CT.C196;
  flex$.MainAxisAlignment.spaceBetween = C197 || CT.C197;
  flex$.MainAxisAlignment.spaceAround = C198 || CT.C198;
  flex$.MainAxisAlignment.spaceEvenly = C199 || CT.C199;
  flex$.MainAxisAlignment.values = C200 || CT.C200;
  let C201;
  let C202;
  let C203;
  let C204;
  let C205;
  let C206;
  flex$.CrossAxisAlignment = class CrossAxisAlignment extends core.Object {
    toString() {
      return this[_name$20];
    }
  };
  (flex$.CrossAxisAlignment.new = function(index, _name) {
    this.index = index;
    this[_name$20] = _name;
    ;
  }).prototype = flex$.CrossAxisAlignment.prototype;
  dart.addTypeTests(flex$.CrossAxisAlignment);
  dart.setLibraryUri(flex$.CrossAxisAlignment, "package:flutter/src/rendering/flex.dart");
  dart.setFieldSignature(flex$.CrossAxisAlignment, () => ({
    __proto__: dart.getFields(flex$.CrossAxisAlignment.__proto__),
    index: dart.finalFieldType(core.int),
    [_name$20]: dart.finalFieldType(core.String)
  }));
  dart.defineExtensionMethods(flex$.CrossAxisAlignment, ['toString']);
  flex$.CrossAxisAlignment.start = C201 || CT.C201;
  flex$.CrossAxisAlignment.end = C202 || CT.C202;
  flex$.CrossAxisAlignment.center = C203 || CT.C203;
  flex$.CrossAxisAlignment.stretch = C204 || CT.C204;
  flex$.CrossAxisAlignment.baseline = C205 || CT.C205;
  flex$.CrossAxisAlignment.values = C206 || CT.C206;
  const _overflow$0 = dart.privateName(flex$, "_overflow");
  const _direction$ = dart.privateName(flex$, "_direction");
  const _mainAxisAlignment = dart.privateName(flex$, "_mainAxisAlignment");
  const _mainAxisSize = dart.privateName(flex$, "_mainAxisSize");
  const _crossAxisAlignment$ = dart.privateName(flex$, "_crossAxisAlignment");
  const _textDirection$4 = dart.privateName(flex$, "_textDirection");
  const _verticalDirection$ = dart.privateName(flex$, "_verticalDirection");
  const _textBaseline$ = dart.privateName(flex$, "_textBaseline");
  const _debugHasNecessaryDirections$ = dart.privateName(flex$, "_debugHasNecessaryDirections");
  const _hasOverflow = dart.privateName(flex$, "_hasOverflow");
  const _getFlex = dart.privateName(flex$, "_getFlex");
  const _getIntrinsicSize = dart.privateName(flex$, "_getIntrinsicSize");
  const _getFit = dart.privateName(flex$, "_getFit");
  const _getCrossSize = dart.privateName(flex$, "_getCrossSize");
  const _getMainSize = dart.privateName(flex$, "_getMainSize");
  const RenderBox_ContainerRenderObjectMixin$36$4 = class RenderBox_ContainerRenderObjectMixin extends box.RenderBox {};
  (RenderBox_ContainerRenderObjectMixin$36$4.new = function() {
    object$.ContainerRenderObjectMixin$(box.RenderBox, flex$.FlexParentData)[dart.mixinNew].call(this);
    RenderBox_ContainerRenderObjectMixin$36$4.__proto__.new.call(this);
  }).prototype = RenderBox_ContainerRenderObjectMixin$36$4.prototype;
  dart.applyMixin(RenderBox_ContainerRenderObjectMixin$36$4, object$.ContainerRenderObjectMixin$(box.RenderBox, flex$.FlexParentData));
  const RenderBox_RenderBoxContainerDefaultsMixin$36$3 = class RenderBox_RenderBoxContainerDefaultsMixin extends RenderBox_ContainerRenderObjectMixin$36$4 {};
  (RenderBox_RenderBoxContainerDefaultsMixin$36$3.new = function() {
    RenderBox_RenderBoxContainerDefaultsMixin$36$3.__proto__.new.call(this);
  }).prototype = RenderBox_RenderBoxContainerDefaultsMixin$36$3.prototype;
  dart.applyMixin(RenderBox_RenderBoxContainerDefaultsMixin$36$3, box.RenderBoxContainerDefaultsMixin$(box.RenderBox, flex$.FlexParentData));
  const RenderBox_DebugOverflowIndicatorMixin$36 = class RenderBox_DebugOverflowIndicatorMixin extends RenderBox_RenderBoxContainerDefaultsMixin$36$3 {};
  (RenderBox_DebugOverflowIndicatorMixin$36.new = function() {
    debug_overflow_indicator.DebugOverflowIndicatorMixin[dart.mixinNew].call(this);
    RenderBox_DebugOverflowIndicatorMixin$36.__proto__.new.call(this);
  }).prototype = RenderBox_DebugOverflowIndicatorMixin$36.prototype;
  dart.applyMixin(RenderBox_DebugOverflowIndicatorMixin$36, debug_overflow_indicator.DebugOverflowIndicatorMixin);
  flex$.RenderFlex = class RenderFlex extends RenderBox_DebugOverflowIndicatorMixin$36 {
    get direction() {
      return this[_direction$];
    }
    set direction(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 298, 12, "value != null");
      if (!dart.equals(this[_direction$], value)) {
        this[_direction$] = value;
        this.markNeedsLayout();
      }
    }
    get mainAxisAlignment() {
      return this[_mainAxisAlignment];
    }
    set mainAxisAlignment(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 317, 12, "value != null");
      if (!dart.equals(this[_mainAxisAlignment], value)) {
        this[_mainAxisAlignment] = value;
        this.markNeedsLayout();
      }
    }
    get mainAxisSize() {
      return this[_mainAxisSize];
    }
    set mainAxisSize(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 337, 12, "value != null");
      if (!dart.equals(this[_mainAxisSize], value)) {
        this[_mainAxisSize] = value;
        this.markNeedsLayout();
      }
    }
    get crossAxisAlignment() {
      return this[_crossAxisAlignment$];
    }
    set crossAxisAlignment(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 356, 12, "value != null");
      if (!dart.equals(this[_crossAxisAlignment$], value)) {
        this[_crossAxisAlignment$] = value;
        this.markNeedsLayout();
      }
    }
    get textDirection() {
      return this[_textDirection$4];
    }
    set textDirection(value) {
      if (!dart.equals(this[_textDirection$4], value)) {
        this[_textDirection$4] = value;
        this.markNeedsLayout();
      }
    }
    get verticalDirection() {
      return this[_verticalDirection$];
    }
    set verticalDirection(value) {
      if (!dart.equals(this[_verticalDirection$], value)) {
        this[_verticalDirection$] = value;
        this.markNeedsLayout();
      }
    }
    get textBaseline() {
      return this[_textBaseline$];
    }
    set textBaseline(value) {
      if (!(!dart.equals(this[_crossAxisAlignment$], flex$.CrossAxisAlignment.baseline) || value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 425, 12, "_crossAxisAlignment != CrossAxisAlignment.baseline || value != null");
      if (!dart.equals(this[_textBaseline$], value)) {
        this[_textBaseline$] = value;
        this.markNeedsLayout();
      }
    }
    get [_debugHasNecessaryDirections$]() {
      if (!(this.direction != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 433, 12, "direction != null");
      if (!(this.crossAxisAlignment != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 434, 12, "crossAxisAlignment != null");
      if (this.firstChild != null && !dart.equals(this.lastChild, this.firstChild)) {
        switch (this.direction) {
          case C30 || CT.C30:
          {
            if (!(this.textDirection != null)) dart.assertFailed("Horizontal " + dart.str(this[$runtimeType]) + " with multiple children has a null textDirection, so the layout order is undefined.", "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 439, 18, "textDirection != null");
            break;
          }
          case C31 || CT.C31:
          {
            if (!(this.verticalDirection != null)) dart.assertFailed("Vertical " + dart.str(this[$runtimeType]) + " with multiple children has a null verticalDirection, so the layout order is undefined.", "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 442, 18, "verticalDirection != null");
            break;
          }
        }
      }
      if (dart.equals(this.mainAxisAlignment, flex$.MainAxisAlignment.start) || dart.equals(this.mainAxisAlignment, flex$.MainAxisAlignment.end)) {
        switch (this.direction) {
          case C30 || CT.C30:
          {
            if (!(this.textDirection != null)) dart.assertFailed("Horizontal " + dart.str(this[$runtimeType]) + " with " + dart.str(this.mainAxisAlignment) + " has a null textDirection, so the alignment cannot be resolved.", "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 450, 18, "textDirection != null");
            break;
          }
          case C31 || CT.C31:
          {
            if (!(this.verticalDirection != null)) dart.assertFailed("Vertical " + dart.str(this[$runtimeType]) + " with " + dart.str(this.mainAxisAlignment) + " has a null verticalDirection, so the alignment cannot be resolved.", "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 453, 18, "verticalDirection != null");
            break;
          }
        }
      }
      if (dart.equals(this.crossAxisAlignment, flex$.CrossAxisAlignment.start) || dart.equals(this.crossAxisAlignment, flex$.CrossAxisAlignment.end)) {
        switch (this.direction) {
          case C30 || CT.C30:
          {
            if (!(this.verticalDirection != null)) dart.assertFailed("Horizontal " + dart.str(this[$runtimeType]) + " with " + dart.str(this.crossAxisAlignment) + " has a null verticalDirection, so the alignment cannot be resolved.", "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 461, 18, "verticalDirection != null");
            break;
          }
          case C31 || CT.C31:
          {
            if (!(this.textDirection != null)) dart.assertFailed("Vertical " + dart.str(this[$runtimeType]) + " with " + dart.str(this.crossAxisAlignment) + " has a null textDirection, so the alignment cannot be resolved.", "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 464, 18, "textDirection != null");
            break;
          }
        }
      }
      return true;
    }
    get [_hasOverflow]() {
      return dart.notNull(this[_overflow$0]) > 1e-10;
    }
    setupParentData(child) {
      box.RenderBox._check(child);
      if (!flex$.FlexParentData.is(child.parentData)) child.parentData = new flex$.FlexParentData.new();
    }
    [_getIntrinsicSize](opts) {
      let sizingDirection = opts && 'sizingDirection' in opts ? opts.sizingDirection : null;
      let extent = opts && 'extent' in opts ? opts.extent : null;
      let childSize = opts && 'childSize' in opts ? opts.childSize : null;
      if (dart.equals(this[_direction$], sizingDirection)) {
        let totalFlex = 0.0;
        let inflexibleSpace = 0.0;
        let maxFlexFractionSoFar = 0.0;
        let child = this.firstChild;
        while (child != null) {
          let flex = this[_getFlex](child);
          totalFlex = totalFlex + dart.notNull(flex);
          if (dart.notNull(flex) > 0) {
            let flexFraction = dart.notNull(childSize(child, extent)) / dart.notNull(this[_getFlex](child));
            maxFlexFractionSoFar = math.max(core.double, maxFlexFractionSoFar, flexFraction);
          } else {
            inflexibleSpace = inflexibleSpace + dart.notNull(childSize(child, extent));
          }
          let childParentData = flex$.FlexParentData.as(child.parentData);
          child = childParentData.nextSibling;
        }
        return maxFlexFractionSoFar * totalFlex + inflexibleSpace;
      } else {
        let availableMainSpace = extent;
        let totalFlex = 0;
        let inflexibleSpace = 0.0;
        let maxCrossSize = 0.0;
        let child = this.firstChild;
        while (child != null) {
          let flex = this[_getFlex](child);
          totalFlex = totalFlex + dart.notNull(flex);
          let mainSize = null;
          let crossSize = null;
          if (flex === 0) {
            switch (this[_direction$]) {
              case C30 || CT.C30:
              {
                mainSize = child.getMaxIntrinsicWidth(1 / 0);
                crossSize = childSize(child, mainSize);
                break;
              }
              case C31 || CT.C31:
              {
                mainSize = child.getMaxIntrinsicHeight(1 / 0);
                crossSize = childSize(child, mainSize);
                break;
              }
            }
            inflexibleSpace = inflexibleSpace + dart.notNull(mainSize);
            maxCrossSize = math.max(core.double, maxCrossSize, crossSize);
          }
          let childParentData = flex$.FlexParentData.as(child.parentData);
          child = childParentData.nextSibling;
        }
        let spacePerFlex = math.max(core.double, 0.0, (dart.notNull(availableMainSpace) - inflexibleSpace) / totalFlex);
        child = this.firstChild;
        while (child != null) {
          let flex = this[_getFlex](child);
          if (dart.notNull(flex) > 0) maxCrossSize = math.max(core.double, maxCrossSize, childSize(child, spacePerFlex * dart.notNull(flex)));
          let childParentData = flex$.FlexParentData.as(child.parentData);
          child = childParentData.nextSibling;
        }
        return maxCrossSize;
      }
    }
    computeMinIntrinsicWidth(height) {
      return this[_getIntrinsicSize]({sizingDirection: basic_types$.Axis.horizontal, extent: height, childSize: dart.fn((child, extent) => child.getMinIntrinsicWidth(extent), RenderBoxAnddoubleTodouble())});
    }
    computeMaxIntrinsicWidth(height) {
      return this[_getIntrinsicSize]({sizingDirection: basic_types$.Axis.horizontal, extent: height, childSize: dart.fn((child, extent) => child.getMaxIntrinsicWidth(extent), RenderBoxAnddoubleTodouble())});
    }
    computeMinIntrinsicHeight(width) {
      return this[_getIntrinsicSize]({sizingDirection: basic_types$.Axis.vertical, extent: width, childSize: dart.fn((child, extent) => child.getMinIntrinsicHeight(extent), RenderBoxAnddoubleTodouble())});
    }
    computeMaxIntrinsicHeight(width) {
      return this[_getIntrinsicSize]({sizingDirection: basic_types$.Axis.vertical, extent: width, childSize: dart.fn((child, extent) => child.getMaxIntrinsicHeight(extent), RenderBoxAnddoubleTodouble())});
    }
    computeDistanceToActualBaseline(baseline) {
      if (dart.equals(this[_direction$], basic_types$.Axis.horizontal)) return this.defaultComputeDistanceToHighestActualBaseline(baseline);
      return this.defaultComputeDistanceToFirstActualBaseline(baseline);
    }
    [_getFlex](child) {
      let t40;
      let childParentData = flex$.FlexParentData.as(child.parentData);
      t40 = childParentData.flex;
      return t40 == null ? 0 : t40;
    }
    [_getFit](child) {
      let t40;
      let childParentData = flex$.FlexParentData.as(child.parentData);
      t40 = childParentData.fit;
      return t40 == null ? flex$.FlexFit.tight : t40;
    }
    [_getCrossSize](child) {
      switch (this[_direction$]) {
        case C30 || CT.C30:
        {
          return child.size.height;
        }
        case C31 || CT.C31:
        {
          return child.size.width;
        }
      }
      return null;
    }
    [_getMainSize](child) {
      switch (this[_direction$]) {
        case C30 || CT.C30:
        {
          return child.size.width;
        }
        case C31 || CT.C31:
        {
          return child.size.height;
        }
      }
      return null;
    }
    performLayout() {
      let t42;
      if (!dart.test(this[_debugHasNecessaryDirections$])) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 638, 12, "_debugHasNecessaryDirections");
      let totalFlex = 0;
      let totalChildren = 0;
      if (!(this.constraints != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 642, 12, "constraints != null");
      let maxMainSize = dart.equals(this[_direction$], basic_types$.Axis.horizontal) ? this.constraints.maxWidth : this.constraints.maxHeight;
      let canFlex = dart.notNull(maxMainSize) < 1 / 0;
      let crossSize = 0.0;
      let allocatedSize = 0.0;
      let child = this.firstChild;
      let lastFlexChild = null;
      while (child != null) {
        let childParentData = flex$.FlexParentData.as(child.parentData);
        totalChildren = totalChildren + 1;
        let flex = this[_getFlex](child);
        if (dart.notNull(flex) > 0) {
          if (!dart.test(dart.fn(() => {
            let identity = dart.equals(this[_direction$], basic_types$.Axis.horizontal) ? "row" : "column";
            let axis = dart.equals(this[_direction$], basic_types$.Axis.horizontal) ? "horizontal" : "vertical";
            let dimension = dart.equals(this[_direction$], basic_types$.Axis.horizontal) ? "width" : "height";
            let error = null;
            let message = null;
            let addendum = JSArrayOfDiagnosticsNode().of([]);
            if (!canFlex && (dart.equals(this.mainAxisSize, flex$.MainAxisSize.max) || dart.equals(this[_getFit](child), flex$.FlexFit.tight))) {
              error = new assertions.ErrorSummary.new("RenderFlex children have non-zero flex but incoming " + dimension + " constraints are unbounded.");
              message = new assertions.ErrorDescription.new("When a " + identity + " is in a parent that does not provide a finite " + dimension + " constraint, for example " + "if it is in a " + axis + " scrollable, it will try to shrink-wrap its children along the " + axis + " " + "axis. Setting a flex on a child (e.g. using Expanded) indicates that the child is to " + "expand to fill the remaining space in the " + axis + " direction.");
              let node = this;
              switch (this[_direction$]) {
                case C30 || CT.C30:
                {
                  while (!dart.test(node.constraints.hasBoundedWidth) && box.RenderBox.is(node.parent))
                    node = box.RenderBox.as(node.parent);
                  if (!dart.test(node.constraints.hasBoundedWidth)) node = null;
                  break;
                }
                case C31 || CT.C31:
                {
                  while (!dart.test(node.constraints.hasBoundedHeight) && box.RenderBox.is(node.parent))
                    node = box.RenderBox.as(node.parent);
                  if (!dart.test(node.constraints.hasBoundedHeight)) node = null;
                  break;
                }
              }
              if (node != null) {
                addendum[$add](node.describeForError("The nearest ancestor providing an unbounded width constraint is"));
              }
              addendum[$add](new assertions.ErrorHint.new("See also: https://flutter.dev/layout/"));
            } else {
              return true;
            }
            dart.throw(new assertions.FlutterError.fromParts((() => {
              let t40 = JSArrayOfDiagnosticsNode().of([]);
              t40[$add](error);
              t40[$add](message);
              t40[$add](new assertions.ErrorDescription.new("These two directives are mutually exclusive. If a parent is to shrink-wrap its child, the child " + "cannot simultaneously expand to fit its parent."));
              t40[$add](new assertions.ErrorHint.new("Consider setting mainAxisSize to MainAxisSize.min and using FlexFit.loose fits for the flexible " + "children (using Flexible rather than Expanded). This will allow the flexible children " + "to size themselves to less than the infinite remaining space they would otherwise be " + "forced to take, and then will cause the RenderFlex to shrink-wrap the children " + "rather than expanding to fit the maximum constraints provided by the parent."));
              t40[$add](new assertions.ErrorDescription.new("If this message did not help you determine the problem, consider using debugDumpRenderTree():\n" + "  https://flutter.dev/debugging/#rendering-layer\n" + "  http://api.flutter.dev/flutter/rendering/debugDumpRenderTree.html"));
              t40[$add](this.describeForError("The affected RenderFlex is", {style: diagnostics.DiagnosticsTreeStyle.errorProperty}));
              t40[$add](new diagnostics.DiagnosticsProperty.new("The creator information is set to", this.debugCreator, {style: diagnostics.DiagnosticsTreeStyle.errorProperty}));
              for (let t41 of addendum)
                t40[$add](t41);
              t40[$add](new assertions.ErrorDescription.new("If none of the above helps enough to fix this problem, please don't hesitate to file a bug:\n" + "  https://github.com/flutter/flutter/issues/new?template=BUG.md"));
              return t40;
            })()));
          }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 655, 16, "() {\r\n          final String identity = _direction == Axis.horizontal ? 'row' : 'column';\r\n          final String axis = _direction == Axis.horizontal ? 'horizontal' : 'vertical';\r\n          final String dimension = _direction == Axis.horizontal ? 'width' : 'height';\r\n          DiagnosticsNode error, message;\r\n          final List<DiagnosticsNode> addendum = <DiagnosticsNode>[];\r\n          if (!canFlex && (mainAxisSize == MainAxisSize.max || _getFit(child) == FlexFit.tight)) {\r\n            error = ErrorSummary('RenderFlex children have non-zero flex but incoming $dimension constraints are unbounded.');\r\n            message = ErrorDescription(\r\n              'When a $identity is in a parent that does not provide a finite $dimension constraint, for example '\r\n              'if it is in a $axis scrollable, it will try to shrink-wrap its children along the $axis '\r\n              'axis. Setting a flex on a child (e.g. using Expanded) indicates that the child is to '\r\n              'expand to fill the remaining space in the $axis direction.'\r\n            );\r\n            RenderBox node = this;\r\n            switch (_direction) {\r\n              case Axis.horizontal:\r\n                while (!node.constraints.hasBoundedWidth && node.parent is RenderBox)\r\n                  node = node.parent as RenderBox;\r\n                if (!node.constraints.hasBoundedWidth)\r\n                  node = null;\r\n                break;\r\n              case Axis.vertical:\r\n                while (!node.constraints.hasBoundedHeight && node.parent is RenderBox)\r\n                  node = node.parent as RenderBox;\r\n                if (!node.constraints.hasBoundedHeight)\r\n                  node = null;\r\n                break;\r\n            }\r\n            if (node != null) {\r\n              addendum.add(node.describeForError('The nearest ancestor providing an unbounded width constraint is'));\r\n            }\r\n            addendum.add(ErrorHint('See also: https://flutter.dev/layout/'));\r\n          } else {\r\n            return true;\r\n          }\r\n          throw FlutterError.fromParts(<DiagnosticsNode>[\r\n            error,\r\n            message,\r\n            ErrorDescription(\r\n              'These two directives are mutually exclusive. If a parent is to shrink-wrap its child, the child '\r\n              'cannot simultaneously expand to fit its parent.'\r\n            ),\r\n            ErrorHint(\r\n              'Consider setting mainAxisSize to MainAxisSize.min and using FlexFit.loose fits for the flexible '\r\n              'children (using Flexible rather than Expanded). This will allow the flexible children '\r\n              'to size themselves to less than the infinite remaining space they would otherwise be '\r\n              'forced to take, and then will cause the RenderFlex to shrink-wrap the children '\r\n              'rather than expanding to fit the maximum constraints provided by the parent.'\r\n            ),\r\n            ErrorDescription(\r\n              'If this message did not help you determine the problem, consider using debugDumpRenderTree():\\n'\r\n              '  https://flutter.dev/debugging/#rendering-layer\\n'\r\n              '  http://api.flutter.dev/flutter/rendering/debugDumpRenderTree.html'\r\n            ),\r\n            describeForError('The affected RenderFlex is', style: DiagnosticsTreeStyle.errorProperty),\r\n            DiagnosticsProperty<dynamic>('The creator information is set to', debugCreator, style: DiagnosticsTreeStyle.errorProperty),\r\n            ...addendum,\r\n            ErrorDescription(\r\n              'If none of the above helps enough to fix this problem, please don\\'t hesitate to file a bug:\\n'\r\n              '  https://github.com/flutter/flutter/issues/new?template=BUG.md'\r\n            ),\r\n          ]);\r\n        }()");
          totalFlex = totalFlex + dart.notNull(childParentData.flex);
          lastFlexChild = child;
        } else {
          let innerConstraints = null;
          if (dart.equals(this.crossAxisAlignment, flex$.CrossAxisAlignment.stretch)) {
            switch (this[_direction$]) {
              case C30 || CT.C30:
              {
                innerConstraints = new box.BoxConstraints.new({minHeight: this.constraints.maxHeight, maxHeight: this.constraints.maxHeight});
                break;
              }
              case C31 || CT.C31:
              {
                innerConstraints = new box.BoxConstraints.new({minWidth: this.constraints.maxWidth, maxWidth: this.constraints.maxWidth});
                break;
              }
            }
          } else {
            switch (this[_direction$]) {
              case C30 || CT.C30:
              {
                innerConstraints = new box.BoxConstraints.new({maxHeight: this.constraints.maxHeight});
                break;
              }
              case C31 || CT.C31:
              {
                innerConstraints = new box.BoxConstraints.new({maxWidth: this.constraints.maxWidth});
                break;
              }
            }
          }
          child.layout(innerConstraints, {parentUsesSize: true});
          allocatedSize = allocatedSize + dart.notNull(this[_getMainSize](child));
          crossSize = math.max(core.double, crossSize, this[_getCrossSize](child));
        }
        if (!dart.equals(child.parentData, childParentData)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 748, 14, "child.parentData == childParentData");
        child = childParentData.nextSibling;
      }
      let freeSpace = math.max(core.double, 0.0, dart.notNull(canFlex ? maxMainSize : 0.0) - allocatedSize);
      let allocatedFlexSpace = 0.0;
      let maxBaselineDistance = 0.0;
      if (totalFlex > 0 || dart.equals(this.crossAxisAlignment, flex$.CrossAxisAlignment.baseline)) {
        let spacePerFlex = canFlex && totalFlex > 0 ? freeSpace / totalFlex : 0 / 0;
        child = this.firstChild;
        let maxSizeAboveBaseline = 0.0;
        let maxSizeBelowBaseline = 0.0;
        while (child != null) {
          let flex = this[_getFlex](child);
          if (dart.notNull(flex) > 0) {
            let maxChildExtent = canFlex ? dart.equals(child, lastFlexChild) ? freeSpace - allocatedFlexSpace : spacePerFlex * dart.notNull(flex) : 1 / 0;
            let minChildExtent = null;
            switch (this[_getFit](child)) {
              case C188 || CT.C188:
              {
                if (!(maxChildExtent < 1 / 0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 768, 22, "maxChildExtent < double.infinity");
                minChildExtent = maxChildExtent;
                break;
              }
              case C189 || CT.C189:
              {
                minChildExtent = 0.0;
                break;
              }
            }
            if (!(minChildExtent != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 775, 18, "minChildExtent != null");
            let innerConstraints = null;
            if (dart.equals(this.crossAxisAlignment, flex$.CrossAxisAlignment.stretch)) {
              switch (this[_direction$]) {
                case C30 || CT.C30:
                {
                  innerConstraints = new box.BoxConstraints.new({minWidth: minChildExtent, maxWidth: maxChildExtent, minHeight: this.constraints.maxHeight, maxHeight: this.constraints.maxHeight});
                  break;
                }
                case C31 || CT.C31:
                {
                  innerConstraints = new box.BoxConstraints.new({minWidth: this.constraints.maxWidth, maxWidth: this.constraints.maxWidth, minHeight: minChildExtent, maxHeight: maxChildExtent});
                  break;
                }
              }
            } else {
              switch (this[_direction$]) {
                case C30 || CT.C30:
                {
                  innerConstraints = new box.BoxConstraints.new({minWidth: minChildExtent, maxWidth: maxChildExtent, maxHeight: this.constraints.maxHeight});
                  break;
                }
                case C31 || CT.C31:
                {
                  innerConstraints = new box.BoxConstraints.new({maxWidth: this.constraints.maxWidth, minHeight: minChildExtent, maxHeight: maxChildExtent});
                  break;
                }
              }
            }
            child.layout(innerConstraints, {parentUsesSize: true});
            let childSize = this[_getMainSize](child);
            if (!(dart.notNull(childSize) <= maxChildExtent)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 808, 18, "childSize <= maxChildExtent");
            allocatedSize = allocatedSize + dart.notNull(childSize);
            allocatedFlexSpace = allocatedFlexSpace + maxChildExtent;
            crossSize = math.max(core.double, crossSize, this[_getCrossSize](child));
          }
          if (dart.equals(this.crossAxisAlignment, flex$.CrossAxisAlignment.baseline)) {
            if (!dart.test(dart.fn(() => {
              if (this.textBaseline == null) dart.throw(assertions.FlutterError.new("To use FlexAlignItems.baseline, you must also specify which baseline to use using the \"baseline\" argument."));
              return true;
            }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 814, 18, "() {\r\n            if (textBaseline == null)\r\n              throw FlutterError('To use FlexAlignItems.baseline, you must also specify which baseline to use using the \"baseline\" argument.');\r\n            return true;\r\n          }()");
            let distance = child.getDistanceToBaseline(this.textBaseline, {onlyReal: true});
            if (distance != null) {
              maxBaselineDistance = math.max(core.double, maxBaselineDistance, distance);
              maxSizeAboveBaseline = math.max(core.double, distance, maxSizeAboveBaseline);
              maxSizeBelowBaseline = math.max(core.double, dart.notNull(child.size.height) - dart.notNull(distance), maxSizeBelowBaseline);
              crossSize = maxSizeAboveBaseline + maxSizeBelowBaseline;
            }
          }
          let childParentData = flex$.FlexParentData.as(child.parentData);
          child = childParentData.nextSibling;
        }
      }
      let idealSize = canFlex && dart.equals(this.mainAxisSize, flex$.MainAxisSize.max) ? maxMainSize : allocatedSize;
      let actualSize = null;
      let actualSizeDelta = null;
      switch (this[_direction$]) {
        case C30 || CT.C30:
        {
          this.size = this.constraints.constrain(new ui.Size.new(idealSize, crossSize));
          actualSize = this.size.width;
          crossSize = this.size.height;
          break;
        }
        case C31 || CT.C31:
        {
          this.size = this.constraints.constrain(new ui.Size.new(crossSize, idealSize));
          actualSize = this.size.height;
          crossSize = this.size.width;
          break;
        }
      }
      actualSizeDelta = dart.notNull(actualSize) - allocatedSize;
      this[_overflow$0] = math.max(core.double, 0.0, -dart.notNull(actualSizeDelta));
      let remainingSpace = math.max(core.double, 0.0, actualSizeDelta);
      let leadingSpace = null;
      let betweenSpace = null;
      let flipMainAxis = !dart.test((t42 = flex$._startIsTopLeft(this.direction, this.textDirection, this.verticalDirection), t42 == null ? true : t42));
      switch (this[_mainAxisAlignment]) {
        case C194 || CT.C194:
        {
          leadingSpace = 0.0;
          betweenSpace = 0.0;
          break;
        }
        case C195 || CT.C195:
        {
          leadingSpace = remainingSpace;
          betweenSpace = 0.0;
          break;
        }
        case C196 || CT.C196:
        {
          leadingSpace = remainingSpace / 2.0;
          betweenSpace = 0.0;
          break;
        }
        case C197 || CT.C197:
        {
          leadingSpace = 0.0;
          betweenSpace = totalChildren > 1 ? remainingSpace / (totalChildren - 1) : 0.0;
          break;
        }
        case C198 || CT.C198:
        {
          betweenSpace = totalChildren > 0 ? remainingSpace / totalChildren : 0.0;
          leadingSpace = dart.notNull(betweenSpace) / 2.0;
          break;
        }
        case C199 || CT.C199:
        {
          betweenSpace = totalChildren > 0 ? remainingSpace / (totalChildren + 1) : 0.0;
          leadingSpace = betweenSpace;
          break;
        }
      }
      let childMainPosition = flipMainAxis ? dart.notNull(actualSize) - dart.notNull(leadingSpace) : leadingSpace;
      child = this.firstChild;
      while (child != null) {
        let childParentData = flex$.FlexParentData.as(child.parentData);
        let childCrossPosition = null;
        switch (this[_crossAxisAlignment$]) {
          case C201 || CT.C201:
          case C202 || CT.C202:
          {
            childCrossPosition = dart.equals(flex$._startIsTopLeft(basic_types$.flipAxis(this.direction), this.textDirection, this.verticalDirection), dart.equals(this[_crossAxisAlignment$], flex$.CrossAxisAlignment.start)) ? 0.0 : dart.notNull(crossSize) - dart.notNull(this[_getCrossSize](child));
            break;
          }
          case C203 || CT.C203:
          {
            childCrossPosition = dart.notNull(crossSize) / 2.0 - dart.notNull(this[_getCrossSize](child)) / 2.0;
            break;
          }
          case C204 || CT.C204:
          {
            childCrossPosition = 0.0;
            break;
          }
          case C205 || CT.C205:
          {
            childCrossPosition = 0.0;
            if (dart.equals(this[_direction$], basic_types$.Axis.horizontal)) {
              if (!(this.textBaseline != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 914, 20, "textBaseline != null");
              let distance = child.getDistanceToBaseline(this.textBaseline, {onlyReal: true});
              if (distance != null) childCrossPosition = maxBaselineDistance - dart.notNull(distance);
            }
            break;
          }
        }
        if (flipMainAxis) childMainPosition = dart.notNull(childMainPosition) - dart.notNull(this[_getMainSize](child));
        switch (this[_direction$]) {
          case C30 || CT.C30:
          {
            childParentData.offset = new ui.Offset.new(childMainPosition, childCrossPosition);
            break;
          }
          case C31 || CT.C31:
          {
            childParentData.offset = new ui.Offset.new(childCrossPosition, childMainPosition);
            break;
          }
        }
        if (flipMainAxis) {
          childMainPosition = dart.notNull(childMainPosition) - dart.notNull(betweenSpace);
        } else {
          childMainPosition = dart.notNull(childMainPosition) + (dart.notNull(this[_getMainSize](child)) + dart.notNull(betweenSpace));
        }
        child = childParentData.nextSibling;
      }
    }
    hitTestChildren(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      return this.defaultHitTestChildren(result, {position: position});
    }
    paint(context, offset) {
      if (!dart.test(this[_hasOverflow])) {
        this.defaultPaint(context, offset);
        return;
      }
      if (dart.test(this.size.isEmpty)) return;
      context.pushClipRect(this.needsCompositing, offset, ui.Offset.zero['&'](this.size), dart.bind(this, 'defaultPaint'));
      if (!dart.test(dart.fn(() => {
        let debugOverflowHints = JSArrayOfDiagnosticsNode().of([new assertions.ErrorDescription.new("The overflowing " + dart.str(this[$runtimeType]) + " has an orientation of " + dart.str(this[_direction$]) + "."), new assertions.ErrorDescription.new("The edge of the " + dart.str(this[$runtimeType]) + " that is overflowing has been marked " + "in the rendering with a yellow and black striped pattern. This is " + "usually caused by the contents being too big for the " + dart.str(this[$runtimeType]) + "."), new assertions.ErrorHint.new("Consider applying a flex factor (e.g. using an Expanded widget) to " + "force the children of the " + dart.str(this[$runtimeType]) + " to fit within the available " + "space instead of being sized to their natural size."), new assertions.ErrorHint.new("This is considered an error condition because it indicates that there " + "is content that cannot be seen. If the content is legitimately bigger " + "than the available space, consider clipping it with a ClipRect widget " + "before putting it in the flex, or using a scrollable container rather " + "than a Flex, like a ListView.")]);
        let overflowChildRect = null;
        switch (this[_direction$]) {
          case C30 || CT.C30:
          {
            overflowChildRect = new ui.Rect.fromLTWH(0.0, 0.0, dart.notNull(this.size.width) + dart.notNull(this[_overflow$0]), 0.0);
            break;
          }
          case C31 || CT.C31:
          {
            overflowChildRect = new ui.Rect.fromLTWH(0.0, 0.0, 0.0, dart.notNull(this.size.height) + dart.notNull(this[_overflow$0]));
            break;
          }
        }
        this.paintOverflowIndicator(context, offset, ui.Offset.zero['&'](this.size), overflowChildRect, {overflowHints: debugOverflowHints});
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 959, 12, "() {\r\n      // Only set this if it's null to save work. It gets reset to null if the\r\n      // _direction changes.\r\n      final List<DiagnosticsNode> debugOverflowHints = <DiagnosticsNode>[\r\n        ErrorDescription(\r\n          'The overflowing $runtimeType has an orientation of $_direction.'\r\n        ),\r\n        ErrorDescription(\r\n          'The edge of the $runtimeType that is overflowing has been marked '\r\n          'in the rendering with a yellow and black striped pattern. This is '\r\n          'usually caused by the contents being too big for the $runtimeType.'\r\n        ),\r\n        ErrorHint(\r\n          'Consider applying a flex factor (e.g. using an Expanded widget) to '\r\n          'force the children of the $runtimeType to fit within the available '\r\n          'space instead of being sized to their natural size.'\r\n        ),\r\n        ErrorHint(\r\n          'This is considered an error condition because it indicates that there '\r\n          'is content that cannot be seen. If the content is legitimately bigger '\r\n          'than the available space, consider clipping it with a ClipRect widget '\r\n          'before putting it in the flex, or using a scrollable container rather '\r\n          'than a Flex, like a ListView.'\r\n        ),\r\n      ];\r\n\r\n      // Simulate a child rect that overflows by the right amount. This child\r\n      // rect is never used for drawing, just for determining the overflow\r\n      // location and amount.\r\n      Rect overflowChildRect;\r\n      switch (_direction) {\r\n        case Axis.horizontal:\r\n          overflowChildRect = Rect.fromLTWH(0.0, 0.0, size.width + _overflow, 0.0);\r\n          break;\r\n        case Axis.vertical:\r\n          overflowChildRect = Rect.fromLTWH(0.0, 0.0, 0.0, size.height + _overflow);\r\n          break;\r\n      }\r\n      paintOverflowIndicator(context, offset, Offset.zero & size, overflowChildRect, overflowHints: debugOverflowHints);\r\n      return true;\r\n    }()");
    }
    describeApproximatePaintClip(child) {
      object$.RenderObject._check(child);
      return dart.test(this[_hasOverflow]) ? ui.Offset.zero['&'](this.size) : null;
    }
    toStringShort() {
      let header = super.toStringShort();
      if (typeof this[_overflow$0] == 'number' && dart.test(this[_hasOverflow])) header = dart.notNull(header) + " OVERFLOWING";
      return header;
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (EnumPropertyOfAxis()).new("direction", this.direction));
      properties.add(new (EnumPropertyOfMainAxisAlignment()).new("mainAxisAlignment", this.mainAxisAlignment));
      properties.add(new (EnumPropertyOfMainAxisSize()).new("mainAxisSize", this.mainAxisSize));
      properties.add(new (EnumPropertyOfCrossAxisAlignment()).new("crossAxisAlignment", this.crossAxisAlignment));
      properties.add(new (EnumPropertyOfTextDirection()).new("textDirection", this.textDirection, {defaultValue: null}));
      properties.add(new (EnumPropertyOfVerticalDirection()).new("verticalDirection", this.verticalDirection, {defaultValue: null}));
      properties.add(new (EnumPropertyOfTextBaseline()).new("textBaseline", this.textBaseline, {defaultValue: null}));
    }
  };
  (flex$.RenderFlex.new = function(opts) {
    let children = opts && 'children' in opts ? opts.children : null;
    let direction = opts && 'direction' in opts ? opts.direction : C30 || CT.C30;
    let mainAxisSize = opts && 'mainAxisSize' in opts ? opts.mainAxisSize : C192 || CT.C192;
    let mainAxisAlignment = opts && 'mainAxisAlignment' in opts ? opts.mainAxisAlignment : C194 || CT.C194;
    let crossAxisAlignment = opts && 'crossAxisAlignment' in opts ? opts.crossAxisAlignment : C203 || CT.C203;
    let textDirection = opts && 'textDirection' in opts ? opts.textDirection : null;
    let verticalDirection = opts && 'verticalDirection' in opts ? opts.verticalDirection : C170 || CT.C170;
    let textBaseline = opts && 'textBaseline' in opts ? opts.textBaseline : null;
    this[_overflow$0] = null;
    if (!(direction != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 280, 15, "direction != null");
    if (!(mainAxisAlignment != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 281, 15, "mainAxisAlignment != null");
    if (!(mainAxisSize != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 282, 15, "mainAxisSize != null");
    if (!(crossAxisAlignment != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 283, 15, "crossAxisAlignment != null");
    this[_direction$] = direction;
    this[_mainAxisAlignment] = mainAxisAlignment;
    this[_mainAxisSize] = mainAxisSize;
    this[_crossAxisAlignment$] = crossAxisAlignment;
    this[_textDirection$4] = textDirection;
    this[_verticalDirection$] = verticalDirection;
    this[_textBaseline$] = textBaseline;
    flex$.RenderFlex.__proto__.new.call(this);
    this.addAll(children);
  }).prototype = flex$.RenderFlex.prototype;
  dart.addTypeTests(flex$.RenderFlex);
  dart.setMethodSignature(flex$.RenderFlex, () => ({
    __proto__: dart.getMethods(flex$.RenderFlex.__proto__),
    [_getIntrinsicSize]: dart.fnType(core.double, [], {childSize: dart.fnType(core.double, [box.RenderBox, core.double]), extent: core.double, sizingDirection: basic_types$.Axis}, {}),
    [_getFlex]: dart.fnType(core.int, [box.RenderBox]),
    [_getFit]: dart.fnType(flex$.FlexFit, [box.RenderBox]),
    [_getCrossSize]: dart.fnType(core.double, [box.RenderBox]),
    [_getMainSize]: dart.fnType(core.double, [box.RenderBox])
  }));
  dart.setGetterSignature(flex$.RenderFlex, () => ({
    __proto__: dart.getGetters(flex$.RenderFlex.__proto__),
    direction: basic_types$.Axis,
    mainAxisAlignment: flex$.MainAxisAlignment,
    mainAxisSize: flex$.MainAxisSize,
    crossAxisAlignment: flex$.CrossAxisAlignment,
    textDirection: ui.TextDirection,
    verticalDirection: basic_types$.VerticalDirection,
    textBaseline: ui.TextBaseline,
    [_debugHasNecessaryDirections$]: core.bool,
    [_hasOverflow]: core.bool
  }));
  dart.setSetterSignature(flex$.RenderFlex, () => ({
    __proto__: dart.getSetters(flex$.RenderFlex.__proto__),
    direction: basic_types$.Axis,
    mainAxisAlignment: flex$.MainAxisAlignment,
    mainAxisSize: flex$.MainAxisSize,
    crossAxisAlignment: flex$.CrossAxisAlignment,
    textDirection: ui.TextDirection,
    verticalDirection: basic_types$.VerticalDirection,
    textBaseline: ui.TextBaseline
  }));
  dart.setLibraryUri(flex$.RenderFlex, "package:flutter/src/rendering/flex.dart");
  dart.setFieldSignature(flex$.RenderFlex, () => ({
    __proto__: dart.getFields(flex$.RenderFlex.__proto__),
    [_direction$]: dart.fieldType(basic_types$.Axis),
    [_mainAxisAlignment]: dart.fieldType(flex$.MainAxisAlignment),
    [_mainAxisSize]: dart.fieldType(flex$.MainAxisSize),
    [_crossAxisAlignment$]: dart.fieldType(flex$.CrossAxisAlignment),
    [_textDirection$4]: dart.fieldType(ui.TextDirection),
    [_verticalDirection$]: dart.fieldType(basic_types$.VerticalDirection),
    [_textBaseline$]: dart.fieldType(ui.TextBaseline),
    [_overflow$0]: dart.fieldType(core.double)
  }));
  let C207;
  flex$._startIsTopLeft = function _startIsTopLeft(direction, textDirection, verticalDirection) {
    if (!(direction != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/flex.dart", 192, 10, "direction != null");
    switch (direction) {
      case C30 || CT.C30:
      {
        switch (textDirection) {
          case C75 || CT.C75:
          {
            return true;
          }
          case C74 || CT.C74:
          {
            return false;
          }
        }
        break;
      }
      case C31 || CT.C31:
      {
        switch (verticalDirection) {
          case C170 || CT.C170:
          {
            return true;
          }
          case C207 || CT.C207:
          {
            return false;
          }
        }
        break;
      }
    }
    return null;
  };
  sliver_list.RenderSliverList = class RenderSliverList extends sliver_multi_box_adaptor.RenderSliverMultiBoxAdaptor {
    performLayout() {
      this.childManager.didStartLayout();
      this.childManager.setDidUnderflow(false);
      let scrollOffset = dart.notNull(this.constraints.scrollOffset) + dart.notNull(this.constraints.cacheOrigin);
      if (!(scrollOffset >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_list.dart", 51, 12, "scrollOffset >= 0.0");
      let remainingExtent = this.constraints.remainingCacheExtent;
      if (!(dart.notNull(remainingExtent) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_list.dart", 53, 12, "remainingExtent >= 0.0");
      let targetEndScrollOffset = scrollOffset + dart.notNull(remainingExtent);
      let childConstraints = this.constraints.asBoxConstraints();
      let leadingGarbage = 0;
      let trailingGarbage = 0;
      let reachedEnd = false;
      if (this.firstChild == null) {
        if (!dart.test(this.addInitialChild())) {
          this.geometry = sliver$.SliverGeometry.zero;
          this.childManager.didFinishLayout();
          return;
        }
      }
      let leadingChildWithLayout = null;
      let trailingChildWithLayout = null;
      let earliestUsefulChild = this.firstChild;
      for (let earliestScrollOffset = this.childScrollOffset(earliestUsefulChild); dart.notNull(earliestScrollOffset) > scrollOffset; earliestScrollOffset = this.childScrollOffset(earliestUsefulChild)) {
        earliestUsefulChild = this.insertAndLayoutLeadingChild(childConstraints, {parentUsesSize: true});
        if (earliestUsefulChild == null) {
          let childParentData = sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData.as(this.firstChild.parentData);
          childParentData.layoutOffset = 0.0;
          if (scrollOffset === 0.0) {
            this.firstChild.layout(childConstraints, {parentUsesSize: true});
            earliestUsefulChild = this.firstChild;
            leadingChildWithLayout = earliestUsefulChild;
            trailingChildWithLayout == null ? trailingChildWithLayout = earliestUsefulChild : null;
            break;
          } else {
            this.geometry = new sliver$.SliverGeometry.new({scrollOffsetCorrection: -scrollOffset});
            return;
          }
        }
        let firstChildScrollOffset = dart.notNull(earliestScrollOffset) - dart.notNull(this.paintExtentOf(this.firstChild));
        if (firstChildScrollOffset < -1e-10) {
          let correction = 0.0;
          while (earliestUsefulChild != null) {
            if (!dart.equals(this.firstChild, earliestUsefulChild)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_list.dart", 138, 18, "firstChild == earliestUsefulChild");
            correction = correction + dart.notNull(this.paintExtentOf(this.firstChild));
            earliestUsefulChild = this.insertAndLayoutLeadingChild(childConstraints, {parentUsesSize: true});
          }
          this.geometry = new sliver$.SliverGeometry.new({scrollOffsetCorrection: correction - dart.notNull(earliestScrollOffset)});
          let childParentData = sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData.as(this.firstChild.parentData);
          childParentData.layoutOffset = 0.0;
          return;
        }
        let childParentData = sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData.as(earliestUsefulChild.parentData);
        childParentData.layoutOffset = firstChildScrollOffset;
        if (!dart.equals(earliestUsefulChild, this.firstChild)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_list.dart", 152, 14, "earliestUsefulChild == firstChild");
        leadingChildWithLayout = earliestUsefulChild;
        trailingChildWithLayout == null ? trailingChildWithLayout = earliestUsefulChild : null;
      }
      if (!dart.equals(earliestUsefulChild, this.firstChild)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_list.dart", 164, 12, "earliestUsefulChild == firstChild");
      if (!(dart.notNull(this.childScrollOffset(earliestUsefulChild)) <= scrollOffset)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_list.dart", 165, 12, "childScrollOffset(earliestUsefulChild) <= scrollOffset");
      if (leadingChildWithLayout == null) {
        earliestUsefulChild.layout(childConstraints, {parentUsesSize: true});
        leadingChildWithLayout = earliestUsefulChild;
        trailingChildWithLayout = earliestUsefulChild;
      }
      let inLayoutRange = true;
      let child = earliestUsefulChild;
      let index = this.indexOf(child);
      let endScrollOffset = dart.notNull(this.childScrollOffset(child)) + dart.notNull(this.paintExtentOf(child));
      const advance = () => {
        if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_list.dart", 185, 14, "child != null");
        if (dart.equals(child, trailingChildWithLayout)) inLayoutRange = false;
        child = this.childAfter(child);
        if (child == null) inLayoutRange = false;
        index = dart.notNull(index) + 1;
        if (!inLayoutRange) {
          if (child == null || this.indexOf(child) != index) {
            child = this.insertAndLayoutChild(childConstraints, {after: trailingChildWithLayout, parentUsesSize: true});
            if (child == null) {
              return false;
            }
          } else {
            child.layout(childConstraints, {parentUsesSize: true});
          }
          trailingChildWithLayout = child;
        }
        if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_list.dart", 209, 14, "child != null");
        let childParentData = sliver_multi_box_adaptor.SliverMultiBoxAdaptorParentData.as(child.parentData);
        childParentData.layoutOffset = endScrollOffset;
        if (!(childParentData.index == index)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_list.dart", 212, 14, "childParentData.index == index");
        endScrollOffset = dart.notNull(this.childScrollOffset(child)) + dart.notNull(this.paintExtentOf(child));
        return true;
      };
      dart.fn(advance, VoidTobool());
      while (endScrollOffset < scrollOffset) {
        leadingGarbage = leadingGarbage + 1;
        if (!dart.test(advance())) {
          if (!(leadingGarbage === this.childCount)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_list.dart", 221, 16, "leadingGarbage == childCount");
          if (!(child == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_list.dart", 222, 16, "child == null");
          this.collectGarbage(leadingGarbage - 1, 0);
          if (!dart.equals(this.firstChild, this.lastChild)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_list.dart", 225, 16, "firstChild == lastChild");
          let extent = dart.notNull(this.childScrollOffset(this.lastChild)) + dart.notNull(this.paintExtentOf(this.lastChild));
          this.geometry = new sliver$.SliverGeometry.new({scrollExtent: extent, paintExtent: 0.0, maxPaintExtent: extent});
          return;
        }
      }
      while (endScrollOffset < targetEndScrollOffset) {
        if (!dart.test(advance())) {
          reachedEnd = true;
          break;
        }
      }
      if (child != null) {
        child = this.childAfter(child);
        while (child != null) {
          trailingGarbage = trailingGarbage + 1;
          child = this.childAfter(child);
        }
      }
      this.collectGarbage(leadingGarbage, trailingGarbage);
      if (!dart.test(this.debugAssertChildListIsNonEmptyAndContiguous())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_list.dart", 258, 12, "debugAssertChildListIsNonEmptyAndContiguous()");
      let estimatedMaxScrollOffset = null;
      if (reachedEnd) {
        estimatedMaxScrollOffset = endScrollOffset;
      } else {
        estimatedMaxScrollOffset = this.childManager.estimateMaxScrollOffset(this.constraints, {firstIndex: this.indexOf(this.firstChild), lastIndex: this.indexOf(this.lastChild), leadingScrollOffset: this.childScrollOffset(this.firstChild), trailingScrollOffset: endScrollOffset});
        if (!(dart.notNull(estimatedMaxScrollOffset) >= endScrollOffset - dart.notNull(this.childScrollOffset(this.firstChild)))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_list.dart", 270, 14, "estimatedMaxScrollOffset >= endScrollOffset - childScrollOffset(firstChild)");
      }
      let paintExtent = this.calculatePaintOffset(this.constraints, {from: this.childScrollOffset(this.firstChild), to: endScrollOffset});
      let cacheExtent = this.calculateCacheOffset(this.constraints, {from: this.childScrollOffset(this.firstChild), to: endScrollOffset});
      let targetEndScrollOffsetForPaint = dart.notNull(this.constraints.scrollOffset) + dart.notNull(this.constraints.remainingPaintExtent);
      this.geometry = new sliver$.SliverGeometry.new({scrollExtent: estimatedMaxScrollOffset, paintExtent: paintExtent, cacheExtent: cacheExtent, maxPaintExtent: estimatedMaxScrollOffset, hasVisualOverflow: endScrollOffset > targetEndScrollOffsetForPaint || dart.notNull(this.constraints.scrollOffset) > 0.0});
      if (estimatedMaxScrollOffset === endScrollOffset) this.childManager.setDidUnderflow(true);
      this.childManager.didFinishLayout();
    }
  };
  (sliver_list.RenderSliverList.new = function(opts) {
    let childManager = opts && 'childManager' in opts ? opts.childManager : null;
    sliver_list.RenderSliverList.__proto__.new.call(this, {childManager: childManager});
    ;
  }).prototype = sliver_list.RenderSliverList.prototype;
  dart.addTypeTests(sliver_list.RenderSliverList);
  dart.setMethodSignature(sliver_list.RenderSliverList, () => ({
    __proto__: dart.getMethods(sliver_list.RenderSliverList.__proto__),
    performLayout: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(sliver_list.RenderSliverList, "package:flutter/src/rendering/sliver_list.dart");
  const id = dart.privateName(custom_layout, "MultiChildLayoutParentData.id");
  custom_layout.MultiChildLayoutParentData = class MultiChildLayoutParentData extends box.ContainerBoxParentData$(box.RenderBox) {
    get id() {
      return this[id];
    }
    set id(value) {
      this[id] = value;
    }
    toString() {
      return dart.str(super.toString()) + "; id=" + dart.str(this.id);
    }
  };
  (custom_layout.MultiChildLayoutParentData.new = function() {
    this[id] = null;
    custom_layout.MultiChildLayoutParentData.__proto__.new.call(this);
    ;
  }).prototype = custom_layout.MultiChildLayoutParentData.prototype;
  dart.addTypeTests(custom_layout.MultiChildLayoutParentData);
  dart.setLibraryUri(custom_layout.MultiChildLayoutParentData, "package:flutter/src/rendering/custom_layout.dart");
  dart.setFieldSignature(custom_layout.MultiChildLayoutParentData, () => ({
    __proto__: dart.getFields(custom_layout.MultiChildLayoutParentData.__proto__),
    id: dart.fieldType(core.Object)
  }));
  dart.defineExtensionMethods(custom_layout.MultiChildLayoutParentData, ['toString']);
  const _idToChild = dart.privateName(custom_layout, "_idToChild");
  const _debugChildrenNeedingLayout = dart.privateName(custom_layout, "_debugChildrenNeedingLayout");
  const _relayout$0 = dart.privateName(custom_layout, "_relayout");
  const _debugDescribeChild = dart.privateName(custom_layout, "_debugDescribeChild");
  const _callPerformLayout = dart.privateName(custom_layout, "_callPerformLayout");
  custom_layout.MultiChildLayoutDelegate = class MultiChildLayoutDelegate extends core.Object {
    hasChild(childId) {
      return this[_idToChild][$_get](childId) != null;
    }
    layoutChild(childId, constraints) {
      let child = this[_idToChild][$_get](childId);
      if (!dart.test(dart.fn(() => {
        if (child == null) {
          dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("The " + dart.str(this) + " custom multichild layout delegate tried to lay out a non-existent child."), new assertions.ErrorDescription.new("There is no child with the id \"" + dart.str(childId) + "\".")])));
        }
        if (!dart.test(this[_debugChildrenNeedingLayout].remove(child))) {
          dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("The " + dart.str(this) + " custom multichild layout delegate tried to lay out the child with id \"" + dart.str(childId) + "\" more than once."), new assertions.ErrorDescription.new("Each child must be laid out exactly once.")])));
        }
        try {
          if (!dart.test(constraints.debugAssertIsValid({isAppliedConstraint: true}))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_layout.dart", 157, 16, "constraints.debugAssertIsValid(isAppliedConstraint: true)");
        } catch (e) {
          let exception = dart.getThrown(e);
          if (core.AssertionError.is(exception)) {
            dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("The " + dart.str(this) + " custom multichild layout delegate provided invalid box constraints for the child with id \"" + dart.str(childId) + "\"."), new (DiagnosticsPropertyOfAssertionError()).new("Exception", exception, {showName: false}), new assertions.ErrorDescription.new("The minimum width and height must be greater than or equal to zero.\n" + "The maximum width must be greater than or equal to the minimum width.\n" + "The maximum height must be greater than or equal to the minimum height.")])));
          } else
            throw e;
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_layout.dart", 143, 12, "() {\r\n      if (child == null) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('The $this custom multichild layout delegate tried to lay out a non-existent child.'),\r\n          ErrorDescription('There is no child with the id \"$childId\".')\r\n        ]);\r\n      }\r\n      if (!_debugChildrenNeedingLayout.remove(child)) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('The $this custom multichild layout delegate tried to lay out the child with id \"$childId\" more than once.'),\r\n          ErrorDescription('Each child must be laid out exactly once.')\r\n        ]);\r\n      }\r\n      try {\r\n        assert(constraints.debugAssertIsValid(isAppliedConstraint: true));\r\n      } on AssertionError catch (exception) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('The $this custom multichild layout delegate provided invalid box constraints for the child with id \"$childId\".'),\r\n          DiagnosticsProperty<AssertionError>('Exception', exception, showName: false),\r\n          ErrorDescription(\r\n            'The minimum width and height must be greater than or equal to zero.\\n'\r\n            'The maximum width must be greater than or equal to the minimum width.\\n'\r\n            'The maximum height must be greater than or equal to the minimum height.'\r\n          )\r\n        ]);\r\n      }\r\n      return true;\r\n    }()");
      child.layout(constraints, {parentUsesSize: true});
      return child.size;
    }
    positionChild(childId, offset) {
      let child = this[_idToChild][$_get](childId);
      if (!dart.test(dart.fn(() => {
        if (child == null) {
          dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("The " + dart.str(this) + " custom multichild layout delegate tried to position out a non-existent child:"), new assertions.ErrorDescription.new("There is no child with the id \"" + dart.str(childId) + "\".")])));
        }
        if (offset == null) {
          dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("The " + dart.str(this) + " custom multichild layout delegate provided a null position for the child with id \"" + dart.str(childId) + "\".")])));
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_layout.dart", 183, 12, "() {\r\n      if (child == null) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('The $this custom multichild layout delegate tried to position out a non-existent child:'),\r\n          ErrorDescription('There is no child with the id \"$childId\".')\r\n        ]);\r\n      }\r\n      if (offset == null) {\r\n        throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('The $this custom multichild layout delegate provided a null position for the child with id \"$childId\".')\r\n        ]);\r\n      }\r\n      return true;\r\n    }()");
      let childParentData = custom_layout.MultiChildLayoutParentData.as(child.parentData);
      childParentData.offset = offset;
    }
    [_debugDescribeChild](child) {
      let childParentData = custom_layout.MultiChildLayoutParentData.as(child.parentData);
      return new (DiagnosticsPropertyOfRenderBox()).new(dart.str(childParentData.id), child);
    }
    [_callPerformLayout](size, firstChild) {
      let previousIdToChild = this[_idToChild];
      let debugPreviousChildrenNeedingLayout = null;
      if (!dart.test(dart.fn(() => {
        debugPreviousChildrenNeedingLayout = this[_debugChildrenNeedingLayout];
        this[_debugChildrenNeedingLayout] = LinkedHashSetOfRenderBox().new();
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_layout.dart", 213, 12, "() {\r\n      debugPreviousChildrenNeedingLayout = _debugChildrenNeedingLayout;\r\n      _debugChildrenNeedingLayout = <RenderBox>{};\r\n      return true;\r\n    }()");
      try {
        this[_idToChild] = new (LinkedMapOfObject$RenderBox()).new();
        let child = firstChild;
        while (child != null) {
          let childParentData = custom_layout.MultiChildLayoutParentData.as(child.parentData);
          if (!dart.test(dart.fn(() => {
            if (childParentData.id == null) {
              dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("Every child of a RenderCustomMultiChildLayoutBox must have an ID in its parent data."), child.describeForError("The following child has no ID")])));
            }
            return true;
          }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_layout.dart", 224, 16, "() {\r\n          if (childParentData.id == null) {\r\n            throw FlutterError.fromParts(<DiagnosticsNode>[\r\n              ErrorSummary('Every child of a RenderCustomMultiChildLayoutBox must have an ID in its parent data.'),\r\n              child.describeForError('The following child has no ID'),\r\n            ]);\r\n          }\r\n          return true;\r\n        }()");
          this[_idToChild][$_set](childParentData.id, child);
          if (!dart.test(dart.fn(() => {
            this[_debugChildrenNeedingLayout].add(child);
            return true;
          }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_layout.dart", 234, 16, "() {\r\n          _debugChildrenNeedingLayout.add(child);\r\n          return true;\r\n        }()");
          child = childParentData.nextSibling;
        }
        this.performLayout(size);
        if (!dart.test(dart.fn(() => {
          if (dart.test(this[_debugChildrenNeedingLayout][$isNotEmpty])) {
            dart.throw(new assertions.FlutterError.fromParts(JSArrayOfDiagnosticsNode().of([new assertions.ErrorSummary.new("Each child must be laid out exactly once."), new diagnostics.DiagnosticsBlock.new({name: "The " + dart.str(this) + " custom multichild layout delegate forgot " + "to lay out the following " + (dart.notNull(this[_debugChildrenNeedingLayout][$length]) > 1 ? "children" : "child"), properties: this[_debugChildrenNeedingLayout][$map](diagnostics.DiagnosticsNode, dart.bind(this, _debugDescribeChild))[$toList](), style: diagnostics.DiagnosticsTreeStyle.whitespace})])));
          }
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_layout.dart", 241, 14, "() {\r\n        if (_debugChildrenNeedingLayout.isNotEmpty) {\r\n          throw FlutterError.fromParts(<DiagnosticsNode>[\r\n          ErrorSummary('Each child must be laid out exactly once.'),\r\n            DiagnosticsBlock(\r\n              name:\r\n                'The $this custom multichild layout delegate forgot '\r\n                'to lay out the following '\r\n                '${_debugChildrenNeedingLayout.length > 1 ? 'children' : 'child'}',\r\n              properties: _debugChildrenNeedingLayout.map<DiagnosticsNode>(_debugDescribeChild).toList(),\r\n              style: DiagnosticsTreeStyle.whitespace,\r\n            ),\r\n          ]);\r\n        }\r\n        return true;\r\n      }()");
      } finally {
        this[_idToChild] = previousIdToChild;
        if (!dart.test(dart.fn(() => {
          this[_debugChildrenNeedingLayout] = debugPreviousChildrenNeedingLayout;
          return true;
        }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_layout.dart", 259, 14, "() {\r\n        _debugChildrenNeedingLayout = debugPreviousChildrenNeedingLayout;\r\n        return true;\r\n      }()");
      }
    }
    getSize(constraints) {
      return constraints.biggest;
    }
    toString() {
      return dart.str(object.objectRuntimeType(this, "MultiChildLayoutDelegate"));
    }
  };
  (custom_layout.MultiChildLayoutDelegate.new = function(opts) {
    let relayout = opts && 'relayout' in opts ? opts.relayout : null;
    this[_idToChild] = null;
    this[_debugChildrenNeedingLayout] = null;
    this[_relayout$0] = relayout;
    ;
  }).prototype = custom_layout.MultiChildLayoutDelegate.prototype;
  dart.addTypeTests(custom_layout.MultiChildLayoutDelegate);
  dart.setMethodSignature(custom_layout.MultiChildLayoutDelegate, () => ({
    __proto__: dart.getMethods(custom_layout.MultiChildLayoutDelegate.__proto__),
    hasChild: dart.fnType(core.bool, [core.Object]),
    layoutChild: dart.fnType(ui.Size, [core.Object, box.BoxConstraints]),
    positionChild: dart.fnType(dart.void, [core.Object, ui.Offset]),
    [_debugDescribeChild]: dart.fnType(diagnostics.DiagnosticsNode, [box.RenderBox]),
    [_callPerformLayout]: dart.fnType(dart.void, [ui.Size, box.RenderBox]),
    getSize: dart.fnType(ui.Size, [box.BoxConstraints])
  }));
  dart.setLibraryUri(custom_layout.MultiChildLayoutDelegate, "package:flutter/src/rendering/custom_layout.dart");
  dart.setFieldSignature(custom_layout.MultiChildLayoutDelegate, () => ({
    __proto__: dart.getFields(custom_layout.MultiChildLayoutDelegate.__proto__),
    [_relayout$0]: dart.finalFieldType(change_notifier.Listenable),
    [_idToChild]: dart.fieldType(core.Map$(core.Object, box.RenderBox)),
    [_debugChildrenNeedingLayout]: dart.fieldType(core.Set$(box.RenderBox))
  }));
  dart.defineExtensionMethods(custom_layout.MultiChildLayoutDelegate, ['toString']);
  const _delegate$0 = dart.privateName(custom_layout, "_delegate");
  const _getSize$0 = dart.privateName(custom_layout, "_getSize");
  const RenderBox_ContainerRenderObjectMixin$36$5 = class RenderBox_ContainerRenderObjectMixin extends box.RenderBox {};
  (RenderBox_ContainerRenderObjectMixin$36$5.new = function() {
    object$.ContainerRenderObjectMixin$(box.RenderBox, custom_layout.MultiChildLayoutParentData)[dart.mixinNew].call(this);
    RenderBox_ContainerRenderObjectMixin$36$5.__proto__.new.call(this);
  }).prototype = RenderBox_ContainerRenderObjectMixin$36$5.prototype;
  dart.applyMixin(RenderBox_ContainerRenderObjectMixin$36$5, object$.ContainerRenderObjectMixin$(box.RenderBox, custom_layout.MultiChildLayoutParentData));
  const RenderBox_RenderBoxContainerDefaultsMixin$36$4 = class RenderBox_RenderBoxContainerDefaultsMixin extends RenderBox_ContainerRenderObjectMixin$36$5 {};
  (RenderBox_RenderBoxContainerDefaultsMixin$36$4.new = function() {
    RenderBox_RenderBoxContainerDefaultsMixin$36$4.__proto__.new.call(this);
  }).prototype = RenderBox_RenderBoxContainerDefaultsMixin$36$4.prototype;
  dart.applyMixin(RenderBox_RenderBoxContainerDefaultsMixin$36$4, box.RenderBoxContainerDefaultsMixin$(box.RenderBox, custom_layout.MultiChildLayoutParentData));
  custom_layout.RenderCustomMultiChildLayoutBox = class RenderCustomMultiChildLayoutBox extends RenderBox_RenderBoxContainerDefaultsMixin$36$4 {
    setupParentData(child) {
      box.RenderBox._check(child);
      if (!custom_layout.MultiChildLayoutParentData.is(child.parentData)) child.parentData = new custom_layout.MultiChildLayoutParentData.new();
    }
    get delegate() {
      return this[_delegate$0];
    }
    set delegate(newDelegate) {
      let t43, t43$, t43$0, t43$1;
      if (!(newDelegate != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_layout.dart", 330, 12, "newDelegate != null");
      if (dart.equals(this[_delegate$0], newDelegate)) return;
      let oldDelegate = this[_delegate$0];
      if (!dart.equals(dart.runtimeType(newDelegate), dart.runtimeType(oldDelegate)) || dart.test(newDelegate.shouldRelayout(oldDelegate))) this.markNeedsLayout();
      this[_delegate$0] = newDelegate;
      if (dart.test(this.attached)) {
        t43$ = (t43 = oldDelegate, t43 == null ? null : t43[_relayout$0]);
        t43$ == null ? null : t43$.removeListener(dart.bind(this, 'markNeedsLayout'));
        t43$1 = (t43$0 = newDelegate, t43$0 == null ? null : t43$0[_relayout$0]);
        t43$1 == null ? null : t43$1.addListener(dart.bind(this, 'markNeedsLayout'));
      }
    }
    attach(owner) {
      let t43, t43$;
      object$.PipelineOwner._check(owner);
      super.attach(owner);
      t43$ = (t43 = this[_delegate$0], t43 == null ? null : t43[_relayout$0]);
      t43$ == null ? null : t43$.addListener(dart.bind(this, 'markNeedsLayout'));
    }
    detach() {
      let t43, t43$;
      t43$ = (t43 = this[_delegate$0], t43 == null ? null : t43[_relayout$0]);
      t43$ == null ? null : t43$.removeListener(dart.bind(this, 'markNeedsLayout'));
      super.detach();
    }
    [_getSize$0](constraints) {
      if (!dart.test(constraints.debugAssertIsValid())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_layout.dart", 356, 12, "constraints.debugAssertIsValid()");
      return constraints.constrain(this[_delegate$0].getSize(constraints));
    }
    computeMinIntrinsicWidth(height) {
      let width = this[_getSize$0](new box.BoxConstraints.tightForFinite({height: height})).width;
      if (width[$isFinite]) return width;
      return 0.0;
    }
    computeMaxIntrinsicWidth(height) {
      let width = this[_getSize$0](new box.BoxConstraints.tightForFinite({height: height})).width;
      if (width[$isFinite]) return width;
      return 0.0;
    }
    computeMinIntrinsicHeight(width) {
      let height = this[_getSize$0](new box.BoxConstraints.tightForFinite({width: width})).height;
      if (height[$isFinite]) return height;
      return 0.0;
    }
    computeMaxIntrinsicHeight(width) {
      let height = this[_getSize$0](new box.BoxConstraints.tightForFinite({width: width})).height;
      if (height[$isFinite]) return height;
      return 0.0;
    }
    performLayout() {
      this.size = this[_getSize$0](this.constraints);
      this.delegate[_callPerformLayout](this.size, this.firstChild);
    }
    paint(context, offset) {
      this.defaultPaint(context, offset);
    }
    hitTestChildren(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      return this.defaultHitTestChildren(result, {position: position});
    }
  };
  (custom_layout.RenderCustomMultiChildLayoutBox.new = function(opts) {
    let children = opts && 'children' in opts ? opts.children : null;
    let delegate = opts && 'delegate' in opts ? opts.delegate : null;
    if (!(delegate != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/custom_layout.dart", 315, 15, "delegate != null");
    this[_delegate$0] = delegate;
    custom_layout.RenderCustomMultiChildLayoutBox.__proto__.new.call(this);
    this.addAll(children);
  }).prototype = custom_layout.RenderCustomMultiChildLayoutBox.prototype;
  dart.addTypeTests(custom_layout.RenderCustomMultiChildLayoutBox);
  dart.setMethodSignature(custom_layout.RenderCustomMultiChildLayoutBox, () => ({
    __proto__: dart.getMethods(custom_layout.RenderCustomMultiChildLayoutBox.__proto__),
    [_getSize$0]: dart.fnType(ui.Size, [box.BoxConstraints])
  }));
  dart.setGetterSignature(custom_layout.RenderCustomMultiChildLayoutBox, () => ({
    __proto__: dart.getGetters(custom_layout.RenderCustomMultiChildLayoutBox.__proto__),
    delegate: custom_layout.MultiChildLayoutDelegate
  }));
  dart.setSetterSignature(custom_layout.RenderCustomMultiChildLayoutBox, () => ({
    __proto__: dart.getSetters(custom_layout.RenderCustomMultiChildLayoutBox.__proto__),
    delegate: custom_layout.MultiChildLayoutDelegate
  }));
  dart.setLibraryUri(custom_layout.RenderCustomMultiChildLayoutBox, "package:flutter/src/rendering/custom_layout.dart");
  dart.setFieldSignature(custom_layout.RenderCustomMultiChildLayoutBox, () => ({
    __proto__: dart.getFields(custom_layout.RenderCustomMultiChildLayoutBox.__proto__),
    [_delegate$0]: dart.fieldType(custom_layout.MultiChildLayoutDelegate)
  }));
  const _paintTransform = dart.privateName(rotated_box, "_paintTransform");
  const _quarterTurns = dart.privateName(rotated_box, "_quarterTurns");
  const _isVertical = dart.privateName(rotated_box, "_isVertical");
  const _paintChild = dart.privateName(rotated_box, "_paintChild");
  const RenderBox_RenderObjectWithChildMixin$36$0 = class RenderBox_RenderObjectWithChildMixin extends box.RenderBox {};
  (RenderBox_RenderObjectWithChildMixin$36$0.new = function() {
    object$.RenderObjectWithChildMixin$(box.RenderBox)[dart.mixinNew].call(this);
    RenderBox_RenderObjectWithChildMixin$36$0.__proto__.new.call(this);
  }).prototype = RenderBox_RenderObjectWithChildMixin$36$0.prototype;
  dart.applyMixin(RenderBox_RenderObjectWithChildMixin$36$0, object$.RenderObjectWithChildMixin$(box.RenderBox));
  rotated_box.RenderRotatedBox = class RenderRotatedBox extends RenderBox_RenderObjectWithChildMixin$36$0 {
    get quarterTurns() {
      return this[_quarterTurns];
    }
    set quarterTurns(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/rotated_box.dart", 38, 12, "value != null");
      if (this[_quarterTurns] == value) return;
      this[_quarterTurns] = value;
      this.markNeedsLayout();
    }
    get [_isVertical]() {
      return this.quarterTurns[$modulo](2) === 1;
    }
    computeMinIntrinsicWidth(height) {
      if (this.child == null) return 0.0;
      return dart.test(this[_isVertical]) ? this.child.getMinIntrinsicHeight(height) : this.child.getMinIntrinsicWidth(height);
    }
    computeMaxIntrinsicWidth(height) {
      if (this.child == null) return 0.0;
      return dart.test(this[_isVertical]) ? this.child.getMaxIntrinsicHeight(height) : this.child.getMaxIntrinsicWidth(height);
    }
    computeMinIntrinsicHeight(width) {
      if (this.child == null) return 0.0;
      return dart.test(this[_isVertical]) ? this.child.getMinIntrinsicWidth(width) : this.child.getMinIntrinsicHeight(width);
    }
    computeMaxIntrinsicHeight(width) {
      if (this.child == null) return 0.0;
      return dart.test(this[_isVertical]) ? this.child.getMaxIntrinsicWidth(width) : this.child.getMaxIntrinsicHeight(width);
    }
    performLayout() {
      let t43;
      this[_paintTransform] = null;
      if (this.child != null) {
        this.child.layout(dart.test(this[_isVertical]) ? this.constraints.flipped : this.constraints, {parentUsesSize: true});
        this.size = dart.test(this[_isVertical]) ? new ui.Size.new(this.child.size.height, this.child.size.width) : this.child.size;
        this[_paintTransform] = (t43 = vector_math_64.Matrix4.identity(), t43.translate(dart.notNull(this.size.width) / 2.0, dart.notNull(this.size.height) / 2.0), t43.rotateZ(1.5707963267948966 * this.quarterTurns[$modulo](4)), t43.translate(-dart.notNull(this.child.size.width) / 2.0, -dart.notNull(this.child.size.height) / 2.0), t43);
      } else {
        this.performResize();
      }
    }
    hitTestChildren(result, opts) {
      let position = opts && 'position' in opts ? opts.position : null;
      if (!(this[_paintTransform] != null || dart.test(this.debugNeedsLayout) || this.child == null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/rotated_box.dart", 94, 12, "_paintTransform != null || debugNeedsLayout || child == null");
      if (this.child == null || this[_paintTransform] == null) return false;
      return result.addWithPaintTransform({transform: this[_paintTransform], position: position, hitTest: dart.fn((result, position) => this.child.hitTest(result, {position: position}), BoxHitTestResultAndOffsetTobool())});
    }
    [_paintChild](context, offset) {
      context.paintChild(this.child, offset);
    }
    paint(context, offset) {
      if (this.child != null) context.pushTransform(this.needsCompositing, offset, this[_paintTransform], dart.bind(this, _paintChild));
    }
    applyPaintTransform(child, transform) {
      box.RenderBox._check(child);
      if (this[_paintTransform] != null) transform.multiply(this[_paintTransform]);
      super.applyPaintTransform(child, transform);
    }
  };
  (rotated_box.RenderRotatedBox.new = function(opts) {
    let quarterTurns = opts && 'quarterTurns' in opts ? opts.quarterTurns : null;
    let child = opts && 'child' in opts ? opts.child : null;
    this[_paintTransform] = null;
    if (!(quarterTurns != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/rotated_box.dart", 29, 15, "quarterTurns != null");
    this[_quarterTurns] = quarterTurns;
    rotated_box.RenderRotatedBox.__proto__.new.call(this);
    this.child = child;
  }).prototype = rotated_box.RenderRotatedBox.prototype;
  dart.addTypeTests(rotated_box.RenderRotatedBox);
  dart.setMethodSignature(rotated_box.RenderRotatedBox, () => ({
    __proto__: dart.getMethods(rotated_box.RenderRotatedBox.__proto__),
    [_paintChild]: dart.fnType(dart.void, [object$.PaintingContext, ui.Offset])
  }));
  dart.setGetterSignature(rotated_box.RenderRotatedBox, () => ({
    __proto__: dart.getGetters(rotated_box.RenderRotatedBox.__proto__),
    quarterTurns: core.int,
    [_isVertical]: core.bool
  }));
  dart.setSetterSignature(rotated_box.RenderRotatedBox, () => ({
    __proto__: dart.getSetters(rotated_box.RenderRotatedBox.__proto__),
    quarterTurns: core.int
  }));
  dart.setLibraryUri(rotated_box.RenderRotatedBox, "package:flutter/src/rendering/rotated_box.dart");
  dart.setFieldSignature(rotated_box.RenderRotatedBox, () => ({
    __proto__: dart.getFields(rotated_box.RenderRotatedBox.__proto__),
    [_quarterTurns]: dart.fieldType(core.int),
    [_paintTransform]: dart.fieldType(vector_math_64.Matrix4)
  }));
  dart.defineLazy(rotated_box, {
    /*rotated_box._kQuarterTurnsInRadians*/get _kQuarterTurnsInRadians() {
      return 1.5707963267948966;
    }
  });
  const _name$21 = dart.privateName(performance_overlay, "_name");
  let C208;
  let C209;
  let C210;
  let C211;
  let C212;
  performance_overlay.PerformanceOverlayOption = class PerformanceOverlayOption extends core.Object {
    toString() {
      return this[_name$21];
    }
  };
  (performance_overlay.PerformanceOverlayOption.new = function(index, _name) {
    this.index = index;
    this[_name$21] = _name;
    ;
  }).prototype = performance_overlay.PerformanceOverlayOption.prototype;
  dart.addTypeTests(performance_overlay.PerformanceOverlayOption);
  dart.setLibraryUri(performance_overlay.PerformanceOverlayOption, "package:flutter/src/rendering/performance_overlay.dart");
  dart.setFieldSignature(performance_overlay.PerformanceOverlayOption, () => ({
    __proto__: dart.getFields(performance_overlay.PerformanceOverlayOption.__proto__),
    index: dart.finalFieldType(core.int),
    [_name$21]: dart.finalFieldType(core.String)
  }));
  dart.defineExtensionMethods(performance_overlay.PerformanceOverlayOption, ['toString']);
  performance_overlay.PerformanceOverlayOption.displayRasterizerStatistics = C208 || CT.C208;
  performance_overlay.PerformanceOverlayOption.visualizeRasterizerStatistics = C209 || CT.C209;
  performance_overlay.PerformanceOverlayOption.displayEngineStatistics = C210 || CT.C210;
  performance_overlay.PerformanceOverlayOption.visualizeEngineStatistics = C211 || CT.C211;
  performance_overlay.PerformanceOverlayOption.values = C212 || CT.C212;
  const _optionsMask = dart.privateName(performance_overlay, "_optionsMask");
  const _rasterizerThreshold = dart.privateName(performance_overlay, "_rasterizerThreshold");
  const _checkerboardRasterCacheImages = dart.privateName(performance_overlay, "_checkerboardRasterCacheImages");
  const _checkerboardOffscreenLayers = dart.privateName(performance_overlay, "_checkerboardOffscreenLayers");
  const _intrinsicHeight = dart.privateName(performance_overlay, "_intrinsicHeight");
  performance_overlay.RenderPerformanceOverlay = class RenderPerformanceOverlay extends box.RenderBox {
    get optionsMask() {
      return this[_optionsMask];
    }
    set optionsMask(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/performance_overlay.dart", 83, 12, "value != null");
      if (value == this[_optionsMask]) return;
      this[_optionsMask] = value;
      this.markNeedsPaint();
    }
    get rasterizerThreshold() {
      return this[_rasterizerThreshold];
    }
    set rasterizerThreshold(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/performance_overlay.dart", 96, 12, "value != null");
      if (value == this[_rasterizerThreshold]) return;
      this[_rasterizerThreshold] = value;
      this.markNeedsPaint();
    }
    get checkerboardRasterCacheImages() {
      return this[_checkerboardRasterCacheImages];
    }
    set checkerboardRasterCacheImages(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/performance_overlay.dart", 107, 12, "value != null");
      if (dart.equals(value, this[_checkerboardRasterCacheImages])) return;
      this[_checkerboardRasterCacheImages] = value;
      this.markNeedsPaint();
    }
    get checkerboardOffscreenLayers() {
      return this[_checkerboardOffscreenLayers];
    }
    set checkerboardOffscreenLayers(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/performance_overlay.dart", 118, 12, "value != null");
      if (dart.equals(value, this[_checkerboardOffscreenLayers])) return;
      this[_checkerboardOffscreenLayers] = value;
      this.markNeedsPaint();
    }
    get sizedByParent() {
      return true;
    }
    get alwaysNeedsCompositing() {
      return true;
    }
    computeMinIntrinsicWidth(height) {
      return 0.0;
    }
    computeMaxIntrinsicWidth(height) {
      return 0.0;
    }
    get [_intrinsicHeight]() {
      let result = 0.0;
      if ((dart.notNull(this.optionsMask) | (1)[$leftShift](performance_overlay.PerformanceOverlayOption.displayRasterizerStatistics.index)) >>> 0 > 0 || (dart.notNull(this.optionsMask) | (1)[$leftShift](performance_overlay.PerformanceOverlayOption.visualizeRasterizerStatistics.index)) >>> 0 > 0) result = result + 80;
      if ((dart.notNull(this.optionsMask) | (1)[$leftShift](performance_overlay.PerformanceOverlayOption.displayEngineStatistics.index)) >>> 0 > 0 || (dart.notNull(this.optionsMask) | (1)[$leftShift](performance_overlay.PerformanceOverlayOption.visualizeEngineStatistics.index)) >>> 0 > 0) result = result + 80;
      return result;
    }
    computeMinIntrinsicHeight(width) {
      return this[_intrinsicHeight];
    }
    computeMaxIntrinsicHeight(width) {
      return this[_intrinsicHeight];
    }
    performResize() {
      this.size = this.constraints.constrain(new ui.Size.new(1 / 0, this[_intrinsicHeight]));
    }
    paint(context, offset) {
      if (!dart.test(this.needsCompositing)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/performance_overlay.dart", 170, 12, "needsCompositing");
      context.addLayer(new layer$.PerformanceOverlayLayer.new({overlayRect: new ui.Rect.fromLTWH(offset.dx, offset.dy, this.size.width, this.size.height), optionsMask: this.optionsMask, rasterizerThreshold: this.rasterizerThreshold, checkerboardRasterCacheImages: this.checkerboardRasterCacheImages, checkerboardOffscreenLayers: this.checkerboardOffscreenLayers}));
    }
  };
  (performance_overlay.RenderPerformanceOverlay.new = function(opts) {
    let optionsMask = opts && 'optionsMask' in opts ? opts.optionsMask : 0;
    let rasterizerThreshold = opts && 'rasterizerThreshold' in opts ? opts.rasterizerThreshold : 0;
    let checkerboardRasterCacheImages = opts && 'checkerboardRasterCacheImages' in opts ? opts.checkerboardRasterCacheImages : false;
    let checkerboardOffscreenLayers = opts && 'checkerboardOffscreenLayers' in opts ? opts.checkerboardOffscreenLayers : false;
    if (!(optionsMask != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/performance_overlay.dart", 69, 15, "optionsMask != null");
    if (!(rasterizerThreshold != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/performance_overlay.dart", 70, 15, "rasterizerThreshold != null");
    if (!(checkerboardRasterCacheImages != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/performance_overlay.dart", 71, 15, "checkerboardRasterCacheImages != null");
    if (!(checkerboardOffscreenLayers != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/performance_overlay.dart", 72, 15, "checkerboardOffscreenLayers != null");
    this[_optionsMask] = optionsMask;
    this[_rasterizerThreshold] = rasterizerThreshold;
    this[_checkerboardRasterCacheImages] = checkerboardRasterCacheImages;
    this[_checkerboardOffscreenLayers] = checkerboardOffscreenLayers;
    performance_overlay.RenderPerformanceOverlay.__proto__.new.call(this);
    ;
  }).prototype = performance_overlay.RenderPerformanceOverlay.prototype;
  dart.addTypeTests(performance_overlay.RenderPerformanceOverlay);
  dart.setGetterSignature(performance_overlay.RenderPerformanceOverlay, () => ({
    __proto__: dart.getGetters(performance_overlay.RenderPerformanceOverlay.__proto__),
    optionsMask: core.int,
    rasterizerThreshold: core.int,
    checkerboardRasterCacheImages: core.bool,
    checkerboardOffscreenLayers: core.bool,
    [_intrinsicHeight]: core.double
  }));
  dart.setSetterSignature(performance_overlay.RenderPerformanceOverlay, () => ({
    __proto__: dart.getSetters(performance_overlay.RenderPerformanceOverlay.__proto__),
    optionsMask: core.int,
    rasterizerThreshold: core.int,
    checkerboardRasterCacheImages: core.bool,
    checkerboardOffscreenLayers: core.bool
  }));
  dart.setLibraryUri(performance_overlay.RenderPerformanceOverlay, "package:flutter/src/rendering/performance_overlay.dart");
  dart.setFieldSignature(performance_overlay.RenderPerformanceOverlay, () => ({
    __proto__: dart.getFields(performance_overlay.RenderPerformanceOverlay.__proto__),
    [_optionsMask]: dart.fieldType(core.int),
    [_rasterizerThreshold]: dart.fieldType(core.int),
    [_checkerboardRasterCacheImages]: dart.fieldType(core.bool),
    [_checkerboardOffscreenLayers]: dart.fieldType(core.bool)
  }));
  const _viewportFraction = dart.privateName(sliver_fill, "_viewportFraction");
  sliver_fill.RenderSliverFillViewport = class RenderSliverFillViewport extends sliver_fixed_extent_list.RenderSliverFixedExtentBoxAdaptor {
    get itemExtent() {
      return dart.notNull(this.constraints.viewportMainAxisExtent) * dart.notNull(this.viewportFraction);
    }
    get viewportFraction() {
      return this[_viewportFraction];
    }
    set viewportFraction(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_fill.dart", 54, 12, "value != null");
      if (this[_viewportFraction] == value) return;
      this[_viewportFraction] = value;
      this.markNeedsLayout();
    }
  };
  (sliver_fill.RenderSliverFillViewport.new = function(opts) {
    let childManager = opts && 'childManager' in opts ? opts.childManager : null;
    let viewportFraction = opts && 'viewportFraction' in opts ? opts.viewportFraction : 1;
    if (!(viewportFraction != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_fill.dart", 38, 15, "viewportFraction != null");
    if (!(dart.notNull(viewportFraction) > 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_fill.dart", 39, 15, "viewportFraction > 0.0");
    this[_viewportFraction] = viewportFraction;
    sliver_fill.RenderSliverFillViewport.__proto__.new.call(this, {childManager: childManager});
    ;
  }).prototype = sliver_fill.RenderSliverFillViewport.prototype;
  dart.addTypeTests(sliver_fill.RenderSliverFillViewport);
  dart.setGetterSignature(sliver_fill.RenderSliverFillViewport, () => ({
    __proto__: dart.getGetters(sliver_fill.RenderSliverFillViewport.__proto__),
    itemExtent: core.double,
    viewportFraction: core.double
  }));
  dart.setSetterSignature(sliver_fill.RenderSliverFillViewport, () => ({
    __proto__: dart.getSetters(sliver_fill.RenderSliverFillViewport.__proto__),
    viewportFraction: core.double
  }));
  dart.setLibraryUri(sliver_fill.RenderSliverFillViewport, "package:flutter/src/rendering/sliver_fill.dart");
  dart.setFieldSignature(sliver_fill.RenderSliverFillViewport, () => ({
    __proto__: dart.getFields(sliver_fill.RenderSliverFillViewport.__proto__),
    [_viewportFraction]: dart.fieldType(core.double)
  }));
  sliver_fill.RenderSliverFillRemainingWithScrollable = class RenderSliverFillRemainingWithScrollable extends sliver$.RenderSliverSingleBoxAdapter {
    performLayout() {
      let extent = dart.notNull(this.constraints.remainingPaintExtent) - math.min(core.num, this.constraints.overlap, 0.0);
      if (this.child != null) this.child.layout(this.constraints.asBoxConstraints({minExtent: extent, maxExtent: extent}));
      let paintedChildSize = this.calculatePaintOffset(this.constraints, {from: 0.0, to: extent});
      if (!paintedChildSize[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_fill.dart", 100, 12, "paintedChildSize.isFinite");
      if (!(dart.notNull(paintedChildSize) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_fill.dart", 101, 12, "paintedChildSize >= 0.0");
      this.geometry = new sliver$.SliverGeometry.new({scrollExtent: this.constraints.viewportMainAxisExtent, paintExtent: paintedChildSize, maxPaintExtent: paintedChildSize, hasVisualOverflow: extent > dart.notNull(this.constraints.remainingPaintExtent) || dart.notNull(this.constraints.scrollOffset) > 0.0});
      if (this.child != null) this.setChildParentData(this.child, this.constraints, this.geometry);
    }
  };
  (sliver_fill.RenderSliverFillRemainingWithScrollable.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    sliver_fill.RenderSliverFillRemainingWithScrollable.__proto__.new.call(this, {child: child});
    ;
  }).prototype = sliver_fill.RenderSliverFillRemainingWithScrollable.prototype;
  dart.addTypeTests(sliver_fill.RenderSliverFillRemainingWithScrollable);
  dart.setMethodSignature(sliver_fill.RenderSliverFillRemainingWithScrollable, () => ({
    __proto__: dart.getMethods(sliver_fill.RenderSliverFillRemainingWithScrollable.__proto__),
    performLayout: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(sliver_fill.RenderSliverFillRemainingWithScrollable, "package:flutter/src/rendering/sliver_fill.dart");
  sliver_fill.RenderSliverFillRemaining = class RenderSliverFillRemaining extends sliver$.RenderSliverSingleBoxAdapter {
    performLayout() {
      let extent = dart.notNull(this.constraints.viewportMainAxisExtent) - dart.notNull(this.constraints.precedingScrollExtent);
      if (this.child != null) {
        let childExtent = null;
        switch (this.constraints.axis) {
          case C30 || CT.C30:
          {
            childExtent = this.child.getMaxIntrinsicWidth(this.constraints.crossAxisExtent);
            break;
          }
          case C31 || CT.C31:
          {
            childExtent = this.child.getMaxIntrinsicHeight(this.constraints.crossAxisExtent);
            break;
          }
        }
        extent = math.max(core.double, extent, childExtent);
        this.child.layout(this.constraints.asBoxConstraints({minExtent: extent, maxExtent: extent}));
      }
      if (!extent[$isFinite]) dart.assertFailed("The calculated extent for the child of SliverFillRemaining is not finite. " + "This can happen if the child is a scrollable, in which case, the " + "hasScrollBody property of SliverFillRemaining should not be set to " + "false.", "org-dartlang-app:///packages/flutter/src/rendering/sliver_fill.dart", 165, 12, "extent.isFinite");
      let paintedChildSize = this.calculatePaintOffset(this.constraints, {from: 0.0, to: extent});
      if (!paintedChildSize[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_fill.dart", 172, 12, "paintedChildSize.isFinite");
      if (!(dart.notNull(paintedChildSize) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_fill.dart", 173, 12, "paintedChildSize >= 0.0");
      this.geometry = new sliver$.SliverGeometry.new({scrollExtent: extent, paintExtent: paintedChildSize, maxPaintExtent: paintedChildSize, hasVisualOverflow: extent > dart.notNull(this.constraints.remainingPaintExtent) || dart.notNull(this.constraints.scrollOffset) > 0.0});
      if (this.child != null) this.setChildParentData(this.child, this.constraints, this.geometry);
    }
  };
  (sliver_fill.RenderSliverFillRemaining.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    sliver_fill.RenderSliverFillRemaining.__proto__.new.call(this, {child: child});
    ;
  }).prototype = sliver_fill.RenderSliverFillRemaining.prototype;
  dart.addTypeTests(sliver_fill.RenderSliverFillRemaining);
  dart.setMethodSignature(sliver_fill.RenderSliverFillRemaining, () => ({
    __proto__: dart.getMethods(sliver_fill.RenderSliverFillRemaining.__proto__),
    performLayout: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(sliver_fill.RenderSliverFillRemaining, "package:flutter/src/rendering/sliver_fill.dart");
  sliver_fill.RenderSliverFillRemainingAndOverscroll = class RenderSliverFillRemainingAndOverscroll extends sliver$.RenderSliverSingleBoxAdapter {
    performLayout() {
      let extent = dart.notNull(this.constraints.viewportMainAxisExtent) - dart.notNull(this.constraints.precedingScrollExtent);
      let maxExtent = dart.notNull(this.constraints.remainingPaintExtent) - math.min(core.num, this.constraints.overlap, 0.0);
      if (this.child != null) {
        let childExtent = null;
        switch (this.constraints.axis) {
          case C30 || CT.C30:
          {
            childExtent = this.child.getMaxIntrinsicWidth(this.constraints.crossAxisExtent);
            break;
          }
          case C31 || CT.C31:
          {
            childExtent = this.child.getMaxIntrinsicHeight(this.constraints.crossAxisExtent);
            break;
          }
        }
        extent = math.max(core.double, extent, childExtent);
        maxExtent = math.max(core.double, extent, maxExtent);
        this.child.layout(this.constraints.asBoxConstraints({minExtent: extent, maxExtent: maxExtent}));
      }
      if (!extent[$isFinite]) dart.assertFailed("The calculated extent for the child of SliverFillRemaining is not finite. " + "This can happen if the child is a scrollable, in which case, the " + "hasScrollBody property of SliverFillRemaining should not be set to " + "false.", "org-dartlang-app:///packages/flutter/src/rendering/sliver_fill.dart", 241, 12, "extent.isFinite");
      let paintedChildSize = this.calculatePaintOffset(this.constraints, {from: 0.0, to: extent});
      if (!paintedChildSize[$isFinite]) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_fill.dart", 248, 12, "paintedChildSize.isFinite");
      if (!(dart.notNull(paintedChildSize) >= 0.0)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_fill.dart", 249, 12, "paintedChildSize >= 0.0");
      this.geometry = new sliver$.SliverGeometry.new({scrollExtent: extent, paintExtent: math.min(core.double, maxExtent, this.constraints.remainingPaintExtent), maxPaintExtent: maxExtent, hasVisualOverflow: extent > dart.notNull(this.constraints.remainingPaintExtent) || dart.notNull(this.constraints.scrollOffset) > 0.0});
      if (this.child != null) this.setChildParentData(this.child, this.constraints, this.geometry);
    }
  };
  (sliver_fill.RenderSliverFillRemainingAndOverscroll.new = function(opts) {
    let child = opts && 'child' in opts ? opts.child : null;
    sliver_fill.RenderSliverFillRemainingAndOverscroll.__proto__.new.call(this, {child: child});
    ;
  }).prototype = sliver_fill.RenderSliverFillRemainingAndOverscroll.prototype;
  dart.addTypeTests(sliver_fill.RenderSliverFillRemainingAndOverscroll);
  dart.setMethodSignature(sliver_fill.RenderSliverFillRemainingAndOverscroll, () => ({
    __proto__: dart.getMethods(sliver_fill.RenderSliverFillRemainingAndOverscroll.__proto__),
    performLayout: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(sliver_fill.RenderSliverFillRemainingAndOverscroll, "package:flutter/src/rendering/sliver_fill.dart");
  const RenderSliver_RenderObjectWithChildMixin$36$1 = class RenderSliver_RenderObjectWithChildMixin extends sliver$.RenderSliver {};
  (RenderSliver_RenderObjectWithChildMixin$36$1.new = function() {
    object$.RenderObjectWithChildMixin$(sliver$.RenderSliver)[dart.mixinNew].call(this);
    RenderSliver_RenderObjectWithChildMixin$36$1.__proto__.new.call(this);
  }).prototype = RenderSliver_RenderObjectWithChildMixin$36$1.prototype;
  dart.applyMixin(RenderSliver_RenderObjectWithChildMixin$36$1, object$.RenderObjectWithChildMixin$(sliver$.RenderSliver));
  sliver_padding.RenderSliverEdgeInsetsPadding = class RenderSliverEdgeInsetsPadding extends RenderSliver_RenderObjectWithChildMixin$36$1 {
    get beforePadding() {
      if (!(this.constraints != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 42, 12, "constraints != null");
      if (!(this.constraints.axisDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 43, 12, "constraints.axisDirection != null");
      if (!(this.constraints.growthDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 44, 12, "constraints.growthDirection != null");
      if (!(this.resolvedPadding != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 45, 12, "resolvedPadding != null");
      switch (sliver$.applyGrowthDirectionToAxisDirection(this.constraints.axisDirection, this.constraints.growthDirection)) {
        case C116 || CT.C116:
        {
          return this.resolvedPadding.bottom;
        }
        case C117 || CT.C117:
        {
          return this.resolvedPadding.left;
        }
        case C118 || CT.C118:
        {
          return this.resolvedPadding.top;
        }
        case C120 || CT.C120:
        {
          return this.resolvedPadding.right;
        }
      }
      return null;
    }
    get afterPadding() {
      if (!(this.constraints != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 64, 12, "constraints != null");
      if (!(this.constraints.axisDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 65, 12, "constraints.axisDirection != null");
      if (!(this.constraints.growthDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 66, 12, "constraints.growthDirection != null");
      if (!(this.resolvedPadding != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 67, 12, "resolvedPadding != null");
      switch (sliver$.applyGrowthDirectionToAxisDirection(this.constraints.axisDirection, this.constraints.growthDirection)) {
        case C116 || CT.C116:
        {
          return this.resolvedPadding.top;
        }
        case C117 || CT.C117:
        {
          return this.resolvedPadding.right;
        }
        case C118 || CT.C118:
        {
          return this.resolvedPadding.bottom;
        }
        case C120 || CT.C120:
        {
          return this.resolvedPadding.left;
        }
      }
      return null;
    }
    get mainAxisPadding() {
      if (!(this.constraints != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 88, 12, "constraints != null");
      if (!(this.constraints.axis != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 89, 12, "constraints.axis != null");
      if (!(this.resolvedPadding != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 90, 12, "resolvedPadding != null");
      return this.resolvedPadding.along(this.constraints.axis);
    }
    get crossAxisPadding() {
      if (!(this.constraints != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 101, 12, "constraints != null");
      if (!(this.constraints.axis != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 102, 12, "constraints.axis != null");
      if (!(this.resolvedPadding != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 103, 12, "resolvedPadding != null");
      switch (this.constraints.axis) {
        case C30 || CT.C30:
        {
          return this.resolvedPadding.vertical;
        }
        case C31 || CT.C31:
        {
          return this.resolvedPadding.horizontal;
        }
      }
      return null;
    }
    setupParentData(child) {
      object$.RenderObject._check(child);
      if (!sliver$.SliverPhysicalParentData.is(child.parentData)) child.parentData = new sliver$.SliverPhysicalParentData.new();
    }
    performLayout() {
      if (!(this.resolvedPadding != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 121, 12, "resolvedPadding != null");
      let beforePadding = this.beforePadding;
      let afterPadding = this.afterPadding;
      let mainAxisPadding = this.mainAxisPadding;
      let crossAxisPadding = this.crossAxisPadding;
      if (this.child == null) {
        this.geometry = new sliver$.SliverGeometry.new({scrollExtent: mainAxisPadding, paintExtent: math.min(core.double, mainAxisPadding, this.constraints.remainingPaintExtent), maxPaintExtent: mainAxisPadding});
        return;
      }
      this.child.layout(this.constraints.copyWith({scrollOffset: math.max(core.double, 0.0, dart.notNull(this.constraints.scrollOffset) - dart.notNull(beforePadding)), cacheOrigin: math.min(core.double, 0.0, dart.notNull(this.constraints.cacheOrigin) + dart.notNull(beforePadding)), overlap: 0.0, remainingPaintExtent: dart.notNull(this.constraints.remainingPaintExtent) - dart.notNull(this.calculatePaintOffset(this.constraints, {from: 0.0, to: beforePadding})), remainingCacheExtent: dart.notNull(this.constraints.remainingCacheExtent) - dart.notNull(this.calculateCacheOffset(this.constraints, {from: 0.0, to: beforePadding})), crossAxisExtent: math.max(core.double, 0.0, dart.notNull(this.constraints.crossAxisExtent) - dart.notNull(crossAxisPadding))}), {parentUsesSize: true});
      let childLayoutGeometry = this.child.geometry;
      if (childLayoutGeometry.scrollOffsetCorrection != null) {
        this.geometry = new sliver$.SliverGeometry.new({scrollOffsetCorrection: childLayoutGeometry.scrollOffsetCorrection});
        return;
      }
      let beforePaddingPaintExtent = this.calculatePaintOffset(this.constraints, {from: 0.0, to: beforePadding});
      let afterPaddingPaintExtent = this.calculatePaintOffset(this.constraints, {from: dart.notNull(beforePadding) + dart.notNull(childLayoutGeometry.scrollExtent), to: dart.notNull(mainAxisPadding) + dart.notNull(childLayoutGeometry.scrollExtent)});
      let mainAxisPaddingPaintExtent = dart.notNull(beforePaddingPaintExtent) + dart.notNull(afterPaddingPaintExtent);
      let beforePaddingCacheExtent = this.calculateCacheOffset(this.constraints, {from: 0.0, to: beforePadding});
      let afterPaddingCacheExtent = this.calculateCacheOffset(this.constraints, {from: dart.notNull(beforePadding) + dart.notNull(childLayoutGeometry.scrollExtent), to: dart.notNull(mainAxisPadding) + dart.notNull(childLayoutGeometry.scrollExtent)});
      let mainAxisPaddingCacheExtent = dart.notNull(afterPaddingCacheExtent) + dart.notNull(beforePaddingCacheExtent);
      let paintExtent = math.min(core.double, dart.notNull(beforePaddingPaintExtent) + math.max(core.num, childLayoutGeometry.paintExtent, dart.notNull(childLayoutGeometry.layoutExtent) + dart.notNull(afterPaddingPaintExtent)), this.constraints.remainingPaintExtent);
      this.geometry = new sliver$.SliverGeometry.new({scrollExtent: dart.notNull(mainAxisPadding) + dart.notNull(childLayoutGeometry.scrollExtent), paintExtent: paintExtent, layoutExtent: math.min(core.double, mainAxisPaddingPaintExtent + dart.notNull(childLayoutGeometry.layoutExtent), paintExtent), cacheExtent: math.min(core.double, mainAxisPaddingCacheExtent + dart.notNull(childLayoutGeometry.cacheExtent), this.constraints.remainingCacheExtent), maxPaintExtent: dart.notNull(mainAxisPadding) + dart.notNull(childLayoutGeometry.maxPaintExtent), hitTestExtent: math.max(core.double, mainAxisPaddingPaintExtent + dart.notNull(childLayoutGeometry.paintExtent), dart.notNull(beforePaddingPaintExtent) + dart.notNull(childLayoutGeometry.hitTestExtent)), hasVisualOverflow: childLayoutGeometry.hasVisualOverflow});
      let childParentData = sliver$.SliverPhysicalParentData.as(this.child.parentData);
      if (!(this.constraints.axisDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 192, 12, "constraints.axisDirection != null");
      if (!(this.constraints.growthDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 193, 12, "constraints.growthDirection != null");
      switch (sliver$.applyGrowthDirectionToAxisDirection(this.constraints.axisDirection, this.constraints.growthDirection)) {
        case C116 || CT.C116:
        {
          childParentData.paintOffset = new ui.Offset.new(this.resolvedPadding.left, this.calculatePaintOffset(this.constraints, {from: dart.notNull(this.resolvedPadding.bottom) + dart.notNull(childLayoutGeometry.scrollExtent), to: dart.notNull(this.resolvedPadding.bottom) + dart.notNull(childLayoutGeometry.scrollExtent) + dart.notNull(this.resolvedPadding.top)}));
          break;
        }
        case C117 || CT.C117:
        {
          childParentData.paintOffset = new ui.Offset.new(this.calculatePaintOffset(this.constraints, {from: 0.0, to: this.resolvedPadding.left}), this.resolvedPadding.top);
          break;
        }
        case C118 || CT.C118:
        {
          childParentData.paintOffset = new ui.Offset.new(this.resolvedPadding.left, this.calculatePaintOffset(this.constraints, {from: 0.0, to: this.resolvedPadding.top}));
          break;
        }
        case C120 || CT.C120:
        {
          childParentData.paintOffset = new ui.Offset.new(this.calculatePaintOffset(this.constraints, {from: dart.notNull(this.resolvedPadding.right) + dart.notNull(childLayoutGeometry.scrollExtent), to: dart.notNull(this.resolvedPadding.right) + dart.notNull(childLayoutGeometry.scrollExtent) + dart.notNull(this.resolvedPadding.left)}), this.resolvedPadding.top);
          break;
        }
      }
      if (!(childParentData.paintOffset != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 208, 12, "childParentData.paintOffset != null");
      if (!(beforePadding == this.beforePadding)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 209, 12, "beforePadding == this.beforePadding");
      if (!(afterPadding == this.afterPadding)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 210, 12, "afterPadding == this.afterPadding");
      if (!(mainAxisPadding == this.mainAxisPadding)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 211, 12, "mainAxisPadding == this.mainAxisPadding");
      if (!(crossAxisPadding == this.crossAxisPadding)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 212, 12, "crossAxisPadding == this.crossAxisPadding");
    }
    hitTestChildren(result, opts) {
      let mainAxisPosition = opts && 'mainAxisPosition' in opts ? opts.mainAxisPosition : null;
      let crossAxisPosition = opts && 'crossAxisPosition' in opts ? opts.crossAxisPosition : null;
      if (this.child != null && dart.notNull(this.child.geometry.hitTestExtent) > 0.0) {
        let childParentData = sliver$.SliverPhysicalParentData.as(this.child.parentData);
        result.addWithAxisOffset({mainAxisPosition: mainAxisPosition, crossAxisPosition: crossAxisPosition, mainAxisOffset: this.childMainAxisPosition(this.child), crossAxisOffset: this.childCrossAxisPosition(this.child), paintOffset: childParentData.paintOffset, hitTest: dart.bind(this.child, 'hitTest')});
      }
      return false;
    }
    childMainAxisPosition(child) {
      sliver$.RenderSliver._check(child);
      if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 233, 12, "child != null");
      if (!dart.equals(child, this.child)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 234, 12, "child == this.child");
      return this.calculatePaintOffset(this.constraints, {from: 0.0, to: this.beforePadding});
    }
    childCrossAxisPosition(child) {
      sliver$.RenderSliver._check(child);
      if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 240, 12, "child != null");
      if (!dart.equals(child, this.child)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 241, 12, "child == this.child");
      if (!(this.constraints != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 242, 12, "constraints != null");
      if (!(this.constraints.axisDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 243, 12, "constraints.axisDirection != null");
      if (!(this.constraints.growthDirection != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 244, 12, "constraints.growthDirection != null");
      if (!(this.resolvedPadding != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 245, 12, "resolvedPadding != null");
      switch (sliver$.applyGrowthDirectionToAxisDirection(this.constraints.axisDirection, this.constraints.growthDirection)) {
        case C116 || CT.C116:
        case C118 || CT.C118:
        {
          return this.resolvedPadding.left;
        }
        case C120 || CT.C120:
        case C117 || CT.C117:
        {
          return this.resolvedPadding.top;
        }
      }
      return null;
    }
    childScrollOffset(child) {
      object$.RenderObject._check(child);
      if (!dart.equals(child.parent, this)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 259, 12, "child.parent == this");
      return this.beforePadding;
    }
    applyPaintTransform(child, transform) {
      object$.RenderObject._check(child);
      if (!(child != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 265, 12, "child != null");
      if (!dart.equals(child, this.child)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 266, 12, "child == this.child");
      let childParentData = sliver$.SliverPhysicalParentData.as(child.parentData);
      childParentData.applyPaintTransform(transform);
    }
    paint(context, offset) {
      if (this.child != null && dart.test(this.child.geometry.visible)) {
        let childParentData = sliver$.SliverPhysicalParentData.as(this.child.parentData);
        context.paintChild(this.child, offset['+'](childParentData.paintOffset));
      }
    }
    debugPaint(context, offset) {
      super.debugPaint(context, offset);
      if (!dart.test(dart.fn(() => {
        if (dart.test(debug$0.debugPaintSizeEnabled)) {
          let parentSize = this.getAbsoluteSize();
          let outerRect = offset['&'](parentSize);
          let childSize = null;
          let innerRect = null;
          if (this.child != null) {
            childSize = this.child.getAbsoluteSize();
            let childParentData = sliver$.SliverPhysicalParentData.as(this.child.parentData);
            innerRect = offset['+'](childParentData.paintOffset)['&'](childSize);
            if (!(dart.notNull(innerRect.top) >= dart.notNull(outerRect.top))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 292, 18, "innerRect.top >= outerRect.top");
            if (!(dart.notNull(innerRect.left) >= dart.notNull(outerRect.left))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 293, 18, "innerRect.left >= outerRect.left");
            if (!(dart.notNull(innerRect.right) <= dart.notNull(outerRect.right))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 294, 18, "innerRect.right <= outerRect.right");
            if (!(dart.notNull(innerRect.bottom) <= dart.notNull(outerRect.bottom))) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 295, 18, "innerRect.bottom <= outerRect.bottom");
          }
          debug$0.debugPaintPadding(context.canvas, outerRect, innerRect);
        }
        return true;
      }, VoidTobool())())) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 282, 12, "() {\r\n      if (debugPaintSizeEnabled) {\r\n        final Size parentSize = getAbsoluteSize();\r\n        final Rect outerRect = offset & parentSize;\r\n        Size childSize;\r\n        Rect innerRect;\r\n        if (child != null) {\r\n          childSize = child.getAbsoluteSize();\r\n          final SliverPhysicalParentData childParentData = child.parentData as SliverPhysicalParentData;\r\n          innerRect = (offset + childParentData.paintOffset) & childSize;\r\n          assert(innerRect.top >= outerRect.top);\r\n          assert(innerRect.left >= outerRect.left);\r\n          assert(innerRect.right <= outerRect.right);\r\n          assert(innerRect.bottom <= outerRect.bottom);\r\n        }\r\n        debugPaintPadding(context.canvas, outerRect, innerRect);\r\n      }\r\n      return true;\r\n    }()");
    }
  };
  (sliver_padding.RenderSliverEdgeInsetsPadding.new = function() {
    sliver_padding.RenderSliverEdgeInsetsPadding.__proto__.new.call(this);
    ;
  }).prototype = sliver_padding.RenderSliverEdgeInsetsPadding.prototype;
  dart.addTypeTests(sliver_padding.RenderSliverEdgeInsetsPadding);
  dart.setMethodSignature(sliver_padding.RenderSliverEdgeInsetsPadding, () => ({
    __proto__: dart.getMethods(sliver_padding.RenderSliverEdgeInsetsPadding.__proto__),
    performLayout: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(sliver_padding.RenderSliverEdgeInsetsPadding, () => ({
    __proto__: dart.getGetters(sliver_padding.RenderSliverEdgeInsetsPadding.__proto__),
    beforePadding: core.double,
    afterPadding: core.double,
    mainAxisPadding: core.double,
    crossAxisPadding: core.double
  }));
  dart.setLibraryUri(sliver_padding.RenderSliverEdgeInsetsPadding, "package:flutter/src/rendering/sliver_padding.dart");
  const _resolvedPadding$ = dart.privateName(sliver_padding, "_resolvedPadding");
  const _padding$ = dart.privateName(sliver_padding, "_padding");
  const _textDirection$5 = dart.privateName(sliver_padding, "_textDirection");
  const _resolve$2 = dart.privateName(sliver_padding, "_resolve");
  const _markNeedsResolution = dart.privateName(sliver_padding, "_markNeedsResolution");
  sliver_padding.RenderSliverPadding = class RenderSliverPadding extends sliver_padding.RenderSliverEdgeInsetsPadding {
    get resolvedPadding() {
      return this[_resolvedPadding$];
    }
    [_resolve$2]() {
      if (this.resolvedPadding != null) return;
      this[_resolvedPadding$] = this.padding.resolve(this.textDirection);
      if (!dart.test(this.resolvedPadding.isNonNegative)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 334, 12, "resolvedPadding.isNonNegative");
    }
    [_markNeedsResolution]() {
      this[_resolvedPadding$] = null;
      this.markNeedsLayout();
    }
    get padding() {
      return this[_padding$];
    }
    set padding(value) {
      if (!(value != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 349, 12, "value != null");
      if (!dart.test(this.padding.isNonNegative)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 350, 12, "padding.isNonNegative");
      if (dart.equals(this[_padding$], value)) return;
      this[_padding$] = value;
      this[_markNeedsResolution]();
    }
    get textDirection() {
      return this[_textDirection$5];
    }
    set textDirection(value) {
      if (dart.equals(this[_textDirection$5], value)) return;
      this[_textDirection$5] = value;
      this[_markNeedsResolution]();
    }
    performLayout() {
      this[_resolve$2]();
      super.performLayout();
    }
    debugFillProperties(properties) {
      super.debugFillProperties(properties);
      properties.add(new (DiagnosticsPropertyOfEdgeInsetsGeometry()).new("padding", this.padding));
      properties.add(new (EnumPropertyOfTextDirection()).new("textDirection", this.textDirection, {defaultValue: null}));
    }
  };
  (sliver_padding.RenderSliverPadding.new = function(opts) {
    let padding = opts && 'padding' in opts ? opts.padding : null;
    let textDirection = opts && 'textDirection' in opts ? opts.textDirection : null;
    let child = opts && 'child' in opts ? opts.child : null;
    this[_resolvedPadding$] = null;
    if (!(padding != null)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 319, 15, "padding != null");
    if (!dart.test(padding.isNonNegative)) dart.assertFailed(null, "org-dartlang-app:///packages/flutter/src/rendering/sliver_padding.dart", 320, 15, "padding.isNonNegative");
    this[_padding$] = padding;
    this[_textDirection$5] = textDirection;
    sliver_padding.RenderSliverPadding.__proto__.new.call(this);
    this.child = child;
  }).prototype = sliver_padding.RenderSliverPadding.prototype;
  dart.addTypeTests(sliver_padding.RenderSliverPadding);
  dart.setMethodSignature(sliver_padding.RenderSliverPadding, () => ({
    __proto__: dart.getMethods(sliver_padding.RenderSliverPadding.__proto__),
    [_resolve$2]: dart.fnType(dart.void, []),
    [_markNeedsResolution]: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(sliver_padding.RenderSliverPadding, () => ({
    __proto__: dart.getGetters(sliver_padding.RenderSliverPadding.__proto__),
    resolvedPadding: edge_insets.EdgeInsets,
    padding: edge_insets.EdgeInsetsGeometry,
    textDirection: ui.TextDirection
  }));
  dart.setSetterSignature(sliver_padding.RenderSliverPadding, () => ({
    __proto__: dart.getSetters(sliver_padding.RenderSliverPadding.__proto__),
    padding: edge_insets.EdgeInsetsGeometry,
    textDirection: ui.TextDirection
  }));
  dart.setLibraryUri(sliver_padding.RenderSliverPadding, "package:flutter/src/rendering/sliver_padding.dart");
  dart.setFieldSignature(sliver_padding.RenderSliverPadding, () => ({
    __proto__: dart.getFields(sliver_padding.RenderSliverPadding.__proto__),
    [_resolvedPadding$]: dart.fieldType(edge_insets.EdgeInsets),
    [_padding$]: dart.fieldType(edge_insets.EdgeInsetsGeometry),
    [_textDirection$5]: dart.fieldType(ui.TextDirection)
  }));
  dart.trackLibraries("packages/flutter/src/rendering/animated_size", {
    "package:flutter/src/rendering/object.dart": object$,
    "package:flutter/src/rendering/layer.dart": layer$,
    "package:flutter/src/rendering/debug.dart": debug$0,
    "package:flutter/src/rendering/binding.dart": binding$4,
    "package:flutter/src/rendering/view.dart": view,
    "package:flutter/src/rendering/box.dart": box,
    "package:flutter/src/rendering/shifted_box.dart": shifted_box,
    "package:flutter/src/rendering/stack.dart": stack,
    "package:flutter/src/rendering/debug_overflow_indicator.dart": debug_overflow_indicator,
    "package:flutter/src/rendering/paragraph.dart": paragraph,
    "package:flutter/src/rendering/proxy_box.dart": proxy_box,
    "package:flutter/src/rendering/platform_view.dart": platform_view,
    "package:flutter/src/rendering/flow.dart": flow,
    "package:flutter/src/rendering/tweens.dart": tweens,
    "package:flutter/src/rendering/sliver_grid.dart": sliver_grid,
    "package:flutter/src/rendering/sliver_multi_box_adaptor.dart": sliver_multi_box_adaptor,
    "package:flutter/src/rendering/sliver.dart": sliver$,
    "package:flutter/src/rendering/viewport_offset.dart": viewport_offset,
    "package:flutter/src/rendering/viewport.dart": viewport,
    "package:flutter/src/rendering/animated_size.dart": animated_size,
    "package:flutter/src/rendering/table.dart": table,
    "package:flutter/src/rendering/table_border.dart": table_border,
    "package:flutter/src/rendering/texture.dart": texture,
    "package:flutter/src/rendering/list_body.dart": list_body,
    "package:flutter/src/rendering/custom_paint.dart": custom_paint,
    "package:flutter/src/rendering/sliver_fixed_extent_list.dart": sliver_fixed_extent_list,
    "package:flutter/src/rendering/image.dart": image$,
    "package:flutter/src/rendering/wrap.dart": wrap,
    "package:flutter/src/rendering/editable.dart": editable,
    "package:flutter/src/rendering/sliver_persistent_header.dart": sliver_persistent_header,
    "package:flutter/src/rendering/proxy_sliver.dart": proxy_sliver,
    "package:flutter/src/rendering/list_wheel_viewport.dart": list_wheel_viewport,
    "package:flutter/src/rendering/error.dart": error$,
    "package:flutter/src/rendering/flex.dart": flex$,
    "package:flutter/src/rendering/sliver_list.dart": sliver_list,
    "package:flutter/src/rendering/custom_layout.dart": custom_layout,
    "package:flutter/src/rendering/rotated_box.dart": rotated_box,
    "package:flutter/src/rendering/performance_overlay.dart": performance_overlay,
    "package:flutter/src/rendering/sliver_fill.dart": sliver_fill,
    "package:flutter/src/rendering/sliver_padding.dart": sliver_padding
  }, {
  }, '{"version":3,"sourceRoot":"","sources":["object.dart","layer.dart","debug.dart","binding.dart","view.dart","box.dart","shifted_box.dart","debug_overflow_indicator.dart","stack.dart","paragraph.dart","proxy_box.dart","platform_view.dart","flow.dart","tweens.dart","sliver_grid.dart","sliver.dart","sliver_multi_box_adaptor.dart","viewport_offset.dart","viewport.dart","animated_size.dart","table.dart","table_border.dart","texture.dart","list_body.dart","custom_paint.dart","sliver_fixed_extent_list.dart","image.dart","wrap.dart","editable.dart","sliver_persistent_header.dart","proxy_sliver.dart","list_wheel_viewport.dart","error.dart","flex.dart","sliver_list.dart","custom_layout.dart","rotated_box.dart","performance_overlay.dart","sliver_fill.dart","sliver_padding.dart"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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","file":"animated_size.ddc.js"}');
  // Exports:
  return {
    src__rendering__object: object$,
    src__rendering__layer: layer$,
    src__rendering__debug: debug$0,
    src__rendering__binding: binding$4,
    src__rendering__view: view,
    src__rendering__box: box,
    src__rendering__shifted_box: shifted_box,
    src__rendering__stack: stack,
    src__rendering__debug_overflow_indicator: debug_overflow_indicator,
    src__rendering__paragraph: paragraph,
    src__rendering__proxy_box: proxy_box,
    src__rendering__platform_view: platform_view,
    src__rendering__flow: flow,
    src__rendering__tweens: tweens,
    src__rendering__sliver_grid: sliver_grid,
    src__rendering__sliver_multi_box_adaptor: sliver_multi_box_adaptor,
    src__rendering__sliver: sliver$,
    src__rendering__viewport_offset: viewport_offset,
    src__rendering__viewport: viewport,
    src__rendering__animated_size: animated_size,
    src__rendering__table: table,
    src__rendering__table_border: table_border,
    src__rendering__texture: texture,
    src__rendering__list_body: list_body,
    src__rendering__custom_paint: custom_paint,
    src__rendering__sliver_fixed_extent_list: sliver_fixed_extent_list,
    src__rendering__image: image$,
    src__rendering__wrap: wrap,
    src__rendering__editable: editable,
    src__rendering__sliver_persistent_header: sliver_persistent_header,
    src__rendering__proxy_sliver: proxy_sliver,
    src__rendering__list_wheel_viewport: list_wheel_viewport,
    src__rendering__error: error$,
    src__rendering__flex: flex$,
    src__rendering__sliver_list: sliver_list,
    src__rendering__custom_layout: custom_layout,
    src__rendering__rotated_box: rotated_box,
    src__rendering__performance_overlay: performance_overlay,
    src__rendering__sliver_fill: sliver_fill,
    src__rendering__sliver_padding: sliver_padding
  };
});

//# sourceMappingURL=animated_size.ddc.js.map
