direction controllerphysicsdecorationClipBehavior clipBehaviorcopyWithtoStringhashCode== scrollableonScrollViewScrolledvelocityScalar _dragTargetRelatedToScrollOrigin scrolling _scrolling _offsetExtent _sizeExtent_axisDirection_scrollDirectionstartAutoScrollIfNecessarystopAutoScroll_scrolllinepagetypemetrics isEnabled_calculateScrollIncrementgetDirectionalIncrementinvokeScrollableDetailsEdgeDraggingAutoScrollerScrollIncrementCalculatorScrollIncrementTypeScrollIncrementDetails ScrollIntent ScrollActionp ToleranceScrollBehaviorTwoDimensionalScrollableGlowingOverscrollIndicator Scrollbar immutable Scrollable DeprecatedClipAxisverticalboolreverse AxisDirectionupdown horizontalleftrightScrollController ScrollPhysicsMaterialScrollBehaviorStretchingOverscrollIndicatorViewport clipBehavior direction controllerphysicsdecorationClipBehavioroverrideStringListaddvoidObjecttoStringdescribeIdentityjoininthash identical runtimeTypeScrollableState VoidCallbackdoubleRectOffsetdxdySizewidthheight axisDirectionaxisDirectionToAxisdeltaToScrollOrigin translateFuture RenderBoxcontextfindRenderObject MatrixUtils transformRectgetTransformTofromLTWHsizetopLeft bottomRightpositionpixelsminScrollExtentminmaxmaxScrollExtentabsDuration millisecondsround animateTodurationcurveCurveslinearincrementCalculator ScrollMetricsIntentlineAction BuildContextPrimaryScrollControllertypepage ContextActionmaybeOf hasClients hasPixelsresolvedPhysicsshouldAcceptUserOffsetwidgetmetricsviewportDimensionof positionslength FlutterError fromPartsDiagnosticsNode ErrorSummaryErrorDescription ErrorHintnotificationContextmoveTo easeInOutIntent ContextActionf)´8™ï)ꊪôÈ’‚o‚} Tolerance‚Ipackage:flutter/physics.dart €ª dart:async€À€Ò€Õmath€Õ dart:math€ßpackage:flutter/foundation.dart� package:flutter/rendering.dart�6 actions.dart�N basic.dart�dframework.dart�~primary_scroll_controller.dart�¨scroll_configuration.dart�Íscroll_controller.dart�ïscroll_metrics.dart‚scroll_physics.dart‚-scrollable.dart¡óÀJí�ã=€ˆ€§€©€¿€Ü€Þ� �3�5�M�c�}�§�Ì�î‚ ‚,‚G‚I‚€‚‚‚Ѓ"ƒXƒ]ƒªƒìƒø„„P„m„‹„¡„´„Æ„ó…H…“…΅ՅZ†\†¥†Ë†æ†ü‡‡1‡v‡x‡Ã‡ëˆˆˆ/ˆQˆ™ˆ›ˆÔˆöˆø‰.‰U‰W‰Š‰«‰­‰ä‰ëŠ)ŠQŠXЦŠð‹,‹3‹L‹s‹u‹¬‹¼‹çŒ:ŒƒŒ¼ŒÁŒöŒø�H�_��ž�Á�ÞŽŽ Ž(ŽWމ޲�����$�;�m� �¢�Ù�õ�*�3�:�p� �ç‘+‘0‘2‘?‘c‘s‘„‘’‘¯‘µ‘·‘Ä‘è’ ’’&’S’h’o’–’½’æ“ “K“P“S“U“§“¹“¾“þ””@”b” ”½”Õ”õ•••!•Z••�•¯•¶––S–r–Ÿ–¡–ì——%—t—½—Ó—ó—õ˜$˜&˜U˜z˜–˜˜˜×˜þ™#™H™P™U™W™�™·™Ýšš šššTš™š›šãšê›:›„›‹›Úœ,œbœ¤���X�g�n�ˆ�˜���Ÿ�Ç�â�ûžžž$ž€ž¸žåŸ:ŸBŸOŸžŸï C K c { ¡ £ å¡J¡�¡ý¡ÿ¢i¢Õ¢ô££2£�£ï¤\¤Ò¥(¥•¥ ¥Á¥á¦P¦¦§§†§Ø¨E¨P¨W¨Y¨¯¨Ù¨ô©© ©b©Œ©ž©¹©Ö©Þªª'ª.ªEª]ªdªiªlªnª¿ªðªõ«B«n«Ä«Æ¬¬5¬:¬ˆ¬Å¬Ê­­X­¨­ø®A®Œ®Ø®ë®ÿ¯¯j¯·¯¾° °X°¤°Â°Ë°Í±±i±p±¿² ²V²t²}²€²‚²Ô³#³<³\³—³¹³Ò³î³õ³÷´2´9´t´—´™´Þ´þµµµRµ}µ‚µ¼¶¶¶:¶…¶°¶È¶æ····h·w·™·›·Ê·í·ð·ò¸C¸k¸p¸¹¹¹¹¹o¹¾º ººTºaº£º¿ºÔºÛ» »»&»‡»Þ»ã»å¼3¼_¼f¼·½½U½n½ë¾¾¾´¾å¿¿¿A¿M¿W¿^¿z¿£¿î¿ö¿û¿ýÀ@GÀ@gÀ@¾ÀAÀAqÀAÁÀAÈÀAÙÀAÞÀAàÀAíÀB,ÀBnÀBªÀBÄÀC!ÀC5ÀCsÀC®ÀCÉÀDÀDXÀDhÀD‡ÀDÙÀDóÀEÀEÀEkÀE»ÀFÀFNÀF¡ÀF±ÀFÀÀFËÀFáÀFîÀFðÀG@ÀG«ÀG¼ÀGÅÀH'ÀH.ÀH’ÀIÀIÀIGÀI´ÀIÃÀIÊÀJÀJ-ÀJ<ÀJCÀJ_ÀJ‰ÀJ½ÀJÝÀJåÀJêÀJí €©€¿€Ö€Õ€Þ� �5�M�c�}�§�Ì�î‚ ‚,‚I‚o‚}‚‚�σþƒþ�c/// Describes the aspects of a Scrollable widget to inform inherited widgets /// like [ScrollBehavior] for decorating or enumerate the properties of combined /// Scrollables, such as [TwoDimensionalScrollable]. /// /// Decorations like [GlowingOverscrollIndicator]s and [Scrollbar]s require /// information about the Scrollable in order to be initialized.„‚C„X„X„i9/// Creates a set of details describing the [Scrollable].„q„€„„�„•„”„¥ „«„ª„¸�3…à…ß…ò…ù…ø „¸„¹„Ã…Ò„Ì„ù…N…™†/††>†1†A†^�†­†¾†¿†Ç†¿E/// A constructor specific to a [Scrollable] with an [Axis.vertical].†Ï†Õ†Ô†ê†ð†ï‡ ‡‡‡‡‡ †Þ‡B‡8‡L‡_‡D‡N‡[‡\‡a‡n‡o‡z�‡Ë‡Ü‡Ý‡ç‡ÝG/// A constructor specific to a [Scrollable] with an [Axis.horizontal].‡ï‡õ‡ôˆ ˆˆˆ ˆ&ˆ%ˆ3ˆ9ˆ8 ‡þˆbˆXˆlˆ�ˆdˆnˆ{ˆ|ˆƒˆ�ˆ‘ˆ�Vˆêˆê5/// {@macro flutter.widgets.Scrollable.axisDirection}ˆúX‰H‰H2/// {@macro flutter.widgets.Scrollable.controller}‰YO‰¡‰¡//// {@macro flutter.widgets.Scrollable.physics}‰¯�Á‹Z‹Z�€/// {@macro flutter.material.Material.clipBehavior} /// /// This can be used by [MaterialScrollBehavior] to clip a /// [StretchingOverscrollIndicator]. /// /// This [Clip] does not affect the [Viewport.clipBehavior], but is rather /// passed from the same value by [Scrollable] so that decorators like /// [StretchingOverscrollIndicator] honor the same clip. /// /// Defaults to null.‹w�}ŒÍŒÍ3/// Deprecated getter for [decorationClipBehavior].‹®‹¯‹¹Œ¾‹À‹ëŒ>Œ‡‘4‘I‘I‘4‘5Œú‚�s�s`/// Copy the current [ScrollableDetails] with the given values replacing the /// current values.�ƒ�“�’�¢�µ�´�Å�Õ�Ô�â�é�è�‚�-�-��‘¹�•‘Ô‘Ô‘× ‘ߑޑ¹‘ºƒìƒí“U—”F”F€ä/// An auto scroller that scrolls the [scrollable] if a drag gesture drags close /// to its edge. /// /// The scroll velocity is controlled by the [velocityScalar]: /// /// velocity = * [velocityScalar].”d€¹”¢”¢”º:/// Creates a auto scroller that scrolls the [scrollable].”Á”ǔƔٔߔޔù•••#Y•r•r5/// The [Scrollable] this auto scroller is scrolling.•ƒ�–ˆ–ˆ€á/// Called when a scroll view is scrolled. /// /// The scroll view may be scrolled multiple times in a row until the drag /// target no longer triggers the auto scroll. This callback will be called /// in between each scroll.–£�M—â—â�/// {@template flutter.widgets.EdgeDraggingAutoScroller.velocityScalar} /// The velocity scalar per pixel over scroll. /// /// It represents how the velocity scale with the over scroll distance. The /// auto-scroll velocity = * velocityScalar. /// {@endtemplate}—÷*˜˜˜|˜�˜�˜Ž˜(P˜`˜`+/// Whether the auto scroll is in progress.š=š'š'šVAš_š_˜š€¹˜¡˜¡˜¯ ˜·˜¶˜¾˜Ä˜Ã™Y€¶™`™`™l ™r™q™w™}™|š�‚þœ3œ3�{/// Starts the auto scroll if the [dragTarget] is close to the edge. /// /// The scroll starts to scroll the [scrollable] if the target rect is close /// to the edge of the [scrollable]; otherwise, it remains stationary. /// /// If the scrollable is already scrolling, calling this method updates the /// previous dragTarget to the new value and continues scrolling if necessary.œNœTœS�¡]�Î�Î$/// Stop any ongoing auto scrolling.žŒcžž²‚‚}³B³B€¶/// A details object that describes the type of scroll increment being requested /// of a [ScrollIncrementCalculator] function, as well as the current metrics /// for the scrollable.³^€•³Ÿ³Ÿ³µ7/// A const constructor for a [ScrollIncrementDetails].³½³Ì³Ë³Ö³å³ä³ù€›´�´�s/// The type of scroll this is (e.g. line, page, etc.). /// /// {@macro flutter.widgets.ScrollIncrementType.intent}´›`´ô´ôA/// The current metrics of the scrollable that is being scrolled.µ‚ë¶¶� /// An [Intent] that represents scrolling the nearest scrollable by an amount /// appropriate for the [type] specified. /// /// The actual amount of the scroll is determined by the /// [Scrollable.incrementCalculator], or by its defaults if that is not /// specified.¶<€Ú¶¸¶¸¶Äo/// Creates a const [ScrollIntent] that requests scrolling in the given /// [direction], with the given [type].¶Ì¶Û¶Ú¶ê$¶ð¶ï¶ö· · ·z·�·�V/// The direction in which to scroll the scrollable containing the focused /// widget.·�M·æ·æ+/// The type of scrolling that is intended.·ò’ùº º ‚/// An [Action] that scrolls the relevant [Scrollable] by the amount configured /// in the [ScrollIntent] given to it. /// /// If a Scrollable cannot be found above the given [BuildContext], the /// [PrimaryScrollController] will be considered for default handling of /// [ScrollAction]s. /// /// If [Scrollable.incrementCalculator] is null for the scrollable, the default /// for a [ScrollIntent.type] set to [ScrollIncrementType.page] is 80% of the /// size of the scroll window, and for [ScrollIncrementType.line], 50 logical /// pixels.ºV�‹ºhºhºrº€ººˆº—º–ºVºW»ç„½~½~�s/// Returns the scroll increment for a single scroll request, for use when /// scrolling using a hardware keyboard. /// /// Must not be called when the position is null, or when any of the position /// metrics (pixels, viewportDimension, maxScrollExtent, minScrollExtent) are /// null. The widget must have already been laid out so that the position /// fields are valid.½˜½©½¨½±3½Æ½Å½Ì½ß½à¿ÿ�ÝÀ@wÀ@wc/// Find out how much of an increment to move by, taking the different /// directions into account.À@�À@ À@ŸÀ@¦À@´À@³ÀAâ‰ÀAôÀAôÀAûÀB ÀBÀBÀB ÀBÀAâÀAã«Æ†¸¯¯ƒ)/// Describes the type of scroll increment that will be performed by a /// [ScrollAction] on a [Scrollable]. /// /// This is used to configure a [ScrollIncrementDetails] object to pass to a /// [ScrollIncrementCalculator] function on a [Scrollable]. /// /// {@template flutter.widgets.ScrollIncrementType.intent} /// This indicates the *intent* of the scroll, not necessarily the size. Not all /// scrollable areas will have the concept of a "line" or "page", but they can /// respond to the different standard key bindings that cause scrolling, which /// are bound to keys that people use to indicate a "line" scroll (e.g. /// control-arrowDown keys) or a "page" scroll (e.g. pageDown key). It is /// recommended that at least the relative magnitudes of the scrolls match /// expectations. /// {@endtemplate}¯�«°Ä°Ä�‘/// Indicates that the [ScrollIncrementCalculator] should return the scroll /// distance it should move when the user requests to scroll by a "line". /// /// The distance a "line" scrolls refers to what should happen when the key /// binding for "scroll down/up by a line" is triggered. It's up to the /// [ScrollIncrementCalculator] function to decide what that means for a /// particular scrollable.°Ï�«²v²v�‘/// Indicates that the [ScrollIncrementCalculator] should return the scroll /// distance it should move when the user requests to scroll by a "page". /// /// The distance a "page" scrolls refers to what should happen when the key /// binding for "scroll down/up by a page" is triggered. It's up to the /// [ScrollIncrementCalculator] function to decide what that means for a /// particular scrollable.ªn�T«v«v€ú/// A typedef for a function that can calculate the offset for a type of scroll /// increment given a [ScrollIncrementDetails]. /// /// This function is used as the type for [Scrollable.incrementCalculator], /// which is called from a [ScrollAction].«¢«º«¹�ã=€ˆ€§€©€¿€Ü€Þ� �3�5�M�c�}�§�Ì�î‚ ‚,‚G‚I‚€‚‚‚Ѓ"ƒXƒ]ƒªƒìƒø„„P„m„‹„¡„´„Æ„ó…H…“…΅ՅZ†\†¥†Ë†æ†ü‡‡1‡v‡x‡Ã‡ëˆˆˆ/ˆQˆ™ˆ›ˆÔˆöˆø‰.‰U‰W‰Š‰«‰­‰ä‰ëŠ)ŠQŠXЦŠð‹,‹3‹L‹s‹u‹¬‹¼‹çŒ:ŒƒŒ¼ŒÁŒöŒø�H�_��ž�Á�ÞŽŽ Ž(ŽWމ޲�����$�;�m� �¢�Ù�õ�*�3�:�p� �ç‘+‘0‘2‘?‘c‘s‘„‘’‘¯‘µ‘·‘Ä‘è’ ’’&’S’h’o’–’½’æ“ “K“P“S“U“§“¹“¾“þ””@”b” ”½”Õ”õ•••!•Z••�•¯•¶––S–r–Ÿ–¡–ì——%—t—½—Ó—ó—õ˜$˜&˜U˜z˜–˜˜˜×˜þ™#™H™P™U™W™�™·™Ýšš šššTš™š›šãšê›:›„›‹›Úœ,œbœ¤���X�g�n�ˆ�˜���Ÿ�Ç�â�ûžžž$ž€ž¸žåŸ:ŸBŸOŸžŸï C K c { ¡ £ å¡J¡�¡ý¡ÿ¢i¢Õ¢ô££2£�£ï¤\¤Ò¥(¥•¥ ¥Á¥á¦P¦¦§§†§Ø¨E¨P¨W¨Y¨¯¨Ù¨ô©© ©b©Œ©ž©¹©Ö©Þªª'ª.ªEª]ªdªiªlªnª¿ªðªõ«B«n«Ä«Æ¬¬5¬:¬ˆ¬Å¬Ê­­X­¨­ø®A®Œ®Ø®ë®ÿ¯¯j¯·¯¾° °X°¤°Â°Ë°Í±±i±p±¿² ²V²t²}²€²‚²Ô³#³<³\³—³¹³Ò³î³õ³÷´2´9´t´—´™´Þ´þµµµRµ}µ‚µ¼¶¶¶:¶…¶°¶È¶æ····h·w·™·›·Ê·í·ð·ò¸C¸k¸p¸¹¹¹¹¹o¹¾º ººTºaº£º¿ºÔºÛ» »»&»‡»Þ»ã»å¼3¼_¼f¼·½½U½n½ë¾¾¾´¾å¿¿¿A¿M¿W¿^¿z¿£¿î¿ö¿û¿ýÀ@GÀ@gÀ@¾ÀAÀAqÀAÁÀAÈÀAÙÀAÞÀAàÀAíÀB,ÀBnÀBªÀBÄÀC!ÀC5ÀCsÀC®ÀCÉÀDÀDXÀDhÀD‡ÀDÙÀDóÀEÀEÀEkÀE»ÀFÀFNÀF¡ÀF±ÀFÀÀFËÀFáÀFîÀFðÀG@ÀG«ÀG¼ÀGÅÀH'ÀH.ÀH’ÀIÀIÀIGÀI´ÀIÃÀIÊÀJÀJ-ÀJ<ÀJCÀJ_ÀJ‰ÀJ½ÀJÝÀJåÀJêÀJíScrollableDetailsEdgeDraggingAutoScrollerScrollIncrementTypeScrollIncrementDetails ScrollIntent ScrollAction7flutter.widgets.EdgeDraggingAutoScroller.velocityScalar€µThe velocity scalar per pixel over scroll. It represents how the velocity scale with the over scroll distance. The auto-scroll velocity = * velocityScalar.*flutter.widgets.ScrollIncrementType.intent�ÁThis indicates the *intent* of the scroll, not necessarily the size. Not all scrollable areas will have the concept of a "line" or "page", but they can respond to the different standard key bindings that cause scrolling, which are bound to keys that people use to indicate a "line" scroll (e.g. control-arrowDown keys) or a "page" scroll (e.g. pageDown key). It is recommended that at least the relative magnitudes of the scrolls match expectations.$