Update: 2026-06-21 18:58:05

This commit is contained in:
Hamza-Ayed
2026-06-21 18:58:13 +03:00
parent b492b5076b
commit e73be65a72
8755 changed files with 92977 additions and 99 deletions

View File

@@ -0,0 +1,704 @@
€ÎbuildlayoutcompositingBitspaint compositeflushSemanticssendSemanticsUpdatetestdevice
initInstancesinstance _instancedefaultBinaryMessengercreateBinaryMessengermessage
textDirection
assertiveness _nextViewId
controller_platformDispatcher_viewIddevicePixelRatiodisplaydisplayFeaturesgestureSettingspaddingphysicalConstraints physicalSizeplatformDispatchersystemGestureInsetsviewId
viewInsets viewPaddingrenderupdateSemantics _childrenaddChild removeChildremoveAllChildrengetFirstActivatableChild _delegatewindowingOwner_size _constraints_title _isMaximized _isMinimized
_isFullscreen contentSizetitle isActivated isMaximized isMinimized isFullscreensetSizesetConstraintssetTitleactivate setMaximized setMinimized
setFullscreen_constrainToBoundsdestroy_parentparent _anchorRect _positioner_activeWindowControlleractivateWindowController_tryActivateParentdeactivateWindowControllerisWindowControllerActivecreateRegularWindowControllercreateDialogWindowControllercreateTooltipWindowControllercreatePopupWindowControllerwindowrestorationManager_restorationManagerreset0_enableFocusManagerLifecycleAwarenessIfSupportedcreateRestorationManagerdebugPrintOverridedisableShadowsoverrideHttpClientregisterTestTextInputregisterTestWindowingOwnerdelayedensureInitialized initLicensesdebugCheckZoneinTestmicrotaskCountdefaultTestTimeoutclockdebugSamplingClockpumprunAsync setLocale
setLocalesexitApplication-readTestInitialLifecycleStateFromNativeWindow _surfaceSizesetSurfaceSize
addRenderView_insideAddRenderViewcreateViewConfigurationForidle
globalToLocal
localToGlobalpointerEventSource_pointerEventSource"shouldPropagateDevicePointerEventshandlePointerEventForSourcewithPointerEventSource
testTextInput_testTextInputfocusedEditable_focusedEditable_resetFocusedEditable
takeException_oldExceptionHandler_oldStackTraceDemangler_pendingExceptionDetails_announcementHandler_announcementstakeAnnouncements
_messageStyle_preTestMessage_postTestMessageshowAppDumpInErrorsrunTest asyncBarrier _parentZone_createTestCompletionHandlerreportExceptionNoticed_handleAnnouncementMessage_runTest _runTestBody_beforeTestCheckIntrinsicSizes_verifyInvariants_verifyAutoUpdateGoldensUnset_verifyReportTestExceptionUnset_verifyErrorWidgetBuilderUnset._verifyShouldPropagateDevicePointerEventsUnsetpostTest_currentFakeAsync_pendingAsyncTasks_clockensureFrameCallbacksRegisteredscheduleWarmUpFrame
_rootDelegate_captureRootZoneDelegatescheduleAttachRootWidget_firstFrameDeferredCount_firstFrameSentsendFramesToEnginedeferFirstFrameallowFirstFrameresetFirstFrameSent_phase drawFrameelapseBlocking onlyPumps fadePointers fullyLive benchmark
benchmarkLive skipFrame_inTest
_pendingFrame_expectingFrame_expectingFrameToReassemble_viewNeedsPaint_runningAsyncTasks framePolicy
scheduleFramescheduleForcedFramereassembleApplication
_drawFramehandleBeginFramehandleDrawFrame_markViewsNeedPaint_label _labelStylelabelsetLabel%_renderViewToPointerIdToPointerRecord_handleRenderViewPaintdeviceEventDispatcherhandlePointerEvent
dispatchEventlogicalConstraints
_getMatrix _paintMatrixtoMatrixshouldUpdateMatrix
_physicalSizetoPhysicalSizetoStringnow stopwatchpointercolorpositiondecay EnginePhase_MockMessageHandlerTestBindingEventSource_kDefaultTestViewportSize!TestDefaultBinaryMessengerBinding!CapturedAccessibilityAnnouncement_TestFlutterView_ChildWindowHierarchyMixin_TestRegularWindowController_addChildToParent_removeChildFromParent_TestDialogWindowController_TestPopupWindowController_TestWindowingOwnerTestWidgetsFlutterBinding"AutomatedTestWidgetsFlutterBinding(LiveTestWidgetsFlutterBindingFramePolicy_HandleDrawFrameLiveTestWidgetsFlutterBindingTestViewConfiguration_TestSamplingClock_kPointerDecay_LiveTestPointerRecord<72>âisWindowingEnabledfailTimeoutdartlibrary
js_interop WidgetTester
pumpWidgetpumpWidgetsBinding drawFrame
BuildOwner
buildScope
PipelineOwner flushLayoutflushCompositingBits
flushPaint
RenderViewcompositeFrameflushSemanticsSemanticsOwnersendSemanticsUpdateTestDefaultBinaryMessengersetMockDecodedMessageHandlerFuturevoidObject
dispatchEvent TestGesture startGestureSizeServicesBinding BindingBaseoverride
initInstances _instance
checkInstancedefaultBinaryMessengerByteDataStandardMethodCodecencodeSuccessEnvelopeintcreateBinaryMessengeroutboundHandlersStringMessageHandlerSemanticsServiceannouncetakeAnnouncements
TextDirection
Assertiveness FlutterViewTestPlatformDispatcher addTestViewBaseWindowControllerdoubledevicePixelRatioDisplaydisplaysfirstListDisplayFeatureemptyGestureSettings ViewPaddingzeroViewConstraintstight contentSizePlatformDispatcherSceneSemanticsUpdate _childrenaddremovechilddestroyclearisEmptyRegularWindowController regularChildgetFirstActivatableChildDialogWindowController dialogChildTooltipWindowControllerPopupWindowController
popupChildRegularWindowControllerDelegateBoxConstraintsdelegate
preferredSizepreferredConstraintslooserootView
controllerplatformDispatcherbooldisplaysizeisWindowControllerActivenotifyListenersactivateWindowControllerdeactivateWindowControllerconstrainWidthwidthconstrainHeightheightonWindowDestroyedremoveAllChildren
testParentaddChild removeChildDialogWindowControllerDelegatePopupWindowControllerDelegateRectWindowPositioner
anchorRect
positionerbiggestWindowingOwnerregularControllerleafdialogController
regularParentactivate dialogParent popupParentparenttooltipControllerpopupControllerinternalwindowingOwnertitleTooltipWindowControllerDelegateUnimplementedError timeDilationSchedulerBindingGestureBindingSemanticsBindingRendererBindingPaintingBinding
debugPrintinstancedefaultRouteNameTestValuedebugDisableShadowsTestFlutterViewviewviewOfwindow
Deprecated
TestWindowTestRestorationManagerdisposeresetGestureBindingresetregisterCustomSemanticsAction
resetForTests
buildOwner focusManager.listenToApplicationLifecycleChangesIfSupportedprintToConsoleDebugPrintCallback protected
HttpClient
TestTextInput isRegistereddelayedDuration testWidgetsensureInitializedvisibleForTestingMap environmentfromPlatformDispatchersetupHttpOverrides onClearedClock
SamplingClock TestFailureTestAsyncUtilsguardLocaledispatchLocalesChangedAppExitResponse AppExitType
cancelablecancelrequired FlutterErrorinitialLifecycleStateTestValue)readInitialLifecycleStateFromNativeWindow physicalSizehandleMetricsChanged
addRenderViewViewConfigurationhasConfiguration
configuration
renderView flutterView implicitViewlogicalConstraintsphysicalConstraintscreateViewConfigurationFor CompleterTimerruncompletefutureOffsethandlePointerEventdeviceWidgetControllertaptest timedDrag PointerEventsource VoidCallbackState EditableTextEditableTextStateTextInputConnection showKeyboardrequestKeyboarddynamic exceptionFlutterExceptionHandlerStackTraceDemanglerFlutterErrorDetails TextStylecolorColorfontSizeWidgetCenterTextstyle
textDirectionltr FakeAsyncbenchmarkWidgetsverifyAllScopesClosedZonecurrentreportTestException isCompleted_datatoStringvaluescheckMockMessageHandlerSystemChannels
accessibilitynameonErrordemangleStackTracedumpErrorToConsole forceReportdetails
StackTracestackTracevmTraceChaintoTracecontextErrorDescriptionDiagnosticsNode rootElementtoDiagnosticsNodemessage toStringDeeplevelDiagnosticLevelerrorreportExpectCall reportError stackFilterIterabledefaultStackFilterframesskipinformationCollectorDiagnosticsProperty
linePrefixDiagnosticsTreeStyleflat
isNotEmpty
errorPropertyZoneSpecificationhandleUncaughtError ZoneDelegatefork
specification runBinary whenCompletedebugCheckIntrinsicSizesrunApp Containerkey UniqueKeyresetFirstFrameSentautoUpdateGoldenFiles isBrowserTestExceptionReporterErrorWidgetBuilder ErrorWidgetbuilder
unregisterdebugAssertNoTransientCallbacks+debugAssertNoPendingPerformanceModeRequestsdebugAssertNoTimeDilation!debugAssertAllFoundationVarsUnsetdebugPrintOverridedebugAssertAllGesturesVarsUnsetdebugAssertAllPaintingVarsUnsetdebugDisableShadowsOverridedebugAssertAllRenderVarsUnset debugCheckIntrinsicSizesOverridedebugAssertAllWidgetVarsUnset debugAssertAllSchedulerVarsUnsetdebugAssertAllServicesVarsUnsetkeyEventManagerkeyMessageHandler FocusManagerregisterGlobalHandlers RawKeyboardclearKeysPressedHardwareKeyboard
clearStateinitMouseTrackerresetInternalStatemockFlutterAssetsdebugPrintSynchronouslyminutesmicrotaskCountdurationelapsenewPhasehasScheduledFrameflushMicrotaskshandleBeginFrame microsecondsnowmicrosecondsSinceEpochhandleDrawFramevaluescheduleMicrotaskzonef createTimercreatePeriodicTimerperiodthen
catchError ErrorHint onDrawFrame onBeginFramerootRattachRootWidgetidledebugBuildingDirtyElementsbuildrootPipelineOwnerlayoutcompositingBitspaint renderViews composite finalizeTreeelapseBlockinggetClockDateTimeutclocalFakeAsync_runTest description microtask asyncBarrier_verifyInvariantsperiodicTimerCountnonPeriodicTimerCount FakeTimer
pendingTimerstimer
isPeriodicdebugPrintStack
stackTracecreationStackTracepostTest framePolicy fadePointers onlyPumps fullyLive
benchmarkLive TestPointer
pumpBenchmark
scheduleFrame
pumpAndSettlehandlePointerEventRecordfling benchmarkflutter_driverdebugAddPaintCallbacknoneWidgetsFlutterBindingscheduleForcedFramereassembleApplication
StateError skipFrameviewIdwheremarkNeedsPaint TextPainter
fontFamily textAlign TextAlignlefttextTextSpanExpandoPaintingContext shortestSidePathaddOval
fromCirclecenterradiusmoveTolineToCanvascanvasPaint strokeWidth
PaintingStylestrokerecord withOpacitydecaydrawPathshiftpositionkeyspointertoListforEachHitTestDispatcher"shouldPropagateDevicePointerEventspointerEventSourcetargetdown
firstWherercopyWithwithPointerEventSource
HitTestResultPointerAddedEventPointerRemovedEvent ErrorSummaryfromView _surfaceSizeMatrix4toMatrixinvert MatrixUtilstransformPointBoxFitcontaincomposeVector3
Quaternionidentityclone runtimeType _paintMatrix Stopwatch stopwatchHSVColorfromAHSVtoColor BindingBaseServicesBinding FlutterViewRegularWindowController_ChildWindowHierarchyMixinDialogWindowControllerPopupWindowControllerWindowingOwnerSchedulerBindingGestureBindingSemanticsBindingRendererBindingPaintingBindingWidgetsBinding!TestDefaultBinaryMessengerBindingTestWidgetsFlutterBindingViewConfiguration
SamplingClock0„e@z•ÖÓÙÇ3'<00>˜
dart:async<00>­<00>½<EFBFBD>Àui<75>Àdart:ui<00>Æpackage:clock/clock.dart<00>é"package:fake_async/fake_async.dartpackage:flutter/foundation.dart@package:flutter/gestures.darthpackage:flutter/rendering.dartpackage:flutter/scheduler.dart‚ºpackage:flutter/services.dartƒƒ/isWindowingEnabled‚â-package:flutter/src/foundation/_features.dartƒ2(package:flutter/src/widgets/_window.dartƒe3package:flutter/src/widgets/_window_positioner.dartƒ£package:flutter/widgets.dartƒîƒ÷failƒÊpackage:matcher/expect.dartƒú„'„* stack_trace„*$package:stack_trace/stack_trace.dart„r„~Timeout„8„b„e test_package„e!package:test_api/scaffolding.dart<>'package:vector_math/vector_math_64.dartdart.library.js_interop_binding_web.dart„´„þ…binding…_binding_io.dart  goldens.dart…"
platform.dart…:restoration.dart…Ustack_manipulation.dart…wtest_async_utils.dart…—"test_default_binary_messenger.dart…Ätest_exception_reporter.dart…ëtest_text_input.dart
 window.dartÀÑ<>Àª˜‹Œ<€†€¤€¥€Ø<E282AC><03><04><1E>"<22>D<EFBFBD>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD>¬<EFBFBD>Ä<EFBFBD>Å<EFBFBD>è?g<67>¹áƒ1ƒdƒ¢ƒÉƒù„7„€„²„³…
