X_attachedController_animationControllerssizepixelssizeToPixels
isAttachedpixelsToSize	animateTojumpToreset_assertAttached_attach_onExtentReplaced_detach_disposeAnimationControllersinitialChildSizeminChildSizemaxChildSizeexpandsnap	snapSizessnapAnimationDuration
controllershouldCloseOnMinExtentbuildercreateStateextent	minExtent	maxExtentinitialExtentcontextdebugFillDescription_cancelActivityminSizemaxSizeinitialSize_currentSizeavailablePixels
hasDragged
hasChangedisAtMinisAtMaxcurrentSizecurrentPixelspixelSnapSizesstartActivityaddPixelDelta
updateSizedisposecopyWith_scrollController_extent	initState_impliedSnapSizesdidUpdateWidgetdidChangeDependenciesbuild_replaceExtent_snapSizeErrorMessageonPositionDetachedcreateScrollPositionpositiondetach_dragCancelCallback	getExtent_ballisticControllerslistShouldScrollabsorbbeginActivityapplyUserOffset_getCurrentSnapSize_isAtSnapSize_shouldSnapgoBallisticdragchild	_notifier
_wasCalled	sendReset
_sendResetshouldResetvelocityminimumSpeed_pixelSnapSizedxisDonex_getSnapSizeScrollableWidgetBuilderDraggableScrollableControllerDraggableScrollableSheetDraggableScrollableNotification_DraggableSheetExtent_DraggableScrollableSheetState)_DraggableScrollableSheetScrollController'_DraggableScrollableSheetScrollPositionDraggableScrollableActuator!_DraggableScrollableActuatorState_ResetNotifier_InheritedResetNotifier_SnappingSimulation€ÐBuildContextScrollControllerAxisscrollController
ScrollViewSingleChildScrollViewListViewGridViewWidgetStatebuild
ListenableChangeNotifier kFlutterMemoryAllocationsEnabledmaybeDispatchObjectCreationSetAnimationControllerdoubleextentcurrentSizecurrentPixelssizeToPixelsScrollPositionbool
hasClientspixelsToSizesnapFutureWidgetTesterpumpAndSettlevoidDurationCurvedurationzero	unboundedvsyncpositioncontextvalueaddgoIdle
hasDragged
hasChangedstartActivity
onCanceledisAnimatingstopaddListener
updateSizenotificationContext	animateToclampDoubleminSizemaxSizecurveinitialChildSizereset_currentSizenotifyListenersonPositionDetacheddisposeExtentdisposeremoveListeneranimationControllerclear
ScrollablejumpToListTileScaffoldScrollBehaviorPointerDeviceKindmousedragDevicesStatefulWidgetCenterListoverrideNotificationNotificationListenerdepthsetStateFloatingActionButtonViewportNotificationMixinStringdebugFillDescriptionValueNotifierinfinitydebugMaybeDispatchCreatedVoidCallbackmaptoListcall	minExtent	maxExtentinitialExtentshouldCloseOnMinExtentdispatchdebugMaybeDispatchDisposed	snapSizessnapAnimationDurationinitialSize	initStatewidgetminChildSizemaxChildSize
controller_attachintindexlengthisEmptyfirstlastdidUpdateWidget_detachdidChangeDependenciesshouldResetValueListenableBuildervalueListenablebuilderLayoutBuilderBoxConstraintsavailablePixelsconstraintsbiggestheightFractionallySizedBoxheightFactor	alignment	AlignmentbottomCenterchildexpandSizedBoxcopyWith_onExtentReplacedWidgetsBindinginstanceaddPostFrameCallback	positions	elementAtgoBallistic
debugLabelasMapkeystoStringPrimaryScrollControllerScrollPhysicsScrollContextphysicsapplyToAlwaysScrollableScrollPhysicsoldPosition	getExtent_cancelActivityoffsetmillisecondsCurveslineardetachScrollActivityViewportScrollPositionWithSingleContextpixelsabsorb_dragCancelCallbackballisticControllerbeginActivityisAtMinisAtMaxaddPixelDeltaapplyUserOffsetfirstWhereOrNullsnapSizeabstoleranceFordistance
SimulationinitialVelocitypixelSnapSizepixelSnapSizes	toleranceClampingScrollSimulationvelocityobjectRuntimeTypesignisCompletedanimateWithwhenCompleteOrCancelcontainsremoveDragDragStartDetailsdrag"dependOnInheritedWidgetOfExactType
_sendResetnotifierhasListenersInheritedNotifier	sendResetInheritedWidget
_wasCalledinMillisecondsminmax
indexWheresize	ChangeNotifierStatefulWidgetNotificationViewportNotificationMixinStateScrollControllerScrollPositionWithSingleContextInheritedNotifier
SimulationècÜZž±³Â¸îËüf     ‚   ‚0‚3math‚3	dart:math  ‚=   "package:collection/collection.dart  ‚k   package:flutter/foundation.dart  ‚–   package:flutter/gestures.dart  ‚Á   
basic.dart  ‚×   binding.dart  ‚ï   framework.dart  ƒ	   inherited_notifier.dart  ƒ,   layout_builder.dart  ƒK   notification_listener.dart  ƒq   scroll_activity.dart  ƒ‘   scroll_context.dart  ƒ°   scroll_controller.dart  ƒÒ   scroll_notification.dart  ƒö   scroll_physics.dart  „   scroll_position.dart  „5   (scroll_position_with_single_context.dart  „i   scroll_simulation.dart  „‹   value_listenable_builder.dartÀ dŽ À ¹ù„´ =€ˆ€§€©€Ú���K�x�œ�¿�ð‚‚‚‚:‚<‚j‚•‚¾‚À‚Ö‚îƒƒ+ƒJƒpƒ�ƒ¯ƒÑƒõ„„4„h„Š„³„µ„÷…E……„…Ô†#†<†_†®†°†Ü†á‡3‡ƒ‡Òˆ
ˆˆ`ˆ¯ˆ´ˆþ‰N‰˜‰çŠ4ŠkŠ©Šå‹
‹7‹p‹w‹|‹~‹ÁŒŒŒnŒƒŒ›ŒÐŒÕŒ×��)�A�x�}��Ö�üŽŽPŽUŽWŽºŽÝŽä�3�����ê�ì�I�q�‰�Ç�Ì�Î‘‘X‘_‘±’’’$’q’Ã““H“O“ž“¾“Å”&”]”d”­”ò••z•’•·•ß–3–n–¥–­–â——b———Ë—û˜˜n˜ž˜Å˜Ð˜Ú˜â™™;™_™¤™®™·™ášEš`šuš}š‚š„šÑ›››_›¦›­›üœOœhœoœÍ��"�:�_�¦�éžžKžž¬ž¹žüŸŸ	ŸŸsŸ…Ÿ�ŸÀŸÅŸÇŸãŸð  g Â Ê Ï Ñ¡¡,¡P¡š¡¢¡Ï¢¢h¢m¢o¢±££U£m£¹¤¤U¤Œ¤¦¤­¤²¤´¤ä¤þ¥,¥:¥‹¥’¥·¥Ø¥Ý¥ß¦¦\¦‚¦‰¦­¦²¦µ¦·§§H§M§‘§–§Ú¨+¨}¨‚¨Ï©	©©X©ª©ùªGª�ªà«««e«±«÷¬E¬e¬j¬³­­U­Z­ª­ú®H®b®g®|®�®Ð¯¯l¯·°	°)°.°›°è°í±B±‚±ý²²b²g²Ô²å³³l³�³ ³Â³á³ÿ´´0´E´f´|´¥´Á´æµµ=µoµÇµÉ¶¶8¶?¶ˆ¶Ù·/·6·Y·{·}·Î·ì·ó¸¸5¸7¸ˆ¸¦¸­¸Ð¸î¸ð¹B¹Q¹X¹¤¹óº"º)ºKºaºcº±ºÔºÛ»-»»Ð»×¼"¼†¼�¼Ü½½h½”½¨½ª½è½ï¾>¾Š¾¡¾¨¾õ¿H¿“¿ª¿±À @À @>À @EÀ @’À @áÀ A3À AUÀ AWÀ AŠÀ A‘À AáÀ BÀ B@À BBÀ B�À BÃÀ BÅÀ CÀ C;À CBÀ C�À CÆÀ CìÀ CîÀ D<À DˆÀ D À DÊÀ DÌÀ DÙÀ E/À E2À E4À EÀ E¼À EÝÀ EâÀ F2À F{À FÃÀ GÀ GYÀ G¤À GÏÀ GÔÀ H"À HrÀ HÄÀ IÀ I]À I®À IÿÀ J;À J˜À JêÀ JúÀ KÀ KSÀ K¤À KÉÀ KäÀ LÀ L À LBÀ L^À L‡À L©À LËÀ LðÀ MÀ MAÀ MmÀ MoÀ M¼À MÔÀ MÖÀ NÀ N&À N(À NNÀ NiÀ NkÀ NžÀ N½À N¿À OÀ OÀ O\À OªÀ OÞÀ OýÀ OÿÀ POÀ PŒÀ P“À PÝÀ QÀ QÀ QÀ QKÀ QyÀ Q�À QöÀ QþÀ RÀ RÀ RÀ REÀ R{À R«À R°À RýÀ SMÀ SRÀ S¥À SªÀ SÕÀ T"À TAÀ T\À TxÀ T”À T­À TËÀ TëÀ UÀ U5À ULÀ UcÀ UŒÀ UªÀ UÈÀ UðÀ VÀ VbÀ V�À V·À VâÀ W4À W9À W;À W]À W_À WxÀ W‘À W¥À WÆÀ WðÀ XÀ X3À X`À X{À X}À XÅÀ XÙÀ XÛÀ Y*À Y9À YƒÀ Y“À YÝÀ Z,À Z|À ZÊÀ ZòÀ [À [À [>À [tÀ [vÀ [§À [èÀ [êÀ \6À \8À \ˆÀ \¿À \ÆÀ ]À ]gÀ ]xÀ ]´À ]ÒÀ ]õÀ ]úÀ ]üÀ ^GÀ ^�À ^ˆÀ ^ÓÀ _À _ZÀ _…À _£À _ÀÀ `À `3À `KÀ `cÀ `„À `“À `šÀ `×À `ÜÀ `ÞÀ a)À aIÀ aPÀ a¢À a¹À aôÀ b<À bjÀ byÀ b€À b§À bÍÀ bèÀ cÀ cÀ cBÀ c[À c’À c¬À c±À c³À cÛÀ dÀ dÀ dÀ d8À dfÀ dkÀ dmÀ d�À d°À dÍÀ dÒÀ dÔÀ døÀ eÀ e4À eMÀ esÀ e•À eÄÀ eïÀ e÷À fÀ f3À fLÀ f_À f|À f±À fÒÀ g#À gAÀ glÀ gÃÀ gÍÀ gìÀ hÀ hBÀ hJÀ hOÀ hRÀ hTÀ h¤À héÀ iÀ iÀ iÀ i5À iMÀ isÀ i˜À i½À i×À iþÀ j:À jgÀ j¥À j­À kÀ k6À k;À k=À kcÀ k³À kìÀ kûÀ lHÀ l´À l¾À lÍÀ mÀ mbÀ mlÀ msÀ mÁÀ nÀ nEÀ nLÀ nbÀ n²À nÏÀ oÀ o&À o+À o-À o:À o‚À o©À oßÀ pÀ p=À pDÀ pdÀ piÀ pkÀ pxÀ pšÀ p¾À p÷À qÀ q À q%À q'À q4À q\À qˆÀ q¶À rÀ rYÀ r°À ræÀ sÀ s>À sYÀ sgÀ s°À s¼À sÆÀ t À tÀ tÀ tÀ tÀ t0À tVÀ tpÀ t~À t¶À t½À tßÀ tõÀ túÀ tüÀ uCÀ u~À u¦À uËÀ uðÀ v
À v1À vmÀ všÀ vØÀ vàÀ w.À w…À w®À wúÀ xÀ xWÀ xvÀ xŽÀ xåÀ yÀ y\À y¦À yõÀ zGÀ z{À zÆÀ {À {^À {šÀ {ÙÀ {ýÀ |À |@À |GÀ |LÀ |NÀ |‚À |äÀ }.À }RÀ }}À }†À }¤À }¶À ~À ~=À ~BÀ ~EÀ ~GÀ ~™À ~¿À ~ÄÀ À gÀ ¢À §À ¶À »À €À €/À €sÀ €ÅÀ €ÚÀ �&À �lÀ �nÀ ��À �´À �¶À �ÃÀ ‚À ‚ À ‚<À ‚^À ‚eÀ ‚šÀ ‚âÀ ‚ûÀ ƒÀ ƒ<À ƒDÀ ƒIÀ ƒKÀ ƒXÀ ƒ‘À ƒ¿À ƒèÀ ƒíÀ ƒïÀ ƒüÀ „7À „yÀ „{À „�À „²À „ÒÀ „òÀ …9À …[À …—À …±À †	À †À †cÀ †hÀ †jÀ †wÀ †¡À †ÂÀ †ßÀ †äÀ †çÀ †éÀ ‡#À ‡UÀ ‡ZÀ ‡ªÀ ‡ùÀ ˆ4À ˆ~À ˆ�À ˆ¢À ˆ±À ˆ¶À ‰À ‰mÀ ‰šÀ ‰·À ‰ÔÀ ‰ìÀ Š
À ŠÀ ŠÀ Š9À ŠnÀ ŠÁÀ ŠïÀ ŠñÀ ‹%À ‹'À ‹4À ‹[À ‹uÀ ‹ŸÀ ‹¡À ‹ßÀ ‹îÀ ‹õÀ ‹÷À Œ%À Œ]À Œ†À Œ�À Œ’À Œ”À Œ¡À ŒÖÀ �À �[À �~À �…À �¬À �±À �³À �ÀÀ �èÀ ŽÀ Ž7À ŽeÀ Ž”À Ž×À ŽåÀ �
À �À �À �À �hÀ �—À �ºÀ �üÀ �3À �xÀ ��À �†À �ˆÀ �ÂÀ �ÄÀ ‘À ‘À ‘"À ‘6À ‘ŠÀ ‘°À ‘·À ‘ÛÀ ‘ñÀ ‘öÀ ‘øÀ ’À ’,À ’\À ’�À ’¼À ’àÀ ’ïÀ ’öÀ “IÀ “kÀ “ŒÀ “ŽÀ “µÀ “ÍÀ ”À ”?À ”hÀ ”ŒÀ ”»À ”ùÀ •)À •3À •AÀ •�À •âÀ –À –OÀ –xÀ –•À –ÅÀ –ÏÀ –ÖÀ –ØÀ —,À —}À —šÀ —¢À —×À —ÙÀ ˜
À ˜À ˜cÀ ˜”À ˜ÖÀ ™)À ™{À ™ÉÀ ™êÀ ™þÀ š*À š‚À š¨À šÍÀ ›À ›LÀ ›�À ›½À ›öÀ œÀ œ]À œhÀ œ‡À œ�À œ—À œ™À œ²À œÍÀ �À �LÀ �ŠÀ �´À �¿À �ÊÀ �ÏÀ �ÑÀ �ÞÀ ž(À žzÀ ž©À žÞÀ žãÀ žæÀ žèÀ Ÿ6À ŸkÀ ŸpÀ Ÿ¾À  À  `À  ¡À  ¦À  óÀ ¡CÀ ¡–À ¡àÀ ¢2À ¢tÀ ¢°À ¢ÿÀ £*À £1À £[À ££À £¥À £öÀ ¤6À ¤MÀ ¤OÀ ¤žÀ ¤¾À ¤ÅÀ ¥À ¥XÀ ¥jÀ ¥—À ¥ÎÀ ¦À ¦DÀ ¦IÀ ¦KÀ ¦XÀ ¦´À ¦·À ¦¹À §À §EÀ §GÀ §TÀ §|À §ËÀ §ÐÀ §ÒÀ §ßÀ §óÀ ¨À ¨#À ¨(À ¨+À ¨-À ¨uÀ ¨¯À ¨ÞÀ ¨ôÀ ©!À ©ZÀ ©aÀ ©fÀ ©hÀ ©šÀ ©¡À ©ÕÀ ©ñÀ ©óÀ ª%À ª,À ª\À ªrÀ ªŒÀ ª¡À ª¨À ªÀÀ ªØÀ ªêÀ ªïÀ ªòÀ ªôÀ «?À «ŽÀ ¬À ¬dÀ ¬fÀ ¬•À ¬—À ¬ãÀ ¬üÀ ­À ­KÀ ­~À ­«À ­ôÀ ®À ®$À ®+À ®[À ®µÀ ®ùÀ ¯.À ¯EÀ ¯JÀ ¯MÀ ¯OÀ ¯À ¯˜À ¯µÀ ¯ÛÀ °À °+À °AÀ °IÀ °�À °�À °åÀ ±BÀ ±IÀ ±ŸÀ ±òÀ ²À ²YÀ ²gÀ ²¢À ²©À ²®À ²°À ²ÊÀ ²éÀ ²ëÀ ³8À ³XÀ ³†À ³ˆÀ ³­À ³¯À ³¼À ³ØÀ ³ñÀ ´À ´	À ´À ´$À ´&À ´3À ´QÀ ´xÀ ´}À ´À ´ŒÀ ´§À ´ãÀ µÀ µZÀ µ“À µ±À µ¸À µÑÀ µÖÀ µØÀ ¶"À ¶jÀ ¶‡À ¶ÕÀ ·4À ·UÀ ·yÀ ·€À ·¾À ¸À ¸<À ¸”À ¸ÐÀ ¸îÀ ¸þÀ ¹À ¹!À ¹(À ¹hÀ ¹ŠÀ ¹½À ¹ÄÀ ¹ñÀ ¹öÀ ¹ù   �^/// @docImport 'package:flutter/material.dart';
/// @docImport 'package:flutter_test/flutter_test.dart';
///
/// @docImport 'primary_scroll_controller.dart';
/// @docImport 'scroll_configuration.dart';
/// @docImport 'scroll_view.dart';
/// @docImport 'scrollable.dart';
/// @docImport 'single_child_scroll_view.dart';
/// @docImport 'viewport.dart';‚‚4‚3 ‚<   ‚j   ‚•   ‚À   ‚Ö   ‚î   ƒ   ƒ+   ƒJ   ƒp   ƒ�   ƒ¯   ƒÑ   ƒõ   „   „4   „h   „Š     †° ŠqŠqƒª/// Controls a [DraggableScrollableSheet].
///
/// Draggable scrollable controllers are typically stored as member variables in
/// [State] objects and are reused in each [State.build]. Controllers can only
/// be used to control one sheet at a time. A controller can be reused with a
/// new sheet if the previous sheet has been disposed.
///
/// The controller's methods cannot be used until after the controller has been
/// passed into a [DraggableScrollableSheet] and the sheet has run initState.
///
/// A [DraggableScrollableController] is a [Listenable]. It notifies its
/// listeners whenever an attached sheet changes sizes. It does not notify its
/// listeners when a sheet is first attached or when an attached sheet's
/// parameters change without affecting the sheet's current size. It does not
/// fire when [pixels] changes without [size] changing. For example, if the
/// constraints provided to an attached sheet change. Š«€ÏŠç Šç‹ 8/// Creates a controller for [DraggableScrollableSheet].  ‹€>‹«‹«  ‹ÃN‹â‹â ŒŒ‹úŒ‹ûŒ€»Œ{Œ{T/// Get the current size (as a fraction of the parent height) of the attached sheet.   ŒÙ€¢��7/// Get the current pixel height of the attached sheet.   ŽY���›�›�&/// Returns Whether any [DraggableScrollableController] objects have attached themselves to the
/// [DraggableScrollableSheet].
///
/// If this is false, then members that interact with the [ScrollPosition],
/// such as [sizeToPixels], [size], [animateTo], and [jumpTo], must not be
/// called.    
��€Ò�ß�ßS/// Convert a sheet's size (fractional value of parent container height) to pixels. �ì�ô�ó   �î€Ü�R�RY/// Convert a sheet's pixel height to size (fractional value of parent container height). �_�g�f   �Ð‰°•&•&„	/// Animates the attached sheet from its current size to the given [size], a
/// fractional value of the parent container's height.
///
/// Any active sheet animation is canceled. If the sheet's internal scrollable
/// is currently animating (e.g. responding to a user fling), that animation is
/// canceled as well.
///
/// An animation will be interrupted whenever the user attempts to scroll
/// manually, whenever another activity is started, or when the sheet hits its
/// max or min size (e.g. if you animate to 1 but the max size is .8, the
/// animation will stop playing when it reaches .8).
///
/// The duration must not be zero. To jump to a particular value without an
/// animation, use [jumpTo].
///
/// The sheet will not snap after calling [animateTo] even if [DraggableScrollableSheet.snap]
/// is true. Snapping only occurs after user drags.
///
/// When calling [animateTo] in widget tests, `await`ing the returned
/// [Future] may cause the test to hang and timeout. Instead, use
/// [WidgetTester.pumpAndSettle]. •0•8•7  •>•Q•P  •Z•j•i   š†„���‚[/// Jumps the attached sheet from its current size to the given [size], a
/// fractional value of the parent container's height.
///
/// If [size] is outside of a the attached sheet's min or max child size,
/// [jumpTo] will jump the sheet to the nearest valid size instead.
///
/// Any active sheet animation is canceled. If the sheet's inner scrollable
/// is currently animating (e.g. responding to a user fling), that animation is
/// canceled as well.
///
/// The sheet will not snap after calling [jumpTo] even if [DraggableScrollableSheet.snap]
/// is true. Snapping only occurs after user drags. ���   Ÿ€¶ŸzŸzd/// Reset the attached sheet to its initial size (see: [DraggableScrollableSheet.initialChildSize]).   ŸÉ�ŸÎŸÎ     Ó�˜ Ø Ø   à:¡¡
   ¢q‚?¢v¢v  ¢ˆ$¢Ÿ¢ž   ¤¶�%¤»¤»  ¤Ä¤Ê¤É  ¤Ù¥á€Ï¥æ¥æ     ¦·žy²ë²ë‹ö/// A container for a [Scrollable] that responds to drag gestures by resizing
/// the scrollable until a limit is reached, and then scrolling.
///
/// {@youtube 560 315 https://www.youtube.com/watch?v=Hgw819mL_78}
///
/// This widget can be dragged along the vertical axis between its
/// [minChildSize], which defaults to `0.25` and [maxChildSize], which defaults
/// to `1.0`. These sizes are percentages of the height of the parent container.
///
/// The widget coordinates resizing and scrolling of the widget returned by
/// builder as the user drags along the horizontal axis.
///
/// The widget will initially be displayed at its initialChildSize which
/// defaults to `0.5`, meaning half the height of its parent. Dragging will work
/// between the range of minChildSize and maxChildSize (as percentages of the
/// parent container's height) as long as the builder creates a widget which
/// uses the provided [ScrollController]. If the widget created by the
/// [ScrollableWidgetBuilder] does not use the provided [ScrollController], the
/// sheet will remain at the initialChildSize.
///
/// By default, the widget will stay at whatever size the user drags it to. To
/// make the widget snap to specific sizes whenever they lift their finger
/// during a drag, set [snap] to `true`. The sheet will snap between
/// [minChildSize] and [maxChildSize]. Use [snapSizes] to add more sizes for
/// the sheet to snap between.
///
/// The snapping effect is only applied on user drags. Programmatically
/// manipulating the sheet size via [DraggableScrollableController.animateTo] or
/// [DraggableScrollableController.jumpTo] will ignore [snap] and [snapSizes].
///
/// By default, the widget will expand its non-occupied area to fill available
/// space in the parent. If this is not desired, e.g. because the parent wants
/// to position sheet based on the space it is taking, the [expand] property
/// may be set to false.
///
/// {@tool dartpad}
///
/// This is a sample widget which shows a [ListView] that has 25 [ListTile]s.
/// It starts out as taking up half the body of the [Scaffold], and can be
/// dragged up to the full height of the scaffold or down to 25% of the height
/// of the scaffold. Upon reaching full height, the list contents will be
/// scrolled up or down, until they reach the top of the list again and the user
/// drags the sheet back down.
///
/// On desktop and web running on desktop platforms, dragging to scroll with a mouse is disabled by default
/// to align with the natural behavior found in other desktop applications.
///
/// This behavior is dictated by the [ScrollBehavior], and can be changed by adding
/// [PointerDeviceKind.mouse] to [ScrollBehavior.dragDevices].
/// For more info on this, please refer to https://docs.flutter.dev/release/breaking-changes/default-scroll-behavior-drag
///
/// Alternatively, this example illustrates how to add a drag handle for desktop applications.
///
/// ** See code in examples/api/lib/widgets/draggable_scrollable_sheet/draggable_scrollable_sheet.0.dart **
/// {@end-tool} ³ ‚¥³t ³t³Œ J/// Creates a widget that can be dragged and scrolled in a single gesture.³”	³›³š  ³¤³ª³©  ³Æ³Ì³Ë  ³å³ë³ê  ´´	´  ´´"´!  ´4´:´9  ´I´O´N  ´j´p´o  ´€"´†´…  ´©´¸´·  *³¼³Ú³ù´´(´ž´È´Î´â´Ü´Ï´ß´í´óµµ´ôµµµµ9µ&µµ)µDµJµkµ\µKµ_µvµ|µÃµ›µ“µ}µ–µ´µžµ¶µ¾µ¿
µË�­·h·h�w/// The initial fractional value of the parent container's height to use when
/// displaying the widget.
///
/// Rebuilding the sheet with a new [initialChildSize] will only move
/// the sheet to the new value if the sheet has not yet been dragged since it
/// was first built or since the last call to [DraggableScrollableActuator.reset].
///
/// The default value is `0.5`. ·€³¸&¸&€�/// The minimum fractional value of the parent container's height to use when
/// displaying the widget.
///
/// The default value is `0.25`. ¸9€²¸ß¸ß€Œ/// The maximum fractional value of the parent container's height to use when
/// displaying the widget.
///
/// The default value is `1.0`. ¸ò�lºXºX�B/// Whether the widget should expand to fill the available space in its parent
/// or not.
///
/// In most cases, this should be true. However, in the case of a parent
/// widget that will position this one based on its desired size (such as a
/// [Center]), this should be set to false.
///
/// The default value is true. ºeƒ@½¡½¡ƒ/// Whether the widget should snap between [snapSizes] when the user lifts
/// their finger during a drag.
///
/// If the user's finger was still moving when they lifted it, the widget will
/// snap to the next snap size (see [snapSizes]) in the direction of the drag.
/// If their finger was still, the widget will snap to the nearest snap size.
///
/// Snapping is not applied when the sheet is programmatically moved by
/// calling [DraggableScrollableController.animateTo] or [DraggableScrollableController.jumpTo].
///
/// Rebuilding the sheet with snap newly enabled will immediately trigger a
/// snap unless the sheet has not yet been dragged away from
/// [initialChildSize] since first being built or since the last call to
/// [DraggableScrollableActuator.reset]. ½¬ƒ¦À AIÀ AIƒU/// A list of target sizes that the widget should snap to.
///
/// Snap sizes are fractional values of the parent container's height. They
/// must be listed in increasing order and be between [minChildSize] and
/// [maxChildSize].
///
/// The [minChildSize] and [maxChildSize] are implicitly included in snap
/// sizes and do not need to be specified here. For example, `snapSizes = [.5]`
/// will result in a sheet that snaps between [minChildSize], `.5`, and
/// [maxChildSize].
///
/// Any modifications to the [snapSizes] list will not take effect until the
/// `build` function containing this widget is run again.
///
/// Rebuilding with a modified or new list will trigger a snap unless the
/// sheet has not yet been dragged away from [initialChildSize] since first
/// being built or since the last call to [DraggableScrollableActuator.reset]. À AY€äÀ B(À B(€²/// Defines a duration for the snap animations.
///
/// If it's not set, then the animation duration is the distance to the snap
/// target divided by the velocity of the widget. À BD|À B¶À B¶I/// A controller that can be used to programmatically control this sheet. À BÇ�"À CÓÀ CÓ€ñ/// Whether the sheet, when dragged (or flung) to its minimum size, should
/// cause its parent sheet to close.
///
/// Set on emitted [DraggableScrollableNotification]s. It is up to parent
/// classes to properly read and handle this value. À Cð€×À DÀÀ DÀ€¨/// The builder that creates a child to display in this widget, which will
/// use the provided [ScrollController] to enable dragging and scrolling
/// of the contents.   À DÎ_À DûÀ Dû   À DÎÀ DÏ À E4ŒÐÀ JAÀ JA„ò/// A [Notification] related to the extent, which is the size, and scroll
/// offset, which is the position of the child list, of the
/// [DraggableScrollableSheet].
///
/// [DraggableScrollableSheet] widgets notify their ancestors when the size of
/// the sheet changes. When the extent of the sheet changes via a drag,
/// this notification bubbles up through the tree, which means a given
/// [NotificationListener] will receive notifications for all descendant
/// [DraggableScrollableSheet] widgets. To focus on notifications from the
/// nearest [DraggableScrollableSheet] descendant, check that the [depth]
/// property of the notification is zero.
///
/// When an extent notification is received by a [NotificationListener], the
/// listener will already have completed build and layout, and it is therefore
/// too late for that widget to call [State.setState]. Any attempt to adjust the
/// build or layout based on an extent notification would result in a layout
/// that lagged one frame behind, which is a poor user experience. Extent
/// notifications are used primarily to drive animations. The [Scaffold] widget
/// listens for extent notifications and responds by driving animations for the
/// [FloatingActionButton] as the bottom sheet scrolls up. À Jš‚ÑÀ K¦ À K¦À KÅ €ü/// Creates a notification that the extent of a [DraggableScrollableSheet] has
/// changed.
///
/// All parameters are required. The [minExtent] must be >= 0. The [maxExtent]
/// must be <= 1.0. The [extent] must be between [minExtent] and [maxExtent].À KÍÀ KÜÀ KÛ  À KèÀ K÷À Kö  À LÀ LÀ L  À L$À L3À L2  À LFÀ LUÀ LT  À Lb"À LhÀ Lg  %À L€À LŽÀ L”À L¥À L™À L•À LœÀ L°À L¶À LÇÀ LÁÀ L·À LÄÀ LÒÀ LØÀ LìÀ LãÀ LÙÀ LæÀ L÷À LýÀ MÀ MÀ LþÀ MÀ M#À M)À M=À M1À M*À M4À MHÀ MNÀ MiÀ M]À MOÀ M`À Mq`À MËÀ MËI/// The current value of the extent, between [minExtent] and [maxExtent]. À MØKÀ NÀ N1/// The minimum value of [extent], which is >= 0. À N*<À N]À N]"/// The maximum value of [extent]. À NmMÀ N­À N­//// The initially requested value for [extent]. À NÁ�9À OóÀ Oó�/// The build context of the widget that fired this notification.
///
/// This can be used to find the sheet's render objects to determine the size
/// of the viewport, for instance. A listener can only assume this context
/// is live when it first gets the notification. À P€ÿÀ PêÀ Pê€Ñ/// Whether the widget that fired this notification, when dragged (or flung)
/// to minExtent, should cause its parent sheet to close.
///
/// It is up to parent classes to properly read and handle this value.   À Q€úÀ QÀ Q  À Q.À Q<À Q;  À QÀ Q À R–HÀ T(À T(‚/// Manages state between [_DraggableScrollableSheetState],
/// [_DraggableScrollableSheetScrollController], and
/// [_DraggableScrollableSheetScrollPosition].
///
/// The State knows the pixels available along the axis the widget wants to
/// scroll, but expects to get a fraction of those pixels to render the sheet.
///
/// The ScrollPosition knows the number of pixels a user wants to move the sheet.
///
/// The [currentSize] will never be null.
/// The [availablePixels] will never be null, but may be `double.infinity`. À TC‚ôÀ TC À TCÀ TX  
À T`À ToÀ Tn  À T|À T‹À TŠ  À T˜À T§À T¦  À T±À TÀÀ T¿  À TÏÀ TÞÀ TÝ  À TïÀ TõÀ Tô  À U"À U(À U'  À U9À U@À U?  À UPÀ UWÀ UV  À Ug"À UmÀ Ul  3À U…À U“À U™À U¦À U¢À UšÀ U¥À U±À U·À UÄÀ UÀÀ U¸À UÃÀ UÏÀ UÕÀ UìÀ UÞÀ UÖÀ UáÀ U÷À UýÀ VÀ V
À UþÀ VÀ V,À VÀ V:À V.À V=À VJÀ VQÀ VKÀ VRÀ V^À VSÀ VyÀ ViÀ V{À V�À V‚À VŸÀ V”À V¬À V¡À V¯À VÉÀ V¾À VÖÀ VËÀ VÙÀ W=À WKÀ WK  À WaÀ WnÀ Wn  À WzÀ W‡À W‡  À W“À WžÀ Wž  À W§À WºÀ Wº  À WÈ%À WØÀ WØ  À WòÀ WÿÀ Wÿ  À X!À XÀ X  À X5(À XQÀ XQ  À XbÀ XiÀ Xi  À XÇÀ XÌÀ XÌ  À ZôÀ ZùÀ Zù  À [
2À [À [    À [@2À [IÀ [I    À [x-À [ƒÀ [ƒ    À [©=À [´À [´    À [ìHÀ [ýÀ [ý     À \:�¾À ]À ]�-/// Start an activity that affects the sheet and register a cancel call back
/// that will be called if another activity starts.
///
/// The `onCanceled` callback will get called even if the subsequent activity
/// started after this one finished, so `onCanceled` must be safe to call at
/// any time. À ]Ž À ]¥À ]¤   À ]þ‚ÜÀ _%À _%�/// The scroll position gets inputs in terms of pixels, but the size is
/// expected to be expressed as a number between 0..1.
///
/// This should only be called to respond to a user drag. To update the
/// size in response to a programmatic call, use [updateSize] directly. À _3À _;À _:  À _AÀ _OÀ _N   À `à‚ÏÀ aÀÀ aÀ€Ë/// Set the size to the new value. [newSize] should be a number between
/// [minSize] and [maxSize].
///
/// This can be triggered by a programmatic (e.g. controller triggered) change
/// or a user drag. À aËÀ aÓÀ aÒ  À aÛÀ aéÀ aè   À cµYÀ c¼À c¼  À cÉÀ cÑÀ cÐ   À dUÀ dÀ d  À d(À d0À d/   À doaÀ dtÀ dt    À dÖƒwÀ dìÀ dì  À düÀ eÀ e  À eÀ e+À e*  À e8À eGÀ eF  À eQÀ ehÀ eg  À ewÀ eˆÀ e‡  À e™(À e­À e¬  À eÈ$À e×À eÖ    À hT•ïÀ hZÀ hZ   À h¦@À hÕÀ hÕ  À hë"À iÀ i    À i‚%À i&À i&   À iÀ iÀ k?ƒêÀ kLÀ kL    À o/�8À oAÀ oA  À oQ,À ouÀ ot  À o/À o0À pm€¶À pÀ p   À pmÀ pnÀ q)‚âÀ q=À q=  À qCÀ qQÀ qP  À q)À q*À t€çÀ t#À t#   À tÀ tÀ tþ‡LÀ uÀ u  À u,À u6À u5   À |P�ðÀ |WÀ |W  À |mÀ |rÀ |q    À ~GˆžÀ €àÀ €à‚„/// A [ScrollController] suitable for use in a [ScrollableWidgetBuilder] created
/// by a [DraggableScrollableSheet].
///
/// If a [DraggableScrollableSheet] contains content that is exceeds the height
/// of its container, this controller will allow the sheet to both be dragged to
/// fill the container and then scroll the child content.
///
/// See also:
///
///  * [_DraggableScrollableSheetScrollPosition], which manages the positioning logic for
///    this controller.
///  * [PrimaryScrollController], which can be used to establish a
///    [_DraggableScrollableSheetScrollController] as the primary controller for
///    descendants. À �(BÀ �( À �(À �Q  À �SÀ �bÀ �a   À �pÀ �†À �†  À �‘ À �ŸÀ �Ÿ  À ƒñ€†À „*À „*   À ƒñÀ ƒò À �¸��À �íÀ �í  À ‚À ‚À ‚  À ‚$À ‚3À ‚2  À ‚@À ‚QÀ ‚P  À �¸À �¹À ƒM€žÀ ƒ_À ƒ_  À ƒtÀ ƒ‚À ƒ�  À ƒMÀ ƒNÀ „}�éÀ „‚À „‚    À †lvÀ †~À †~  À †…À †•À †”  À †lÀ †m À †é—ûÀ ‰À ‰‚/// A scroll position that manages scroll activities for
/// [_DraggableScrollableSheetScrollController].
///
/// This class is a concrete subclass of [ScrollPosition] logic that handles a
/// single [ScrollContext], such as a [Scrollable]. An instance of this class
/// manages [ScrollActivity] instances, which changes the
/// [_DraggableSheetExtent.currentSize] or visible content offset in the
/// [Scrollable]'s [Viewport]
///
/// See also:
///
///  * [_DraggableScrollableSheetScrollController], which uses this as its [ScrollPosition]. À ‰o€ À ‰o À ‰oÀ ‰–  À ‰žÀ ‰®À ‰­  À ‰»À ‰ËÀ ‰Ê  À ‰ØÀ ‰ßÀ ‰Þ  À ‰ðÀ ‰ÿÀ ‰þ   À Š!À Š#À Š#  À Š;0À ŠbÀ Šb  À ŠpNÀ Š�À Š� À Š¼À Š½À Š§À Š»À Š¨À ŠÃ*À ŠÌÀ ŠÌ    À Šó0À ‹À ‹     	À ‹)�gÀ ‹;À ‹;  À ‹BÀ ‹RÀ ‹Q  À ‹)À ‹*À Œ–�À Œ¨À Œ¨  À Œ¶À ŒÇÀ ŒÆ  À Œ–À Œ—À �µ�_À �ÇÀ �Ç  À �×À �ßÀ �Þ  À �µÀ �¶À �™€ëÀ �¡À �¡    À �Š6À ��À ��    À �ÆKÀ �ËÀ �Ë    À ‘€ÝÀ ‘)À ‘)   À ‘À ‘À ‘ú‹ÓÀ ’À ’  À ’À ’ À ’  À ‘úÀ ‘ûÀ �Ó�À �åÀ �å  À �êÀ �üÀ �û  À žÀ žÀ ž  À �ÓÀ �Ô À žè‡ÍÀ ¢zÀ ¢zƒ}/// A widget that can notify a descendent [DraggableScrollableSheet] that it
/// should reset its position to the initial state.
///
/// The [Scaffold] uses this widget to notify a persistent bottom sheet that
/// the user has tapped back if the sheet has started to cover more of the body
/// than when at its initial position. This is important for users of assistive
/// technology, where dragging may be difficult to communicate.
///
/// This is just a wrapper on top of [DraggableScrollableController]. It is
/// primarily useful for controlling a sheet in a part of the widget tree that
/// the current code does not control (e.g. library code trying to affect a sheet
/// in library users' code). Generally, it's easier to control the sheet
/// directly by creating a controller and passing the controller to the sheet in
/// its constructor (see [DraggableScrollableSheet.controller]). À ¢²€ïÀ £c À £cÀ £~ €ž/// Creates a widget that can notify descendent [DraggableScrollableSheet]s
/// to reset to their initial position.
///
/// The [child] parameter is required.À £€	À £‡À £†  À £‹À £šÀ £™   À £§€£À ¤EÀ ¤E€Š/// This child's [DraggableScrollableSheet] descendant will be reset when the
/// [reset] method is applied to a context that includes it.   À ¤Q�öÀ ¥xÀ ¥x�/// Notifies any descendant [DraggableScrollableSheet] that it should reset
/// to its initial position.
///
/// Returns `true` if a [DraggableScrollableActuator] is available and
/// some [DraggableScrollableSheet] is listening for updates, `false`
/// otherwise. À ¥~À ¥ŒÀ ¥‹   À ¦MeÀ ¦}À ¦}   À ¦MÀ ¦N À ¦¹�pÀ ¦¿À ¦¿   À §1À §&À §& À §2À §@À §A  À §I€…À §]À §]  À §cÀ §qÀ §p  À §IÀ §JÀ §ÔRÀ §æÀ §æ   À §ÔÀ §Õ À ¨-‚ÃÀ ¨µÀ ¨µ/// A [ChangeNotifier] to use with [_InheritedResetNotifier] to notify
/// descendants that they should reset to initial state. À ¨à€„À ¨à À ¨àÀ ¨î    À ©j€„À ©ÜÀ ©Üc/// Whether someone called [sendReset] or not.
///
/// This flag should be reset after checking it.À ©é  À ©õ€øÀ ªcÀ ªc_/// Fires a reset notification to descendants.
///
/// Returns false if there are no listeners.    À ªô„WÀ ªúÀ ªú  À «A�!À ¬
 À ¬
À ¬! €¼/// Creates an [InheritedNotifier] that the [DraggableScrollableSheet] will
/// listen to for an indication that it should reset itself back to [DraggableScrollableSheet.initialChildSize].À ¬#À ¬3À ¬2  À ¬9&À ¬XÀ ¬W      À ¬h+À ¬mÀ ¬m    À ¬™‚¯À ­YÀ ­Y€§/// Specifies whether the [DraggableScrollableSheet] should reset to its
/// initial position.
///
/// Returns true if the notifier requested a reset, false otherwise. À ­eÀ ­sÀ ­r    À ¯OŠ¨À ¯UÀ ¯U  À ¯�ƒ+À ¯� À ¯�À ¯”  À ¯œÀ ¯«À ¯ª  À ¯¹À ¯ÊÀ ¯É  À ¯ß#À ¯öÀ ¯õ  À °	À °À °  À °/À °6À °5   À ²²À ²¿À ²¿  À ²ÌÀ ²ÞÀ ²Þ  À ³Z)À ³nÀ ³n À ³}À ³Š À ³œÀ ³œ    À ³±qÀ ³ÅÀ ³Å  À ³ÈÀ ³ÐÀ ³Ï  À ³±À ³²À ´(SÀ ´:À ´:  À ´AÀ ´IÀ ´H  À ´(À ´)À ´��SÀ ´•À ´•  À ´—À ´ŸÀ ´ž  À ´�À ´‚À ¶‰ƒkÀ ¶�À ¶�  À ¶�À ¶¥À ¶¤  À ¶µÀ ¶ÃÀ ¶Â            „µ�÷†D†D�/// The signature of a method that provides a [BuildContext] and
/// [ScrollController] for building a widget that may overflow the draggable
/// [Axis] of the containing [DraggableScrollableSheet].
///
/// Users should apply the [scrollController] to a [ScrollView] subclass, such
/// as a [SingleChildScrollView], [ListView] or [GridView], to have the whole
/// sheet be draggable.  †s†�†€  †‰!†›†š        €²  package:flutter/material.dart  €ã  &package:flutter_test/flutter_test.dart  �"  primary_scroll_controller.dart  �T  scroll_configuration.dart  ��  scroll_view.dart  �¥  scrollable.dart  �È  single_child_scroll_view.dart  �ù  viewport.dart „´ =€ˆ€§€©€Ú���K�x�œ�¿�ð‚‚‚‚:‚<‚j‚•‚¾‚À‚Ö‚îƒƒ+ƒJƒpƒ�ƒ¯ƒÑƒõ„„4„h„Š„³„µ„÷…E……„…Ô†#†<†_†®†°†Ü†á‡3‡ƒ‡Òˆ
ˆˆ`ˆ¯ˆ´ˆþ‰N‰˜‰çŠ4ŠkŠ©Šå‹
‹7‹p‹w‹|‹~‹ÁŒŒŒnŒƒŒ›ŒÐŒÕŒ×��)�A�x�}��Ö�üŽŽPŽUŽWŽºŽÝŽä�3�����ê�ì�I�q�‰�Ç�Ì�Î‘‘X‘_‘±’’’$’q’Ã““H“O“ž“¾“Å”&”]”d”­”ò••z•’•·•ß–3–n–¥–­–â——b———Ë—û˜˜n˜ž˜Å˜Ð˜Ú˜â™™;™_™¤™®™·™ášEš`šuš}š‚š„šÑ›››_›¦›­›üœOœhœoœÍ��"�:�_�¦�éžžKžž¬ž¹žüŸŸ	ŸŸsŸ…Ÿ�ŸÀŸÅŸÇŸãŸð  g Â Ê Ï Ñ¡¡,¡P¡š¡¢¡Ï¢¢h¢m¢o¢±££U£m£¹¤¤U¤Œ¤¦¤­¤²¤´¤ä¤þ¥,¥:¥‹¥’¥·¥Ø¥Ý¥ß¦¦\¦‚¦‰¦­¦²¦µ¦·§§H§M§‘§–§Ú¨+¨}¨‚¨Ï©	©©X©ª©ùªGª�ªà«««e«±«÷¬E¬e¬j¬³­­U­Z­ª­ú®H®b®g®|®�®Ð¯¯l¯·°	°)°.°›°è°í±B±‚±ý²²b²g²Ô²å³³l³�³ ³Â³á³ÿ´´0´E´f´|´¥´Á´æµµ=µoµÇµÉ¶¶8¶?¶ˆ¶Ù·/·6·Y·{·}·Î·ì·ó¸¸5¸7¸ˆ¸¦¸­¸Ð¸î¸ð¹B¹Q¹X¹¤¹óº"º)ºKºaºcº±ºÔºÛ»-»»Ð»×¼"¼†¼�¼Ü½½h½”½¨½ª½è½ï¾>¾Š¾¡¾¨¾õ¿H¿“¿ª¿±À @À @>À @EÀ @’À @áÀ A3À AUÀ AWÀ AŠÀ A‘À AáÀ BÀ B@À BBÀ B�À BÃÀ BÅÀ CÀ C;À CBÀ C�À CÆÀ CìÀ CîÀ D<À DˆÀ D À DÊÀ DÌÀ DÙÀ E/À E2À E4À EÀ E¼À EÝÀ EâÀ F2À F{À FÃÀ GÀ GYÀ G¤À GÏÀ GÔÀ H"À HrÀ HÄÀ IÀ I]À I®À IÿÀ J;À J˜À JêÀ JúÀ KÀ KSÀ K¤À KÉÀ KäÀ LÀ L À LBÀ L^À L‡À L©À LËÀ LðÀ MÀ MAÀ MmÀ MoÀ M¼À MÔÀ MÖÀ NÀ N&À N(À NNÀ NiÀ NkÀ NžÀ N½À N¿À OÀ OÀ O\À OªÀ OÞÀ OýÀ OÿÀ POÀ PŒÀ P“À PÝÀ QÀ QÀ QÀ QKÀ QyÀ Q�À QöÀ QþÀ RÀ RÀ RÀ REÀ R{À R«À R°À RýÀ SMÀ SRÀ S¥À SªÀ SÕÀ T"À TAÀ T\À TxÀ T”À T­À TËÀ TëÀ UÀ U5À ULÀ UcÀ UŒÀ UªÀ UÈÀ UðÀ VÀ VbÀ V�À V·À VâÀ W4À W9À W;À W]À W_À WxÀ W‘À W¥À WÆÀ WðÀ XÀ X3À X`À X{À X}À XÅÀ XÙÀ XÛÀ Y*À Y9À YƒÀ Y“À YÝÀ Z,À Z|À ZÊÀ ZòÀ [À [À [>À [tÀ [vÀ [§À [èÀ [êÀ \6À \8À \ˆÀ \¿À \ÆÀ ]À ]gÀ ]xÀ ]´À ]ÒÀ ]õÀ ]úÀ ]üÀ ^GÀ ^�À ^ˆÀ ^ÓÀ _À _ZÀ _…À _£À _ÀÀ `À `3À `KÀ `cÀ `„À `“À `šÀ `×À `ÜÀ `ÞÀ a)À aIÀ aPÀ a¢À a¹À aôÀ b<À bjÀ byÀ b€À b§À bÍÀ bèÀ cÀ cÀ cBÀ c[À c’À c¬À c±À c³À cÛÀ dÀ dÀ dÀ d8À dfÀ dkÀ dmÀ d�À d°À dÍÀ dÒÀ dÔÀ døÀ eÀ e4À eMÀ esÀ e•À eÄÀ eïÀ e÷À fÀ f3À fLÀ f_À f|À f±À fÒÀ g#À gAÀ glÀ gÃÀ gÍÀ gìÀ hÀ hBÀ hJÀ hOÀ hRÀ hTÀ h¤À héÀ iÀ iÀ iÀ i5À iMÀ isÀ i˜À i½À i×À iþÀ j:À jgÀ j¥À j­À kÀ k6À k;À k=À kcÀ k³À kìÀ kûÀ lHÀ l´À l¾À lÍÀ mÀ mbÀ mlÀ msÀ mÁÀ nÀ nEÀ nLÀ nbÀ n²À nÏÀ oÀ o&À o+À o-À o:À o‚À o©À oßÀ pÀ p=À pDÀ pdÀ piÀ pkÀ pxÀ pšÀ p¾À p÷À qÀ q À q%À q'À q4À q\À qˆÀ q¶À rÀ rYÀ r°À ræÀ sÀ s>À sYÀ sgÀ s°À s¼À sÆÀ t À tÀ tÀ tÀ tÀ t0À tVÀ tpÀ t~À t¶À t½À tßÀ tõÀ túÀ tüÀ uCÀ u~À u¦À uËÀ uðÀ v
À v1À vmÀ všÀ vØÀ vàÀ w.À w…À w®À wúÀ xÀ xWÀ xvÀ xŽÀ xåÀ yÀ y\À y¦À yõÀ zGÀ z{À zÆÀ {À {^À {šÀ {ÙÀ {ýÀ |À |@À |GÀ |LÀ |NÀ |‚À |äÀ }.À }RÀ }}À }†À }¤À }¶À ~À ~=À ~BÀ ~EÀ ~GÀ ~™À ~¿À ~ÄÀ À gÀ ¢À §À ¶À »À €À €/À €sÀ €ÅÀ €ÚÀ �&À �lÀ �nÀ ��À �´À �¶À �ÃÀ ‚À ‚ À ‚<À ‚^À ‚eÀ ‚šÀ ‚âÀ ‚ûÀ ƒÀ ƒ<À ƒDÀ ƒIÀ ƒKÀ ƒXÀ ƒ‘À ƒ¿À ƒèÀ ƒíÀ ƒïÀ ƒüÀ „7À „yÀ „{À „�À „²À „ÒÀ „òÀ …9À …[À …—À …±À †	À †À †cÀ †hÀ †jÀ †wÀ †¡À †ÂÀ †ßÀ †äÀ †çÀ †éÀ ‡#À ‡UÀ ‡ZÀ ‡ªÀ ‡ùÀ ˆ4À ˆ~À ˆ�À ˆ¢À ˆ±À ˆ¶À ‰À ‰mÀ ‰šÀ ‰·À ‰ÔÀ ‰ìÀ Š
À ŠÀ ŠÀ Š9À ŠnÀ ŠÁÀ ŠïÀ ŠñÀ ‹%À ‹'À ‹4À ‹[À ‹uÀ ‹ŸÀ ‹¡À ‹ßÀ ‹îÀ ‹õÀ ‹÷À Œ%À Œ]À Œ†À Œ�À Œ’À Œ”À Œ¡À ŒÖÀ �À �[À �~À �…À �¬À �±À �³À �ÀÀ �èÀ ŽÀ Ž7À ŽeÀ Ž”À Ž×À ŽåÀ �
À �À �À �À �hÀ �—À �ºÀ �üÀ �3À �xÀ ��À �†À �ˆÀ �ÂÀ �ÄÀ ‘À ‘À ‘"À ‘6À ‘ŠÀ ‘°À ‘·À ‘ÛÀ ‘ñÀ ‘öÀ ‘øÀ ’À ’,À ’\À ’�À ’¼À ’àÀ ’ïÀ ’öÀ “IÀ “kÀ “ŒÀ “ŽÀ “µÀ “ÍÀ ”À ”?À ”hÀ ”ŒÀ ”»À ”ùÀ •)À •3À •AÀ •�À •âÀ –À –OÀ –xÀ –•À –ÅÀ –ÏÀ –ÖÀ –ØÀ —,À —}À —šÀ —¢À —×À —ÙÀ ˜
À ˜À ˜cÀ ˜”À ˜ÖÀ ™)À ™{À ™ÉÀ ™êÀ ™þÀ š*À š‚À š¨À šÍÀ ›À ›LÀ ›�À ›½À ›öÀ œÀ œ]À œhÀ œ‡À œ�À œ—À œ™À œ²À œÍÀ �À �LÀ �ŠÀ �´À �¿À �ÊÀ �ÏÀ �ÑÀ �ÞÀ ž(À žzÀ ž©À žÞÀ žãÀ žæÀ žèÀ Ÿ6À ŸkÀ ŸpÀ Ÿ¾À  À  `À  ¡À  ¦À  óÀ ¡CÀ ¡–À ¡àÀ ¢2À ¢tÀ ¢°À ¢ÿÀ £*À £1À £[À ££À £¥À £öÀ ¤6À ¤MÀ ¤OÀ ¤žÀ ¤¾À ¤ÅÀ ¥À ¥XÀ ¥jÀ ¥—À ¥ÎÀ ¦À ¦DÀ ¦IÀ ¦KÀ ¦XÀ ¦´À ¦·À ¦¹À §À §EÀ §GÀ §TÀ §|À §ËÀ §ÐÀ §ÒÀ §ßÀ §óÀ ¨À ¨#À ¨(À ¨+À ¨-À ¨uÀ ¨¯À ¨ÞÀ ¨ôÀ ©!À ©ZÀ ©aÀ ©fÀ ©hÀ ©šÀ ©¡À ©ÕÀ ©ñÀ ©óÀ ª%À ª,À ª\À ªrÀ ªŒÀ ª¡À ª¨À ªÀÀ ªØÀ ªêÀ ªïÀ ªòÀ ªôÀ «?À «ŽÀ ¬À ¬dÀ ¬fÀ ¬•À ¬—À ¬ãÀ ¬üÀ ­À ­KÀ ­~À ­«À ­ôÀ ®À ®$À ®+À ®[À ®µÀ ®ùÀ ¯.À ¯EÀ ¯JÀ ¯MÀ ¯OÀ ¯À ¯˜À ¯µÀ ¯ÛÀ °À °+À °AÀ °IÀ °�À °�À °åÀ ±BÀ ±IÀ ±ŸÀ ±òÀ ²À ²YÀ ²gÀ ²¢À ²©À ²®À ²°À ²ÊÀ ²éÀ ²ëÀ ³8À ³XÀ ³†À ³ˆÀ ³­À ³¯À ³¼À ³ØÀ ³ñÀ ´À ´	À ´À ´$À ´&À ´3À ´QÀ ´xÀ ´}À ´À ´ŒÀ ´§À ´ãÀ µÀ µZÀ µ“À µ±À µ¸À µÑÀ µÖÀ µØÀ ¶"À ¶jÀ ¶‡À ¶ÕÀ ·4À ·UÀ ·yÀ ·€À ·¾À ¸À ¸<À ¸”À ¸ÐÀ ¸îÀ ¸þÀ ¹À ¹!À ¹(À ¹hÀ ¹ŠÀ ¹½À ¹ÄÀ ¹ñÀ ¹öÀ ¹ù   DraggableScrollableControllerDraggableScrollableSheetDraggableScrollableNotification_DraggableSheetExtent_DraggableScrollableSheetState)_DraggableScrollableSheetScrollController'_DraggableScrollableSheetScrollPositionDraggableScrollableActuator!_DraggableScrollableActuatorState_ResetNotifier_InheritedResetNotifier_SnappingSimulation  ù