…!…9…T…v……Ã…ê† †† †`†††Š†Ø†ê†ý‡H‡Q‡R‡¤‡®‡¯‡õˆ!ˆ4ˆ5ˆˆŽˆ<C5BD>ˆÉ‰‰a‰n‰o‰°‰Ö‰è‰éŠ:Š€Š—Š™ŠšŠäŠè‹<z{‹È‹Õ‹ÙŒŒ;ŒjŒˆŒÑ<C592>
<EFBFBD><15><16>g<EFBFBD>®<EFBFBD>¸<EFBFBD>º<EFBFBD>»<EFBFBD>ö<EFBFBD>÷Ž;Ž]ŽaޱŽé<C5BD><10>Z<EFBFBD>f<EFBFBD><EFBFBD>š<EFBFBD>°<EFBFBD>´<EFBFBD>µ<EFBFBD><05>f<EFBFBD><66><EFBFBD>ž<EFBFBD>ª<EFBFBD>å'(4k¬ú(M¤«¯±²““h“»””#”'”|”¦• •
•F•^•_•<5F>••Ã467gÊú——D—H—I—g—<67>—Ä—Ù—Ú—æ˜!˜"˜.˜m˜n˜z˜Ì˜Í˜Ù™!™"™.™c™d™p™È™É™Õššš+šršsššÀšÁšÍšêšëš÷/0<uv´µÁöøùœœeœfœŽœ¼œÖœÚœÛ<C593> <0B><<3C>Y<EFBFBD>]<5D>^<5E><EFBFBD>´<EFBFBD>îžž ž"ž&ž'žož£žòŸŸ:Ÿ@ŸAŸ<41>Ÿ—ŸÏ   < } ² Î¡¡¡X¡t¡®¡Á¡Í¢1¢h¢¢õ£D£U£Š£¦£à£ó£ÿ¤_¤|¤„¤Š¤‹¤¤¤¨¤ª¤«¥¥1¥h¥ ¥Â¥Û¦¦¦5¦k¦Ç¦ï§§ §{§|§³§Ã§Ç§È§û¨'¨5¨T¨e¨¨Ÿ¨½¨¾¨Ê©!©"©.©L©M©Y©¢©£©¯©×©Ø©äª ª
ªªCªDªPªlª~ª˜ª¯ª³ª´ªÀªô««.«E«I«J«V«v«Š«¡«¥«¦«²«Æ¬ ¬A¬E¬F¬R¬x¬¬®¬Ê¬ç¬í­­­ ­­;­Y­q­¨­®­Å­É­Ê­Ö®®5®N®j®†®Œ®£®§®¨®Æ¯ ¯O¯p¯t¯u¯<75>¯”¯·¯Ð°° ° ° °_°w°<77>°Á±±;±<>±´±ø²²x²~²‚²„²…²Ý²õ³ ³?³‡³¼´´8´´¥´ÿµµ µ µ µoµ<6F>µÅµý¶¶A¶Z¶„¶—¶´¶Í··_·‡·ž·¸¸¸8¸9¸p¸¸¸¸·¸Þ¹
¹¹7¹H¹e¹f¹r¹“¹”¹ ¹Ï¹Ð¹Ü¹ú¹ûººPºQº]º…º†º’º®ºÀºÚºñºõºö»»6»V»p»‡»»Œ»˜»¸»Ì»ã»ç»è»ô¼¼b¼ƒ¼‡¼ˆ¼”¼º¼â½½½½=½U½Œ½½©½­½®½Ì¾¾U¾v¾z¾{¾‡¾š¾½¾Ö¿ ¿6¿:¿<¿=¿ž¿½¿òÀ@*À@LÀ@~À@ŸÀ@ÉÀ@óÀAÀA<ÀA]ÀA~ÀA—ÀA®ÀB ÀB.ÀB/ÀBfÀBvÀBzÀB{ÀB¬ÀBØÀB÷ÀCÀC.ÀCHÀCnÀC”ÀC•ÀC¡ÀCÑÀCÒÀCÞÀD ÀD
ÀDÀDbÀDcÀDoÀDƒÀDÝÀDþÀEÀEÀEÀECÀEcÀEzÀE~ÀEÀEÀEžÀEÁÀEÚÀFÀF9ÀF=ÀF?ÀF@ÀFgÀFkÀF·ÀFÏÀFÓÀFáÀG7ÀGFÀGnÀG¡ÀGíÀHÀHÀHRÀHƒÀH„ÀH¬ÀH²ÀIÀI ÀI&ÀIzÀI¡ÀI§ÀIÛÀJ.ÀJHÀJ„ÀJâÀK ÀK3ÀK\ÀKÀKòÀLÀLCÀLlÀL˜ÀLëÀMÀMjÀM“ÀM»ÀMäÀMêÀMîÀMïÀN)ÀNCÀNWÀN]ÀN^ÀNtÀN¬ÀNÎÀOÀO%ÀOQÀO¨ÀOÜÀOüÀPÀPÀPÀPÀPÀP]ÀPcÀP®ÀP´ÀQÀQ=ÀQCÀQÀQæÀR+ÀR\ÀRjÀRpÀRqÀRÀR·ÀRßÀSÀSUÀSÀS‰ÀSÅÀSÓÀT&ÀTPÀT[ÀT“ÀTÎÀTøÀUÀUÀU ÀU
ÀUZÀU<>ÀUÏÀUÓÀUÔÀUàÀUìÀV&ÀV]ÀVvÀV ÀV³ÀVºÀVãÀVýÀW,ÀWHÀWlÀWžÀW²ÀW¹ÀW½ÀW¾ÀWÊÀWÖÀXÀXDÀX]ÀX‡ÀX©ÀX¼ÀXÃÀXëÀYÀY4ÀYPÀYfÀYŠÀY¼ÀYÐÀY×ÀYÛÀYÜÀYèÀZ"ÀZYÀZÀZ¬ÀZÖÀ[À[À[EÀ[eÀ[iÀ[jÀ[vÀ[¬À[áÀ\À\4À\^À\ˆÀ\<5C>À\¶À\ÐÀ\ÿÀ]À]MÀ]kÀ]‰À]ŸÀ]¦À]ªÀ]¬À]­À]ÅÀ]ðÀ^À^À^CÀ^GÀ^<5E>À^áÀ_,À_{À_¹À_½À_ÿÀ`>À`BÀ`<60>À`ÜÀa)ÀaoÀa¿ÀaÖÀaÚÀaôÀaøÀbDÀbŽÀbÜÀc,Àc0ÀczÀcËÀdÀdÀdcÀd|Àd¹ÀdÂÀdÜÀdõÀe
Àe'Àe@ÀeYÀeqÀe<>ÀeÐÀeÖÀf ÀfcÀf<>ÀfæÀgÀgCÀgmÀgqÀgrÀg´ÀgºÀhÀh;ÀhAÀhÀhÜÀi-Ài~ÀiÏÀjÀj.Àj4ÀjDÀjJÀjšÀj¯ÀkÀkÀklÀk‡ÀkÀkßÀl#Àl\Àl`ÀllÀlŒÀl<>Àl™ÀlÌÀlÍÀlÙÀm ÀmCÀmdÀmhÀmiÀm˜Àm™ÀmáÀnÀnÀn^Àn Àn±ÀnÕÀnõÀo-ÀoHÀocÀo„Ào¥Ào«Àp ÀpCÀpGÀpHÀp„Àp¢Àp°Àp¶ÀpÓÀqCÀqGÀqHÀqTÀqŠÀq¯Àq³Àq´ÀqôÀqúÀrFÀr~ÀrÆÀsÀs ÀsOÀs•ÀsÜÀtÀtJÀtKÀt”ÀtšÀtåÀu,Àu|Àu¤Àu±ÀuÕÀuÖÀv#ÀvKÀvQÀv ÀvëÀw2Àw|Àw‰Àw°Àw±ÀxÀx'Àx-ÀxxÀxÅÀxÞÀxäÀy.ÀyGÀyMÀyÀyãÀz1ÀzHÀzNÀzÀz¯ÀzµÀ{À{SÀ{<7B>À{±À{¾À{èÀ{éÀ|:À|iÀ|oÀ|ÀÀ}À}'À}-À}|À}ËÀ~À~*À~7À~fÀ~gÀ~‹À~‘À~àÀ“ÀäÀ
À€5À€6À€~À€„À€ÔÀ<00><00><00>ÄÀ<00>óÀ<00>ôÀ‚“À‚™À‚ÞÀƒÀƒSÀƒ”ÀƒÖÀƒÜÀ„&À„uÀ„´À„ºÀ„òÀ…@À…†À…ŒÀ…ÑÀÀ†XÀ†^À†©À†÷À‡DÀ‡tÀ‡zÀ‡¯À‡æÀˆÀˆˆˆˆˆˆ<>ÀˆâÀ‰0À‰À‰ÅÀŠÀŠÀŠ9ÀŠOÀбÀŠÏÀŠóÀŠùÀ‹ÐÀ‹ÖÀ‹ÚÀ‹ÛÀ‹çÀŒÀŒÀŒkÀŒ“ÀŒ—ÀŒ˜ÀŒ¤ÀŒÏÀ<00><00><00>‰À<00><>À<00>ŽÀ<00>ÁÀ<00>ÔÀ<00>ÕÀŽÀŽ(ÀŽ)ÀŽkÀŽqÀŽÁÀ<00>
À<00><00>“À<00>ÂÀ<00>ÃÀ<00>ÛÀ<00>áÀ<00><00><00>³À<00>¹ÀÀ‘’À‘“À‘ÍÀ‘ìÀ‘òÀ’³À’æÀ’ìÀ“9À“zÀ“ÝÀ“ÞÀÀ”"À”qÀ”¼À”ãÀ”éÀ•7À•BÀ•HÀ<>À•®À•´ÀÀ–ˆÀ–ŽÀ–ÜÀ—*À—mÀ—•À—ÎÀ—ÏÀ˜À˜˜˜ŠÀ˜žÀ˜âÀÀ™)À™|À™¬À™´À™¸À™¹ÀšÀšÀšQÀš‚Àš˜Àš¿ÀšÇÀšËÀšÌÀšØÀ›¾À›èÀœ ÀœbÀœhÀœlÀœmÀœ¹À<00>À<00><00><00><00><00>ŒÀ<00><>À<00>×ÀžÀž Àž?ÀžEÀžˆÀžÔÀžüÀŸ
ÀŸ:ÀŸsÀŸ}ÀŸƒÀŸÓÀ À  ‹À çÀ¡À¡DÀ¡ZÀ¡|À¡ŒÀ¡”À¡¯À¡ÍÀ¡ÕÀ¡ÙÀ¡ÚÀ¡æÀ¢À¢/À¢9À¢ZÀ¢jÀ¢ŽÀ¢”À¢˜À¢™À¢¾À¢¿À¢ËÀ£À£3À£ZÀ£—À£ÀÀ¤3À¤¥À¤ÌÀ¥,À¥SÀ¥YÀ¥ŽÀ¥ÙÀ¦À¦8À¦aÀ¦£À¦ÔÀ¦ÝÀ¦ãÀ§À§ À§!À§MÀ§SÀ§¡À§òÀ¨GÀ¨MÀ¨žÀ¨îÀ©6À©NÀ©yÀ©¤À©¹À©×À©áÀªÀªÀª Àª
Àª\Àª<>Àª‡ÀªØÀ«#À«2À«8À«†À«ÆÀ«ÇÀ¬À¬?À¬EÀ¬–À¬ÞÀ¬äÀ­­­­¢À­¨À­ëÀ®:À®QÀ®WÀ® À®ÊÀ®ÐÀ¯À¯mÀ¯¹À°À°À°ZÀ°¨À°©À°óÀ±"À±(À±tÀ±ÅÀ±×À±ÝÀ²À²5À²6À²‚À²¹À²¿À³
À³ZÀ³gÀ³mÀ³½À´
À´´©À´ÝÀ´ãÀµ1ÀµzÀµ´ÀµºÀÀ¶8À¶‡À¶ÖÀ¶óÀ·À·1À·tÀ·{À·ÀÀ·ÄÀ·ÅÀ¸À¸¸¸<>À¸×À¸ùÀ¹À¹À¹!À¹MÀ¹SÀ¹WÀ¹XÀ¹žÀ¹ÏÀºÀº)Àº*Àº{Àº<>ÀºÑÀ»À»,À»2À»}À»žÀ»¤À»ÛÀ»þÀ¼À¼MÀ¼‹À¼ÉÀ¼ðÀ½"À½GÀ½gÀ½‡À½<>À½‘À½’À½³À½ÐÀ½ÔÀ½ÕÀ¾ À¾&À¾sÀ¾¼À¾äÀ¾êÀ¿2À¿ƒÀ¿ÌÀÀÀÀbÀÀhÀÀ·ÀÀÐÀÀìÀÁÀÁ@ÀÁeÀÁxÀÁ|ÀÁ}ÀÁ®ÀÁâÀÂÀÂÀÂAÀ£À¤ÀÂêÀÃ:ÀÃxÀÃ~ÀÃÔÀÃöÀÄ ÀÄKÀÄ_ÀıÀÄíÀÅÀÅ ÀÅ ÀÅjÀÅkÀÅ›ÀÅøÀÅýÀÅþÀÆ/ÀÆŠÀÆ<>ÀÆ<>ÀÆÕÀÆêÀÇÀÇÀÇVÀÇjÀÇpÀÇ®ÀÇ´ÀÇúÀÈ ÀÈÀÈaÀÈ£ÀÈ©ÀÈóÀÉ@ÀÉiÀÉ<>ÀɧÀÉËÀÉèÀÉîÀÉïÀÊ=ÀÊMÀÊSÀÊ£ÀÊãÀÊûÀË'ÀË+ÀË,ÀËAÀËBÀË£À˳ÀÌÀÌ8ÀÌcÀÌ‘À̦ÀÍÀÍZÀ̓ÀÍ‹ÀͯÀÍÍÀÍÕÀÍÜÀÍàÀÍáÀÎ1ÀÎYÀÎ_ÀίÀÎÿÀÏ@ÀÏMÀÏŒÀÏ­ÀÐ
ÀÐÀÐÀÐYÀÐuÀÐ<>ÀÐØÀÐáÀÐûÀÑ(ÀÑNÀÑ<>ÀÑÒÀÑÝÀÑæÀÑìÀÑðÀÑñÀÒ
ÀÒ0ÀÒRÀÒjÀÒpÀÒ„ÀÒ…ÀÒ½ÀÓ ÀÓIÀÓUÀÓ^ÀÓ—ÀÓßÀÔÀÔ;ÀÔ]ÀÔjÀÔpÀÔqÀÔ¢ÀÔáÀÕÀÕYÀÕ‡ÀÕœÀÖÀÖ+ÀÖIÀÖ¢ÀÖ³ÀÖÒÀÖÜÀ××××üÀØ)ÀØ4ÀØCÀØcÀØvÀØÅÀØñÀØùÀÙÀÙ;ÀÙ‹ÀÙØÀÚ%ÀÚpÀÚ˜ÀÚ¶ÀÚ¾ÀÚæÀÛÀÛÀÛ*ÀÛ1ÀÛ^ÀÛ«ÀÛ¾ÀÛÓÀÛÚÀÜÀÜDÀÜmÀÜÆÀÝ%À݆ÀÝÑÀÝæÀÞQÀÞnÀÞ<>ÀÞ¯ÀÞÉÀß%ÀßTÀßaÀßxÀ߃Àß“Àß›ÀßæÀà0ÀàÀàÊÀáÀácÀá®ÀáåÀáîÀâ8Àâ„ÀâÑÀã ÀãlÀã·ÀäÀäLÀä‹Àä”ÀäâÀå+ÀåzÀå®Àå·ÀæÀæOÀæšÀæºÀæÚÀææÀçCÀç¨Àè
ÀèmÀèÉÀèêÀéÀé2ÀéxÀé Àé«Àé³ÀéäÀê/ÀêOÀêlÀêŒÀê¤ÀêÛÀëÀë;ÀëŽÀë›ÀëÆÀëîÀìÀì ÀìGÀì<>ÀìÒÀììÀíÀí@ÀíQÀí_Àí‰ÀíºÀíæÀîÀî>ÀîOÀî]ÀîjÀîuÀî~Àî¡Àî¯ÀîÙÀïÐÀïÙÀðÀðÀðÀðSÀðnÀðÊÀðýÀñ
ÀñÀñ1Àñ<>ÀñšÀñãÀñûÀòÀò*Àò4ÀòbÀòƒÀò‡ÀòˆÀòìÀóÀóOÀóŽÀó<>ÀóôÀôÀôWÀôrÀô<>ÀôŽÀôàÀõ5Àõ†ÀõèÀõéÀõýÀöÀö‡ÀöˆÀö´À÷À÷PÀ÷ŒÀ÷šÀ÷ØÀøÀøÀø=Àø_Àø‚Àø§Àø¯ÀøÈÀùÀù^Àù¢ÀúÀú!Àú'Àú(Àú<ÀúŸÀú£Àú¤ÀúÐÀúÑÀúîÀúúÀû!ÀûsÀû|ÀûƒÀû<>ÀûÂÀü
ÀüÀüÀü|ÀüˆÀü±ÀüþÀý.Àý7Àý>ÀýJÀýqÀý¼ÀýÅÀýÌÀýØÀýÿÀþJÀþÀþˆÀþ<>Àþ›ÀþÀÀÿ ÀÿVÀÿ_ÀÿfÀÿrÀÿ—ÀÿàÀÿéÀÿðÀÿüÀ€ÀŒÀ³ÀþÀÀÀÀÀ–À¸À×À‘ÀžÀ©À±ÀÄÀÎÀÒÀÓÀ³ÀÀ˜ÀºÀÙÀ‘ÀžÀ©À±ÀÄÀÎÀÒÀÓÀÀ…À¤ÀÀ<07>À™À<07>ÀžÀìÀüÀ€À¥ÀÿÀ À „À —À ¡À ¥À ¦À ëÀ ÿÀ
À

ƒÀ
¨À
ÀÀ
èÀ
éÀ   ‘À šÀ âÀ    ”À •À ÜÀ



ÅÀ
ÓÀ ÀžÀ×ÀùÀ¥ÀÞÀÀÀÀÀ©À­ÀúÀÀ ÀŽÀ’ÀàÀøÀüÀ<12>ÀŽÀÛÀçÀÀÀ¨À®ÀõÀ½ÀÀ‘ÀØÀ
ÀÀŽÀÈÀÝÀÀ‹À‘ÀÉÀÍÀÎÀÀ…À‰ÀŠÀ›ÀœÀ¨ÀðÀñÀýÀ À»ÀÀÀªÀ«À·ÀöÀ÷ÀÀ’À¨ÀÆÀäÀÀÀ×ÀÀ ÀƒÀ„À<1D>ÀÊÀÚÀÀÀÀ£ÀìÀ’ÀîÀ ¢À åÀ ôÀ!À!À!8À![À!tÀ!“À!¿À!ÏÀ"À"'À"0À"7À"8À"fÀ"ŒÀ"ºÀ"ÆÀ#!À#EÀ#fÀ#ŠÀ#¦À#×À$!À$JÀ$«À$¼À$ËÀ$ØÀ$ùÀ%À%(À%JÀ%iÀ%‹À%¥À%ÔÀ&À&CÀ&¡À&°À&½À&ÈÀ&çÀ&ïÀ'À'=À'`À'jÀ'†À'ŽÀ'’À'“À'ŸÀ'ÉÀ'üÀ(0À(eÀ(iÀ(jÀ(vÀ(•À(òÀ)>À)RÀ)nÀ)˜À)¯À)ÙÀ)ÝÀ)ÞÀ*À*À*TÀ*yÀ*ÁÀ*ÂÀ*üÀ+/À+\À+„À+ÒÀ+ðÀ+ûÀ,À, À,XÀ,žÀ,âÀ,æÀ,çÀ,óÀ-(À-ƒÀ-ÕÀ-éÀ. À.5À.9À.:À.FÀ.^À.rÀ. À.ÎÀ.áÀ.åÀ.æÀ/
À/*À/+À/7À/ŠÀ/‹À/—À/²À/ÝÀ0À0À0À0À0,À0VÀ0yÀ0ÇÀ1À1À1À1À13À1PÀ1TÀ1UÀ1<>À1ŽÀ1ÚÀ1æÀ1ûÀ2À2À2BÀ2nÀ2—À2ÀÀ2ìÀ3 À3WÀ3ƒÀ3ÈÀ3îÀ4/À4~À4ŽÀ4ÃÀ5À56À5À5®À5¾À5ÌÀ5ØÀ5âÀ5êÀ6 À6À6FÀ6LÀ6PÀ6QÀ6]À6‰À6°À6ÙÀ6úÀ6þÀ6ÿÀ7KÀ7bÀ7<>À7¾À7ÂÀ7ÃÀ7ÏÀ7çÀ8
À81À8NÀ8UÀ8jÀ8À8­À8®À8ÑÀ9 À9>À9dÀ9“À9ÁÀ9ìÀ:5À:KÀ:SÀ:TÀ:<3A>À:ÉÀ;À;eÀ;´À<À<'À<(À<pÀ<‡À<‘À<’À<ÖÀ<ùÀ=$À=NÀ=sÀ={À=–À=žÀ=¢À=£À=¯À=ÇÀ=îÀ>À>2À>6À>7À>CÀ>`À>À>€À>”À>•À>´À>êÀ?#À?HÀ?<3F>À?¤À?ÕÀ@ À@À@UÀ@mÀ@uÀ@‘À@—À@øÀAFÀAJÀAKÀAWÀAkÀA<>ÀA¨ÀAÄÀA×ÀAõÀAùÀAûÀAüÀBJÀBVÀBZÀB„ÀB¾ÀBÂÀCÀC\ÀC„ÀCÐÀDÀDkÀD®ÀDêÀE:ÀEDÀEHÀE˜ÀEØÀFÀFÀF'ÀF~ÀF²ÀGÀGÀGÀG#ÀGSÀG<>ÀG•ÀGÞÀHÀH$ÀH%ÀHpÀHºÀHÍÀHÓÀIÀI?ÀIEÀI<>ÀIØÀIèÀIéÀJ8ÀJQÀJWÀJ¨ÀJÝÀJãÀK$ÀKkÀK¼ÀKëÀKøÀKùÀL'ÀL-ÀL}ÀLÍÀMÀMfÀMµÀM»ÀN ÀNXÀN¤ÀNìÀO#ÀO)ÀOwÀO¹ÀP ÀPZÀP{ÀPˆÀP‰ÀPÕÀPâÀPèÀQ5ÀQrÀQxÀQÂÀR
ÀRZÀR<>ÀR×ÀRÝÀS-ÀS`ÀSqÀSsÀStÀSªÀS«ÀSìÀT4ÀTpÀTtÀT»ÀTþÀU+ÀU/ÀUoÀU½ÀV
ÀVWÀV„ÀVˆÀVÕÀW%ÀWvÀWÂÀXÀXZÀXªÀXöÀYÀYÀYSÀY“ÀYÖÀYãÀYçÀZ-ÀZlÀZyÀZÁÀZÍÀZæÀ[À[À[À[VÀ[ZÀ[[À[§À[­À[ôÀ\;À\~À\¼À]À]LÀ]MÀ]†À]ÈÀ]úÀ^À^;À^~À^¸À^ÍÀ_
À_EÀ_lÀ_rÀ_¥À_©À_ªÀ_¶À_ÔÀ_ìÀ_íÀ_ùÀ`À`À`*À`EÀ`uÀ`ÇÀ`ÖÀ`ÚÀ`ÛÀ`çÀa3Àa4ÀaVÀavÀa¢ÀaÂÀaåÀaæÀb"Àb(ÀbwÀb±ÀbüÀcIÀcŠÀc<>ÀcÝÀcãÀdÀdRÀd<>Àd<>ÀdœÀdÈÀdóÀd÷ÀdøÀeÀeÀejÀe±Àe¿ÀeÅÀeàÀeäÀeåÀeñÀfÀf]Àf¤Àf²Àf¸ÀfÙÀfÝÀfÞÀfêÀgÀg;ÀgeÀgiÀgjÀg¢Àg£Àg¯ÀgáÀhÀhhÀhnÀh‰Àh°ÀhÿÀiRÀi¡ÀjÀj5ÀjaÀjnÀj<>Àj£Àj§Àj¨Àj´ÀjÏÀjÿÀkUÀk[Àk<>Àk®Àk´ÀkÝÀkúÀl#Àl>ÀlWÀl|ÀlµÀlÑÀlðÀmDÀmnÀmtÀmxÀmyÀm¥ÀmÁÀmøÀnÀnoÀnÀn¹Àn¿ÀnÃÀnÄÀnÛÀo7Ào8ÀoYÀonÀoÀo“ÀoÕÀoâÀpÀpÀp0Àp>ÀpDÀp„ÀpÝÀqÀq1ÀqLÀqPÀqQÀq«ÀqÞÀqßÀr>ÀraÀrbÀr¢ÀrÝÀs"ÀscÀs}ÀsÅÀsêÀtÀt3ÀtXÀt„Àt ÀtÆÀtîÀuÀuUÀu…ÀuÏÀuÚÀvÀv7ÀvOÀvYÀvtÀv|Àv™ÀvãÀv÷Àw%Àw8ÀwWÀw•Àw¡Àw©Àw¯Àw°ÀwõÀwùÀwúÀx8Àx>Àx<>ÀxÔÀyÀyGÀyMÀy<>Ày¼Ày½Àz ÀzÀzXÀz¡ÀzÞÀzäÀ{/À{{À{§À{³À{ãÀ|À|-À|IÀ|„À|ÃÀ|äÀ|÷À}À}
À}+À}\À}©À}ÉÀ}÷À~À~CÀ~QÀ~€À~£ÀÀƒÀ¡À°ÀßÀëÀõÀÀ€HÀ€zÀ€¥À€¶À€ÀÀ€íÀ<01><01>‰À<01>ÄÀÀ<>À‚ÐÀ‚ÝÀ‚ÿÀƒ*ÀƒbÀƒoÀƒyÀƒÀƒƒÀƒ„Àƒ<>ÀƒÙÀƒûÀ„#À„VÀ„€À„åÀÀ…LÀ…]À…gÀ…–À…»ÀÀ ÀÀÀÀ†"À††À†¿À†ÓÀ†ñÀÀ‡eÀ‡ŽÀ‡¿À‡ÅÀ‡ðÀˆÀˆˆˆˆˆƒÀˆ£Àˆ¼ÀˆÄÀˆíÀÀÀÀÀ‰*À‰jÀ‰zÀ‰›À‰°À‰¸À‰ÄÀ‰õÀŠ<ÀŠ…ÀнÀŠÆÀŠÐÀŠÑÀŠðÀŠúÀÀ<>À‹§À‹ÔÀŒÀŒ!ÀŒ*ÀŒ=ÀŒMÀŒoÀŒuÀŒyÀŒzÀŒ†ÀŒžÀŒÄÀŒèÀ<01>À<01> À<01><01><01><01><>À<01>À<01>À<01>žÀ<01>ÝÀŽÀŽ7ÀŽ•ÀŽØÀŽèÀ<01><01>™À<01>óÀ<01><01><01><01><01><01><01>ŒÀ<01>¢À<01>ÀÀ<01>ãÀ<01>øÀ<01>üÀ<01>ýÀ À‘†À‘¹À‘æÀÀ’àÀ’äÀ’åÀ’ñÀ“)À“yÀ“ÊÀ“ïÀ”<À”„À”ÁÀ”ìÀÀ•TÀ<>À•üÀÀÀ
À–•À–æÀ À—VÀ——À—ÔÀ˜˜˜ÁÀ˜ÅÀ˜ÇÀ˜ÈÀÀ™-À™1À<>À™«À™¯ÀšÀš@ÀšrÀš­ÀšïÀšõÀ›°À›¿À›òÀœ6ÀœpÀœtÀœ×À<01><01><01><01><01><01> À<01>¦À<01>öÀž1Àž<>Àž¿ÀžóÀŸÀŸ8ÀŸcÀŸ”ÀŸÌÀ À  ŒÀ <>À ™À ºÀ »À ÇÀ òÀ óÀ ÿÀ¡+À¡,À¡…À¡ÑÀ¢À¢eÀ¢‘À¢¿À¢áÀ£À£+À£?À£SÀ££À£ÏÀ¤
À¤À¤+À¤UÀ¤iÀ¤¦À¤¬À¤ÐÀ¥À¥,À¥WÀ¥^À¥qÀ¥uÀ¥vÀ¥”À¥•À¥¡À¥ÏÀ¥ÐÀ¥ÜÀ¦À¦SÀ¦›À¦èÀ¦ûÀ§À§0À§lÀ§¦À§ªÀ§«À§ÇÀ§ÈÀ§ÔÀ¨À¨À¨À¨KÀ¨MÀ¨NÀ¨‚À¨¥À¨¦À¨²À¨ÔÀ¨ÕÀ¨áÀ©À©À©'À©)À©*À©IÀ©JÀ©iÀ©ŸÀ©óÀªÀªÀª.ÀªAÀª–Àª˜€ˆ/// @docImport 'dart:io';
///
/// @docImport 'controller.dart';
/// @docImport 'test_pointer.dart';
/// @docImport 'widget_tester.dart';<1B><00>¬<01>À<00>Å<00>è?g<>‚¹‚Ⴣ/ƒ1ƒdƒ¢ƒÉƒîƒ÷ƒù„*„7„e„r„~„€„³
…!…9…T…v…–…Ã…ê ”®”Ï”Ñ”Ò”Ò ”×”à”à”å”ô”ô”ù”¨”¨`”ЕU• P•U9/// The accessibility message announced by the framework.•³•a_•³;/// The direction in which the text of the [message] flows.%•Åm%I/// Determines the assertiveness level of the accessibility announcement.’²’²ƒƒ<E2809D>É/// Accessibility announcement data passed to [SemanticsService.announce] captured in a test.
///
/// This class is intended to be used by the testing API to store the announcements
/// in a structured form so that tests can verify announcement details. The fields
/// of this class correspond to parameters of the [SemanticsService.announce] method.
///
/// See also:
///
/// * [WidgetTester.takeAnnouncements], which is the test API that uses this class.iy{{–‰•2–µ–ä–Жæ—
ii€Þ—d—V—K—V—„—i%—„—¯—0—¯—ЗÆ—Ð —Ü—Ý—Ü—ÜD—ó˜$˜%˜$˜$H˜?˜p˜q˜p˜p[˜˜˜Ï˜Ð˜Ï˜ÏQ˜ò™$™%™$™$>™C™f™g™f™fa™‰™Ë™Ì™Ë™ËR™ãš!š"š!š!PšGšušvšušuJš”šÃšÄšÃšÃ&š×šíšîšíšíA 2322BQ<><EFBFBD>›™›¡›¡
›ªxyxx;›‰›Ø›Ø›ë›·›¸›·›·>›È77…À=¥¥.¥5¥51¥^¥l¥l2¥Œ¥¤¥¤¥²¥Æ¥Æ¥Ì¥ß¥ß$¥ï¦ ¦
¦&¦)¦¦+¦B¦<¦R¦D¦U¦[¦_¦h¦`¦e¦¦r¦¦<E28093>¦™¦§¦¨¦­¦Ä¦®¦´¦¸¦Ã¦¹¦¿¦Õ¦Î¦Ý¦×¦à¦ö¦û¦ü§§¥¥´§ð§Ê/§ð¨§ý(¨¨.¨)
¨.¨F¨7¨F¨]¨V
¨]¨{¨l¨g¨l¨˜¨‰¨„¨‰¨¶¨¦¨¡¨¦¨À¨Á¨À¨À`¨Õ©$©%©$©$'©;©O©P©O©OR©d©¥©¦©¥©¥1©º©Ú©Û©Ú©Ú1©ïªªªª3ª$ ª_ª_ ªdªFªGªFªFlªWªÖªÖªåª¶ª·ª¶ª¶€’ªÇ«f«f «m«L«M«L«LX«]«¨«©«¨«¨€œ«¹¬f¬f¬k¬H¬I¬H¬H€¿¬Y­)­)­.­ ­ ­ ­ €½­­ë­ë­ð­ý­ý® ­Ì­Í­Ì­Ì€Ú­Ý®ª®ª€É®¯¯w¯x¯w¯w€¯ˆ¤«¤«_¤±µqµŒµ“µ“0µ»µÉµÉ2µé¶#¶#¶9¶E¶E¶K¶^¶^$¶n¶ˆ¶ˆ
<>)¶¨¶ž¶ª¶Ã¶»¶Å¶Ú¶Ô¶ê¶Ü¶í¶ó¶÷·¶ø¶ý··
·.··1·?·@·E·\·F·L·P·[·Q·W·m·f·u·o·x·Ž·“·”·™·šµqµqƒ¸¬¸‡.¸¬¸Õ¸¹#¸Õ¸ú¸à(¸ú¹¹
¹¹)¹¹)¹@¹9
¹@¹^¹O¹J¹O¹h¹i¹h¹h*¹}¹¹—¹¹8¹¼¹Ò¹Ó¹Ò¹Ò'¹é¹ý¹þ¹ý¹ýRººSºTºSºS1ºhº¡º¡ º¦ºˆº‰ºˆºˆlº™»»»'ºøºùºøºø€’» »¨»¨ »¯»Ž»<C5BD>»Ž»ŽX»Ÿ»ê»ë»ê»ê€œ»û¼¨¼¨¼­¼Š¼¼Š¼Š<C2BC>"¼›½°½°€É½µ¾}¾~¾}¾}€¼¾Žµ µ Š/µ¿ ¿º¿Á¿Á/¿è¿ö¿ö2À@À@.À@.À@<À@PÀ@P,À@hÀ@‚À@À@“À@£À@£$ÀÀ@ÍÀ@Í$ÀÀAÀ@úÀAÀA$ÀAÀA&ÀAOÀACÀAQÀApÀAdÀArÀA<>ÀA…ÀA<>ÀAžÀA£ÀA¤ÀA©ÀAª¿ ¿ ÙÀB¡ÀB}-ÀÀBÈÀB®(ÀÀBéÀÀÀC!ÀCÀC!ÀCaÀCJ"ÀCaÀCÀCp"ÀCÀC—ÀC˜ÀC—ÀC—9ÀÀCÔÀCÕÀCÔÀCÔ7ÀÀDÀDÀDÀDRÀD$ÀDeÀDfÀDeÀDe€œÀDvÀE%ÀE%ÀE4ÀEÀEÀEÀExÀEÀE<>ÀEÀE<>ÀE<>€»ÀE¿=¿=‡¿CÀÀÀG¸ÀG¸2ÀÀHÀGóÀH ÀG£ÀG£yÀH=ÀH 0ÀH=ÀHjÀHT-ÀHjÀJ ÀJ ÀJ ÀH†ÀH†…gÀ<49>D/// Activates the given [controller].
///
/// If the controller has children, the first activateable window in its hierarchy
/// will be activated.
///
/// Tooltips cannot be activated, so if a [TooltipWindowController] is passed in,
/// this method will throw an error.
///
/// Returns the activated [BaseWindowController].ÀN ÀN ÀNÀMñÀ&ÀÀRÀRÀRÀPÀP„ðÀ<51>º/// Deactivates the given [controller] if it is currently active.
///
/// If the controller is not currently active, this method does nothing.
///
/// If the controller is a [DialogWindowController] with a parent, the parent
/// will be activated upon deactivation of the dialog.
///
/// If the controller is a [TooltipWindowController], this method will throw
/// an error, as tooltips cannot be deactivated because they cannot be activated.ÀUzÀUzÀU<>ÀUÀU€ÃÀUaJ/// Returns whether the given [controller] is the currently active window.ÀV*ÀV*1ÀVSÀVaÀVaÀVgÀVzÀVz$ÀÀV¤À
ÀÀUÖÀU×ÀUâÀUãÀUÖÀ<55>æÀVÀXÀX0ÀX:ÀXHÀXHÀXNÀXaÀXa$ÀXqÀXÀXÀÀX­ÀX­
ÀÀWÀÀWÁÀWÌÀWÍÀWÀÀÀÀZ&ÀZ&1ÀZOÀZ]ÀZ],ÀZuÀZ<>ÀZ<>ÀZ ÀZ°ÀZ°$ÀÀZÚÀZÚ$ÀÀYÞÀYßÀYÞÀ<59>ŠÀZÀ[°À[°/À[×À[åÀ[å,ÀÀ\À\À\(À\8À\8$À\RÀ\bÀ\b$À\€À[lÀ[mÀ[lÀ[l=ÀÀF@ÀF@—kÀGt<47>-/// A [WindowingOwner] used for tests.
///
/// This windowing owner will behave as a perfect windowing system, with no
/// delays or failures.
///
/// See also:
/// * [TestWidgetsFlutterBinding], which uses this class to create window controllers
/// for tests.
/// * [WindowingOwner], the base class.ÀfeÀf~
ÀfšÀf‡ÀfœÀf²ÀfâÀfÅÀf³ÀfÇÀfÙÀfÚÀeŸÀ<65>Ñ€½/// Constructor for [TestWidgetsFlutterBinding].
///
/// This constructor overrides the [debugPrint] global hook to point to
/// [debugPrintOverride], which can be overridden by subclasses. Àk‰ÀkŠÀk”Àl^ÀkšÀkãÀl'ÀlbÀlcÀl„Àgt…Àl„ƒê/// Deprecated. Will be removed in a future version of Flutter.
///
/// This property has been deprecated to prepare for Flutter's upcoming
/// support for multiple views and multiple windows.
///
/// This represents a combination of a [TestPlatformDispatcher] and a singular
/// [TestFlutterView]. Platform-specific test values can be set through
/// [WidgetTester.platformDispatcher] instead. When testing individual widgets
/// or applications using [WidgetTester.pumpWidget], view-specific test values
/// can be set through [WidgetTester.view]. If multiple views are defined, the
/// appropriate view can be found using [WidgetTester.viewOf] if a sub-view
/// is needed.
///
/// See also:
///
/// * [WidgetTester.platformDispatcher] for changing platform-specific values
/// for testing.
/// * [WidgetTester.view] and [WidgetTester.viewOf] for changing view-specific
/// values for testing.
/// * [BindingBase.window] for guidance dealing with this property outside of
/// a testing context.Àl<>Àl<>Àl¸Àl<>;Àl¸ÀmƒÀmk+ÀÀ<00>èÀ<00>Æ+À<00>èÀ<00><00>xÀ<00>~À¢·À¢ À¢›!À¢ À°‰À°ŸÀ° À°sÀ°\JÀ°sÀ².À² À°«<C2B0>ˆÀ² <09>H/// Whether pointer events from [TestBindingEventSource.device] will be
/// propagated to the framework, or dropped.
///
/// Setting this can be useful to interact with the app in some other way
/// besides through the [WidgetController], such as with `adb shell input tap`
/// on Android.
///
/// See also [pointerEventSource].ÀºÀº!ÀºÀ¼ÞÀ¼Ë#À¼ÞÀÁ˜ÀÁ-ÀÁ˜ÀÁÉÀÁ°0ÀÁÉÀÁùÀÁä-ÀÁùÀÂ+ÀÂ)ÀÂ+ÀŸÀ ÀÂ|ÀžÀÂ}ÀÂkÀÂC^ÀÂk ÀÅ5ÀÅ>ÀÅgÀÅDÀÅ?ÀÅFÀÅKÀÅVÀÅLÀÅaÀÅYÀÅcÀÅ%ÀÅZÀÅ%ÀÅ“ÀÅ™ÀÅúÀŤÀÅŸÀŦÀŪÀÅõÀÅ«ÀÅÄÀÅ¿ÀÅÆÀÅâÀÅÕÀÅäÀÅñÀÅòÀÅ<>ÀÅm€ŽÀÅ<>ÀÆ'ÀÆ-ÀÆŒÀÆ8ÀÆ3ÀÆ:ÀÆ>ÀƇÀÆ?ÀÆVÀÆQÀÆXÀÆtÀÆgÀÆvÀƃÀÆ„ÀÆÀÆ<>ÀÆÀÇÀÆñÀÆzÀÆñU/// Whether to include the output of debugDumpApp() when reporting
/// test failures.ÀË4ÀË.ÀË4Àú°Àú¦(Àú°ÀlÏÀlÐÀlÏÀlÏ€˜ÀÀq¶ÀÀt(D/// The value to set [debugPrint] to while tests are running.
///
/// This can be used to redirect console output from the framework, or to
/// change the behavior of [debugPrint]. For example,
/// [AutomatedTestWidgetsFlutterBinding] uses it to make [debugPrint]
/// synchronous, disabling its normal throttling behavior.
///
/// It is also used by some other parts of the test framework (e.g.
/// [WidgetTester.printToConsole]) to ensure that messages from the
/// test framework are displayed to the developer rather than logged
/// by whatever code is overriding [debugPrint].Àu¦Àu§ÀtMÀtM<74>À<75>L/// The value to set [debugDisableShadows] to while tests are running.
///
/// This can be used to reduce the likelihood of golden file tests being
/// flaky, because shadow rendering is not always deterministic. The
/// [AutomatedTestWidgetsFlutterBinding] sets this to true, so that all tests
/// always run with shadows disabled.Àw~ÀwÀuØÀ<75>×Àw”<77>—/// Determines whether the Dart [HttpClient] class should be overridden to
/// always return a failure response.
///
/// By default, this value is true, so that unit tests will not become flaky
/// due to intermittent network errors. The value may be overridden by a
/// binding intended for use in integration tests that do end to end
/// application testing, including working with real network responses.À{³À{´Àw³Àw³„4À{ɃÓ/// Determines whether the binding automatically registers [testTextInput] as
/// a fake keyboard implementation.
///
/// Unit tests make use of this to mock out text input communication for
/// widgets. An integration test would set this to false, to test real IME
/// or keyboard input.
///
/// [TestTextInput.isRegistered] reports whether the text input mock is
/// registered or not.
///
/// Some of the properties and methods on [testTextInput] are only valid if
/// [registerTestTextInput] returns true when a test starts. If those
/// members are accessed when using a binding that sets this flag to false,
/// they will throw.
///
/// If this property returns true when a test ends, the [testTextInput] is
/// unregistered.
///
/// This property should not change the value it returns during the lifetime
/// of the binding. Changing the value of this property risks very confusing
/// behavior as the [TestTextInput] may be inconsistently registered or
/// unregistered.À~,À~-À{ëÀzÀ~B*/// Determines whether the binding automatically registers [windowingOwner] to
/// the fake windowing owner implementation.
///
/// Unit tests make use of this to mock out windowing system communication for
/// widgets. An integration test would set this to false, to test real windowing
/// system input.
///
/// This property should not change the value it returns during the lifetime
/// of the binding. Changing the value of this property risks very confusing
/// behavior as the [WindowingOwner] may be inconsistently registered or
/// unregistered.À€8À€8<E282AC>À<00><EFBFBD>*/// The current [TestWidgetsFlutterBinding], if one has been created.
///
/// Provides access to the features exposed by this binding. The binding must
/// be initialized before using this getter; this is typically done by calling
/// [testWidgets] or [TestWidgetsFlutterBinding.ensureInitialized].À<00><>À<00><>CÀ<00>Ì0/// Whether there is currently a test executing.À<00>×À<00>×PÀŽ6/// The number of outstanding microtasks in the queue.ÀŽ+ÀŽ+<2B>À<00>®<EFBFBD>]/// The default test timeout for tests when using this binding.
///
/// This controls the default for the `timeout` argument on [testWidgets]. It
/// is 10 minutes for [AutomatedTestWidgetsFlutterBinding] (tests running
/// using `flutter test`), and unlimited for tests using
/// [LiveTestWidgetsFlutterBinding] (tests running using `flutter run`).À<00>ÅÀ<00>Å<EFBFBD>yÀ8<E28098>X/// The current time.
///
/// In the automated test environment (`flutter test`), this is a fake clock
/// that begins in January 2015 at the start of the test and advances each
/// time [pump] is called with a non-zero duration.
///
/// In the live testing environment (`flutter run`), this object shows the
/// actual current wall-clock time.ÀBOÀaÀ­­uäÀ°//// The source of the current pointer event.
///
/// The [pointerEventSource] is set as the `source` parameter of
/// [handlePointerEventForSource] and can be used in the immediate enclosing
/// [dispatchEvent].
///
/// When [handlePointerEvent] is called directly, [pointerEventSource]
/// is [TestBindingEventSource.device].
///
/// This means that pointer events triggered by the [WidgetController] (e.g.
/// via [WidgetController.tap]) will result in actual interactions with the
/// UI, but other pointer events such as those from physical taps will be
/// dropped. See also [shouldPropagateDevicePointerEvents] if this is
/// undesired.À¹ZÀ¹Z€©À¹ãr/// A stub for the system's onscreen keyboard. Callers must set the
/// [focusedEditable] before using this value.Àº,Àº,‚œÀ¼¤<C2BC>½/// The [State] of the current [EditableText] client of the onscreen keyboard.
///
/// Setting this property to a new value causes the given [EditableTextState]
/// to focus itself and request the keyboard to establish a
/// [TextInputConnection].
///
/// Callers must pump an additional frame after setting this property to
/// complete the focus change.
///
/// Instead of setting this directly, consider using
/// [WidgetTester.showKeyboard].À½À½À½À¼òÀ¼ò€žÀ¼ö&ÀmÀm«Àn§€ü/// Called by the test framework at the beginning of a widget test to
/// prepare the binding for the next test.
///
/// If [registerTestTextInput] returns true when this method is called,
/// the [testTextInput] is configured to simulate the keyboard.ÀpJÀpJ€üÀpOÀqJÀqKÀqJÀqJhÀqmÀ€!À€!À€*À~iÀ~i<>ËÀ<19><>/// Delay for `duration` of time.
///
/// In the automated test environment ([AutomatedTestWidgetsFlutterBinding],
/// typically used in `flutter test`), this advances the fake [clock] for the
/// period.
///
/// In the live test environment ([LiveTestWidgetsFlutterBinding], typically
/// used for `flutter run` and for [e2e](https://pub.dev/packages/e2e)), it is
/// equivalent to [Future.delayed].À‡êÀ‡ê3ÀˆÀ‡êÀ‡ëÀ<00>öÀ<00>ö†sÀ‡Ò…‚/// Creates and initializes the binding. This function is
/// idempotent; calling it a second time will just return the
/// previously-created instance.
///
/// This function will use [AutomatedTestWidgetsFlutterBinding] if
/// the test was run using `flutter test`, and
/// [LiveTestWidgetsFlutterBinding] otherwise (e.g. if it was run
/// using `flutter run`). This is determined by looking at the
/// environment variables for a variable called `FLUTTER_TEST`.
///
/// If `FLUTTER_TEST` is set with a value of 'true', then this test was
/// invoked by `flutter test`. If `FLUTTER_TEST` is not set, or if it is set
/// to 'false', then this test was invoked by `flutter run`.
///
/// Browser environments do not currently support the
/// [LiveTestWidgetsFlutterBinding], so this function will always set up an
/// [AutomatedTestWidgetsFlutterBinding] when run in a web browser.
///
/// The parameter `environment` is used to test the test framework
/// itself by checking how it reacts to different environment
/// variable values, and should not be used outside of this context.
///
/// If a [TestWidgetsFlutterBinding] subclass was explicitly initialized
/// before calling [ensureInitialized], then that version of the binding is
/// returned regardless of the logic described above. This allows tests to
/// force a specific test binding to be used.
///
/// This is called automatically by [testWidgets].ÀˆˆˆˆmƒlÀˆ~À‹ÝÀ‹ÞÀ‹ÝÀ‹Ý€¹ÀŒ ÀŒºÀŒºÀŒÁÀŒšÀŒ›ÀŒšÀŒš€òÀŒ«À<>À<>À“™À“£À“£6À“¯À“ºÀ“ÅÀ“ÆÀ‘•ÀGÀ“‰<E2809C>Ð/// Triggers a frame sequence (build/layout/paint/etc),
/// then flushes microtasks.
///
/// If duration is set, then advances the clock by that much first.
/// Doing this flushes microtasks.
///
/// The supplied EnginePhase is the final phase reached during the pump pass;
/// if not supplied, the whole pass is executed.
///
/// See also [LiveTestWidgetsFlutterBindingFramePolicy], which affects how
/// this method works when the test is run with `flutter run`.À—«À—«À—«À—®À—®À—ÃÀ“àÀ“àƒíÀ—¢ƒŽ/// Runs a `callback` that performs real asynchronous work.
///
/// This is intended for callers who need to call asynchronous methods where
/// the methods spawn isolates or OS threads and thus cannot be executed
/// synchronously by calling [pump].
///
/// The `callback` must return a [Future] that completes to a value of type
/// `T`.
///
/// If `callback` completes successfully, this will return the future
/// returned by `callback`.
///
/// If `callback` completes with an error, the error will be caught by the
/// Flutter framework and made available via [takeException], and this method
/// will return a future that completes with `null`.
///
/// Re-entrant calls to this method are not allowed; callers of this method
/// are required to wait for the returned future to complete before calling
/// this method again. Attempts to do otherwise will result in a
/// [TestFailure] error being thrown.À˜·À˜·À˜¾À˜ÌÀ˜ÌÀ˜ÓÀ—ÑÀ—Ñ<E28094>æÀ˜­€Ä/// Artificially calls dispatchLocalesChanged on the Widget binding,
/// then flushes microtasks.
///
/// Passes only one single Locale. Use [setLocales] to pass a full preferred
/// locales list.Àš9Àš9ÀšFÀ™»À™»<E284A2>Àš.a/// Artificially calls dispatchLocalesChanged on the Widget binding,
/// then flushes microtasks.ÀÀÀÀÀÀ#ÀšÎÀšÏÀšÎÀšÎ<C5A1><C38E>ÀšõÀœoÀœo<C593>À<00>€•/// Re-attempts the initialization of the lifecycle state after providing
/// test values in [TestPlatformDispatcher.initialLifecycleStateTestValue].À¡À¡
À¡ À<00><>À<00><>„IÀ ö‚Û/// Artificially changes the logical size of [WidgetTester.view] to the
/// specified size, then flushes microtasks.
///
/// Set to null to use the default surface size.
///
/// To avoid affecting other tests by leaking state, a test that
/// uses this method should always reset the surface size to the default.
/// For example, using `addTearDown`:
/// ```dart
/// await binding.setSurfaceSize(someSize);
/// addTearDown(() => binding.setSurfaceSize(null));
/// ```
///
/// This method only affects the size of the [WidgetTester.view]. It does not
/// affect the size of any other views. Instead of this method, consider
/// setting [TestFlutterView.physicalSize], which works for any view,
/// including [WidgetTester.view].À¡ûÀ¡ûÀ¢À¡ÜÀ¡ÝÀ¡ÜÀ¡Ü€»À¡íÀ¢úÀ¢úÀ£À¢ÁÀ¢ÂÀ¢ÁÀ¢Á„^À¢ßÀ§#À§#‚èÀ©E/// Acts as if the application went idle.
///
/// Runs all remaining microtasks, including those scheduled as a result of
/// running them, until there are no more microtasks scheduled. Then, runs any
/// previously scheduled timers with zero time, and completes the returned future.
///
/// May result in an infinite loop or run out of memory if microtasks continue
/// to recursively schedule new microtasks. Will not run any timers scheduled
/// after this method was invoked, even if they are zero-time timers.À«<>À«<> À«¤À««À««À«¶ÀªÀª<0F>À«<><C2AB>h/// Convert the given point from the global coordinate space of the provided
/// [RenderView] to its local one.
///
/// This method operates in logical pixels for both coordinate spaces. It does
/// not apply the device pixel ratio (used to translate to/from physical
/// pixels).
///
/// For definitions for coordinate spaces, see [TestWidgetsFlutterBinding].À­­I À­PÀ­­WÀ­bÀ«ÉÀ«É<C2AB>¨À­;<3B>\/// Convert the given point from the local coordinate space to the global
/// coordinate space of the [RenderView].
///
/// This method operates in logical pixels for both coordinate spaces. It does
/// not apply the device pixel ratio to translate to physical pixels.
///
/// For definitions for coordinate spaces, see [TestWidgetsFlutterBinding].À·À·À·(À·5À·5=À·LÀ·UÀ·kÀ·lÀ²8À²8…À¶ú„<C3BA>/// Dispatch an event to the targets found by a hit test on its position,
/// and remember its source as [pointerEventSource].
///
/// This method sets [pointerEventSource] to `source`, forwards the call to
/// [handlePointerEvent], then resets [pointerEventSource] to the previous
/// value.
///
/// If `source` is [TestBindingEventSource.device], then the `event` is based
/// in the global coordinate space (for definitions for coordinate spaces,
/// see [TestWidgetsFlutterBinding]) and the event is likely triggered by the
/// user physically interacting with the screen during a live test on a real
/// device (see [LiveTestWidgetsFlutterBinding]).
///
/// If `source` is [TestBindingEventSource.test], then the `event` is based
/// in the local coordinate space and the event is likely triggered by
/// programmatically simulated pointer events, such as:
///
/// * [WidgetController.tap] and alike methods, as well as directly using
/// [TestGesture]. They are usually used in
/// [AutomatedTestWidgetsFlutterBinding] but sometimes in live tests too.
/// * [WidgetController.timedDrag] and alike methods. They are usually used
/// in macrobenchmarks.À¸¸\À¸sÀ¸¸{À¸ˆÀ¸¸·ÇÀ·Ç<C2B7><C387>À¸Eg/// Sets [pointerEventSource] to `source`, runs `task`, then resets `source`
/// to the previous value.À½”À½”?À½™À½×À½×ƒ¤ÀÀÚ‚Þ/// Returns the exception most recently caught by the Flutter framework.
///
/// Call this if you expect an exception during a test. If an exception is
/// thrown and this is not called, then the exception is rethrown when
/// the [testWidgets] call completes.
///
/// If two exceptions are thrown in a row without the first one being
/// acknowledged with a call to this method, then when the second exception is
/// thrown, they are both dumped to the console and then the second is
/// rethrown from the exception handler. This will likely result in the
/// framework entering a highly unstable state and everything collapsing.
///
/// It's safe to call this when there's no pending exception; it will return
/// null in that case.À¦À¦dÀÄ5<C384>X/// {@template flutter.flutter_test.TakeAccessibilityAnnouncements}
/// Returns a list of all the accessibility announcements made by the Flutter
/// framework since the last time this function was called.
///
/// It's safe to call this when there hasn't been any announcements; it will return
/// an empty list in that case.
/// {@endtemplate}ÀÉ…ÀÉ… ÀÉ<>ÀÉ«ÀÉ«ÀɸÀÉÏÀÉÏÀÉÖÀÉäÀÇÀÇ‚ÜÀÉx=/// Call the testBody inside a [FakeAsync] scope on which [pump] can
/// advance time.
///
/// Returns a future which completes when the test has run.
///
/// Called by the [testWidgets] and [benchmarkWidgets] functions to
/// run a test.
///
/// The `invariantTester` argument is called after the `testBody`'s [Future]
/// completes. If it throws, then the test is marked as failed.
///
/// The `description` is used by the [LiveTestWidgetsFlutterBinding] to
/// show a label on the screen during the test. The description comes from
/// the value passed to [testWidgets].ÀÉñÀÉñ<C389>9ÀÊê€é/// This is called during test execution before and after the body has been
/// executed.
///
/// It's used by [AutomatedTestWidgetsFlutterBinding] to drain the microtasks
/// before the final [pump] that happens during test cleanup.ÀËnÀËnÀËuÀˆÀˆÀË–ÀËDÀËDÀËQÀÏkÀÏkÀÏÀÏBÀÏCÀÍãÀÍã‚-ÀÏT<C38F>R/// Called when the framework catches an exception, even if that exception is
/// being handled by [takeException].
///
/// This is called when there is no pending exception; if multiple exceptions
/// are thrown and [takeException] isn't used, then subsequent exceptions are
/// logged to the console regardless (and the test will fail).ÀÐ<ÀÐ<ÀÐDÀÐÀÐ<14>ÛÀÐ!ÀÒÀÒ ÀÒ&ÀÒ4ÀÒ4ÀÒAÀÒVÀÒVÀÒ]ÀÑóÀÑó “ÀÒÀò¤Àò¤ Àò¼ÀòÆÀòÆÀòÓÀòŠÀòŠˆÀò—ÀúÓÀúÓ†>ÀúØÀ8À=ÀÀ<15>¼ÀÀúÀú%ÀÀÕÀÕ‚üÀÚÀùÀù"À ÀÕÀÕ<>ÇÀÚÀÔÀÔÀÙÀ À À¥À ¨À ¨†lÀ òB/// Called by the [testWidgets] function after a test is executed.À^À^À²Àd†s/// Base class for bindings used by widgets library tests.
///
/// The [ensureInitialized] method creates (if necessary) and returns an
/// instance of the appropriate subclass. (If one is already created, it returns
/// that one, even if it's not the one that it would normally create. This
/// allows tests to force the use of [LiveTestWidgetsFlutterBinding] even in a
/// normal unit test environment, e.g. to test that binding.)
///
/// When using these bindings, certain features are disabled. For
/// example, [timeDilation] is reset to 1.0 on initialization.
///
/// In non-browser tests, the binding overrides `HttpClient` creation with a
/// fake client that always returns a status code of 400. This is to prevent
/// tests from making network calls, which could introduce flakiness. A test
/// that actually needs to make a network call should provide its own
/// `HttpClient` to the code making the call, so that it can appropriately mock
/// or fake responses.
///
/// ### Coordinate spaces
///
/// [TestWidgetsFlutterBinding] might be run on devices of different screen
/// sizes, while the testing widget is still told the same size to ensure
/// consistent results. Consequently, code that deals with positions (such as
/// pointer events or painting) must distinguish between two coordinate spaces:
///
/// * The _local coordinate space_ is the one used by the testing widget
/// (typically an 800 by 600 window, but can be altered by [setSurfaceSize]).
/// * The _global coordinate space_ is the one used by the device.
///
/// Positions can be transformed between coordinate spaces with [localToGlobal]
/// and [globalToLocal]. À!4ÀLÀÛÀÐÀÛÀ#À(À“ÀŒ
ÀÀÀÀ#<23>HÀ%€Ú/// The value of [defaultTestTimeout] can be set to `None` to enable debugging
/// flutter tests where we would not want to timeout the test. This is
/// expected to be used by test tooling which can detect debug mode.À*¥À*½À*¾À*•À)à€ßÀ*•€’/// The [ZoneDelegate] for [Zone.root].
///
/// Used to schedule (real) microtasks and timers in the root zone,
/// to be run in the correct zone.À/À.ìÀÀÀ/#À/À/ À/À1lÀ1wÀ1xÀ1cÀ1W4À1cÀY<>ÅÀí<>Y/// The current [AutomatedTestWidgetsFlutterBinding], if one has been created.
///
/// The binding must be initialized before using this getter. If you
/// need the binding to be constructed before calling [testWidgets],
/// you can ensure a binding has been constructed by calling the
/// [TestWidgetsFlutterBinding.ensureInitialized] function.À?IÀUÀžÀŸÀžÀžQÀÁÀóÀôÀóÀó,ÀÀp9ÀÀ­À®À­À­HÀÁÀ/-À/.À/-À/-\À/BÀÝÀÞÀÝÀÝxÀîÀZrÀ <09>t/// Returns an instance of the binding that implements
/// [AutomatedTestWidgetsFlutterBinding]. If no binding has yet been
/// initialized, the a new instance is created.
///
/// Generally, there is no need to call this method. Use
/// [TestWidgetsFlutterBinding.ensureInitialized] instead, as it
/// will select the correct test binding implementation
/// automatically.ÀÀÀ"À,6À8ÀùÀúÀùÀù‚‰ÀÀ¦À¦À¦À©À©À¾À†À‡À†À†Š À<1D>À'•À'–À'•À'•€ÓÀÀ(lÀ(mÀ(lÀ(l<>pÀ(}À*ÄÀ*Ä‚!À+7/// Hack to extract the [ZoneDelegate] for [Zone.root].À-À-À-À,éÀ,êÀ,éÀ<>OÀÀ.<À.=À.<À.<€¨À.UÀ/<2F>À/ŽÀ/<2F>À/<2F>vÀÀ0À0À0À0€ÿÀ0À1
À1 À1
À1
IÀ1À1ÜÀ1ÝÀ1ÜÀ1Ü„sÀÀ6tÀ6tÀ6}À6SÀ6TÀ6SÀ6S€ªÀ6lÀ7xÀ7xÀ7<>À7À7€ÀÀ7i^/// Simulates the synchronous passage of time, resulting from blocking or
/// expensive calls.À7ëÀÀ8À8À8À8À85À85À8<À7ÅÀ7ÆÀ8JÀ7ÅÀ7Å…ÜÀÀ=¥À=¦À=¥À=¥€<C2A5>ÀÀ>9À>:À>9À>9ƒÀ>JÀAMÀANÀAMÀAM€«ÀA^ÀÀ±âÀu/// A variant of [TestWidgetsFlutterBinding] for executing tests typically
/// the `flutter test` environment, unless it is an integration test.
///
/// When doing integration test, [LiveTestWidgetsFlutterBinding] is utilized
/// instead.
///
/// This binding controls time, allowing tests to verify long
/// animation sequences without having to execute them in real time.
///
/// This class assumes it is always run in debug mode (since tests are always
/// run in debug mode).
///
/// See [TestWidgetsFlutterBinding] for a list of mixins that must be
/// provided by the binding active while the test framework is
/// running.
À]AÀ]/À]AÀ_åÀ_ÛÀÀÀaGÀa6ÀaGÀaoÀa]ÀaXÀa]ÀaÀa}Àax(Àa}Àa»Àa©ÀÀÀaÞÀaÉÀÀÀdXÀd€Àd<>ÀdDÀ¥ÀdD/// The strategy for [pump]ing and requesting new frames.
///
/// The policy decides whether [pump] (with a duration) pumps a single frame
/// (as would happen in a normal test environment using
/// [AutomatedTestWidgetsFlutterBinding]), or pumps every frame that the
/// system requests during an asynchronous pause (as would normally happen
/// when running an application with [WidgetsFlutterBinding]).
///
/// {@macro flutter.flutter_test.LiveTestWidgetsFlutterBindingFramePolicy}
///
/// See [LiveTestWidgetsFlutterBindingFramePolicy].ÀgŠÀgšÀgÀg}Àgl4Àg}ÀnÓÀÀ ÀoÀo Ào4ÀoÀo ÀoÀo.Ào&Ào0ÀnôÀnÝXÀ
Àq±Àq¸ÀqÙÀq¹Àq¼ÀqØÀq½ÀqÂÀqÚÀqÛÀqƒÀqS€‰ÀÀy¥À<77>¾À<79>…/// An object to which real device events should be routed.
///
/// Normally, device events are silently dropped. However, if this property is
/// set to a non-null value, then the events will be routed to its
/// [HitTestDispatcher.dispatchEvent] method instead, unless
/// [shouldPropagateDevicePointerEvents] is true.
///
/// Events dispatched by [TestGesture] are not affected by this.À[]À[]<5D>»À<>T/// The current [LiveTestWidgetsFlutterBinding], if one has been created.
///
/// The binding must be initialized before using this getter. If you
/// need the binding to be constructed before calling [testWidgets],
/// you can ensure a binding has been constructed by calling the
/// [TestWidgetsFlutterBinding.ensureInitialized] function.À_¬À_­À_¬À_¬'ÀÀ_ïÀ_ðÀ_ïÀ_ï-À`À` À`!À` À` €¹À`4À`ÝÀ`ÞÀ`ÝÀ`ÝUÀaÀo[Ào\Ào:Ào:WÀo<>/// Label describing the test.ÀZÃÀZÄÀZÃÀZÀÀÀ]OÀ]OYÀ<>o/// Returns an instance of the binding that implements
/// [LiveTestWidgetsFlutterBinding]. If no binding has yet been
/// initialized, the a new instance is created.
///
/// Generally, there is no need to call this method. Use
/// [TestWidgetsFlutterBinding.ensureInitialized] instead, as it
/// will select the correct test binding implementation
/// automatically.Àd³ÀÀÀdÀd“ÀdÀddÀÀdúÀdûÀdúÀdú€éÀe ÀeçÀeèÀeçÀeç€õÀÀfàÀfáÀfàÀfà€ˆÀÀgÇÀÀÀg¥Àg¦Àg¥Àg¥ƒÀÀjªÀj«ÀjªÀÍÀÀm•Àm• ÀÀm{Àm{<7B>GÀm€ÀoòÀ ÀÀo×ÀoØÀo•Ào•<6F>ºÀoé?/// Set a description label that is drawn into the test output.ÀqýÀÀr
ÀrÀr
ÀrÀr%Àr%Àr0ÀqáÀqá†ÀÀ{ÍÀÀÀ{©À{ªÀy¿Ày¿‰ÃÀ<>×/// Dispatch an event to the targets found by a hit test on its position.
///
/// If the [pointerEventSource] is [TestBindingEventSource.test], then
/// the event is forwarded to [GestureBinding.dispatchEvent] as usual;
/// additionally, down pointers are painted on the screen.
///
/// If the [pointerEventSource] is [TestBindingEventSource.device], then
/// the event, after being transformed to the local coordinate system, is
/// forwarded to [deviceEventDispatcher].Àƒ¥Àƒ¥Àƒ²Àƒ¹Àƒ¹ÀƒÈÀƒ†Àƒ‡Àƒ†Àƒ†‚ŽÀƒ—À†7À†7À†AÀ†KÀ†K6À†WÀÀÀ†bÀ†mÀ†nÀÀƒÀ†1À‰@À‰@À‰@À‰CÀ‰CÀ‰XÀ‰ À‰!À‰ À‰ ƒXÀ‰7ÀŒ¢ÀŒ¢ ÀŒºÀŒÈÀŒÈÀŒÕÀŒìÀŒìÀŒóÀŒ|ÀŒ}À<01>ÀŒ|ÀŒ|<7C>ÀŒ•À<01>¼À<01>¼À<01>ÐÀ<01>”À<01>•À<01>”À<01>ÖÀ<01>¥À<01><01><01><01>n€<6E>À<01>À8ÀCÀ<01>ÿÀÀ<01>ÿÀ<01>ÿ<EFBFBD>äÀÀÀ ÀÀÀÀ“!À’çÀ’èÀ’çÀ’çƒÀ’úÀ$ À+À2À=ÀÀÀÀ‚ÁÀÀS«ÀS«ÀEÀZ†Í/// A variant of [TestWidgetsFlutterBinding] for executing tests
/// on a device, typically via `flutter run`, or via integration tests.
/// This is intended to allow interactive test development.
///
/// This is not the way to run a remote-control test. To run a test on
/// a device from a development computer, see the [flutter_driver]
/// package and the `flutter drive` command.
///
/// When running tests using `flutter run`, consider adding the
/// `--use-test-fonts` argument so that the fonts used match those used under
/// `flutter test`. (This forces all text to use the "Ahem" font, which is a
/// font that covers ASCII characters and gives them all the appearance of a
/// square whose size equals the font size.)
///
/// This binding overrides the default [SchedulerBinding] behavior to ensure
/// that tests work in the same way in this environment as they would under the
/// [AutomatedTestWidgetsFlutterBinding]. To override this (and see intermediate
/// frames that the test does not explicitly trigger), set [framePolicy] to
/// [LiveTestWidgetsFlutterBindingFramePolicy.fullyLive]. (This is likely to
/// make tests fail, though, especially if e.g. they test how many times a
/// particular widget was built.) The default behavior is to show pumped frames
/// and a few additional frames when pointers are triggered (to animate the
/// pointer crosshairs).
///
/// This binding does not support the [EnginePhase] argument to
/// [pump]. (There would be no point setting it to a value that
/// doesn't trigger a paint, since then you could not see anything
/// anyway.)
///
/// See [TestWidgetsFlutterBinding] for a list of mixins that must be
/// provided by the binding active while the test framework is
/// running.ÀœvÀœ~Àœ“Àœ•Àœ•%ÀœšÀœ¼Àœ¼ÀœÌÀ›²À›³À›½ÀœrÀ›ÃÀ›öÀœ:Àœ¡Àš¯Àš¯‚}€ö/// Deprecated. Will be removed in a future version of Flutter.
///
/// This property has been deprecated to prepare for Flutter's upcoming
/// support for multiple views and multiple windows.
///
/// Use [TestViewConfiguration.fromView] instead.ÀžõÀŸ
ÀŸÀŸÀŸÀŸ2ÀŸ<ÀŸ<%ÀŸAŸHÀŸ{ÀŸjÀŸ}ÀŸ<>ÀŸ‚ÀŸ®ÀŸ›ÀŸ°ÀŸ¾ÀŸ¿ÀŸÄÀŸÉÀŸÅÀŸçÀŸÓÀ ÀŸéÀŸ÷ÀŸøÀŸýÀ ÀŸþÀ À 
À  À               <01><01>0ƒ[ÀŸ <0B>²/// Creates a [TestViewConfiguration] with the given size and view.
///
/// The [size] defaults to 800x600.
///
/// The settings of the given [FlutterView] are captured when the constructor
/// is called, and subsequent changes are ignored. A new
/// [TestViewConfiguration] should be created if the underlying [FlutterView]
/// changes. See [RendererBinding.handleMetricsChanged] and
/// [RendererBinding.createViewConfigurationFor].À <>À <>À ¨À <>)À ¨À ½À ¾À ÞÀ ½3À ÞÀ õÀ öÀ¡À õ4À¡À¥†À¥xÀ¥†À§¸À§­À§¸À¡HÀ¡H À¡MÀ¡SÀ¡SÀ¡ZÀ¡lÀ¡lÀ¡{À¡.À¡.„FÀ¡=À¥—À¥˜À¥—À¥—7À¥«À¥öÀ¥ö"À¦À¥ÒÀ¥ÓÀ¥ÒÀ¥Ò<C2A5>×À¥ãÀ§êÀ§êÀ§ïÀ§ÊÀ§ËÀ§ÊÀ§ÊCÀ§ÛÀ¨À¨À¨À¨9À¨$À˜ÈÀ˜È<CB9C>Àšx<C5A1>©/// A [ViewConfiguration] that pretends the display is of a particular size (in
/// logical pixels).
///
/// The resulting ViewConfiguration maps the given size onto the actual display
/// using the [BoxFit.contain] algorithm.
///
/// If the underlying [FlutterView] changes, a new [TestViewConfiguration] should
/// be created. See [RendererBinding.handleMetricsChanged] and
/// [RendererBinding.createViewConfigurationFor].À¨„À¨–À¨—À¨— À¨œÀ¨„À¨„ À©À©À©À¨¨À¨©À¨¨À¨¨+À¨½À¨×À¨ØÀ¨×À¨×8À¨íÀ¨NÀ¨N€ÚÀ¨TÀ©kÀ©<>À©‚À©‚ À©‡À©<>À©<>
À©•À©«À©¥À©­À©µÀ©¶À©¾À©æÀ©¿À©ÕÀ©ÄÀ©ÓÀ©ÊÀ©ÅÀ©ÌÀ©×À©ÞÀ©ãÀ©çÀ©èÀ©ïÀ©ðÀ©ÿÀ©ùÀªÀ©kÀ©k€˜ÀªÀªÀªÀª'ÀªÀª'Àª7Àª0Àª7ÀªGÀªC ÀªGÀ©JÀ©J<C2A9>MÀ©P†ÿ†ÿP‡JH/// The build phase in the widgets library. See [BuildOwner.buildScope].‡T‡TX‡¦O/// The layout phase in the rendering library. See [PipelineOwner.flushLayout].‡±‡±€<C2B1>ˆ#m/// The compositing bits update phase in the rendering library. See
/// [PipelineOwner.flushCompositingBits].ˆ7ˆ7Uˆ‡M/// The paint phase in the rendering library. See [PipelineOwner.flushPaint].ˆ‘ˆ‘€Û‰c€Ë/// The compositing phase in the rendering library. See
/// [RenderView.compositeFrame]. This is the phase in which data is sent to
/// the GPU. If semantics are not enabled, then this is the last phase.‰q‰qu‰Øb/// The semantics building phase in the rendering library. See
/// [PipelineOwner.flushSemantics].‰ë‰ë€ªŠ‚€’/// The final phase in the rendering library, wherein semantics information is
/// sent to the embedder. See [SemanticsOwner.sendSemanticsUpdate].† † „x†ï€É/// Phases that can be reached by [WidgetTester.pumpWidget] and
/// [TestWidgetsFlutterBinding.pump].
///
/// See [WidgetsBinding.drawFrame] for a more detailed description of some of
/// these phases.ŒŠŒŠ€‰<01>€€/// The pointer event came from the test framework itself, e.g. from a
/// [TestGesture] created by [WidgetTester.startGesture].<00><18>€ž<01>°€“/// The pointer event came from the system, presumably as a result of the user
/// interactive directly with the device while the test was running.{{>Œo€î/// Parts of the system that can generate pointer events that reach the test
/// binding.
///
/// This is used to identify how to handle events in the
/// [LiveTestWidgetsFlutterBinding]. See
/// [TestWidgetsFlutterBinding.dispatchEvent].ÀGUÀGU€ÍÀH€»/// Strictly show only frames that are explicitly pumped.
///
/// This most closely matches the [AutomatedTestWidgetsFlutterBinding]
/// (the default binding for `flutter test`) behavior.ÀH'ÀH'<27>¿À<49> /// Show pumped frames, and additionally schedule and run frames to fade
/// out the pointer crosshairs and other debugging information shown by
/// the binding.
///
/// This will schedule frames when pumped or when there has been some
/// activity with [TestPointer]s.
///
/// This can result in additional frames being pumped beyond those that
/// the test itself requests, which can cause differences in behavior.ÀIëÀ À<4B>í/// Show every frame that the framework requests, even if the frames are not
/// explicitly pumped.
///
/// The major difference between [fullyLive] and [benchmarkLive] is the latter
/// ignores frame requests by [WidgetTester.pump].
///
/// This can help with orienting the developer when looking at
/// heavily-animated situations, and will almost certainly result in
/// additional frames being pumped beyond those that the test itself requests,
/// which can cause differences in behavior.ÀKûÀKû„ÀP}„[/// Ignore any request to schedule a frame.
///
/// This is intended to be used by benchmarks (hence the name) that drive the
/// pipeline directly. It tells the binding to entirely ignore requests for a
/// frame to be scheduled, while still allowing frames that are pumped
/// directly to run (either by using [WidgetTester.pumpBenchmark] or invoking
/// [PlatformDispatcher.onBeginFrame] and [PlatformDispatcher.onDrawFrame]).
///
/// This allows all frame requests from the engine to be serviced, and allows
/// all frame requests that are artificially triggered to be serviced, but
/// ignores [SchedulerBinding.scheduleFrame] requests from the framework.
/// Therefore animation won't run for this mode because the framework
/// generates an animation by requesting new frames.
///
/// The [SchedulerBinding.hasScheduledFrame] property will never be true in
/// this mode. This can cause unexpected effects. For instance,
/// [WidgetTester.pumpAndSettle] does not function in this mode, as it relies
/// on the [SchedulerBinding.hasScheduledFrame] property to determine when the
/// application has "settled".ÀPÀPäÀSbº/// Ignore any request from pump but respect other requests to schedule a
/// frame.
///
/// This is used for running the test on a device, where scheduling of new
/// frames respects what the engine and the device needed.
///
/// Compared to [fullyLive] this policy ignores the frame requests from
/// [WidgetTester.pump] so that frame scheduling mimics that of the real
/// environment, and avoids waiting for an artificially pumped frame. (For
/// example, when driving the test in methods like
/// [WidgetTester.handlePointerEventRecord] or [WidgetTester.fling].)
///
/// This policy differs from [benchmark] in that it can be used for capturing
/// animation frames requested by the framework.ÀAüÀvÀG(…&/// Available policies for how a [LiveTestWidgetsFlutterBinding] should paint
/// frames.
///
/// These values are set on the binding's
/// [LiveTestWidgetsFlutterBinding.framePolicy] property.
///
/// {@template flutter.flutter_test.LiveTestWidgetsFlutterBindingFramePolicy}