MbuildContenttitle_previousTitlepreviousTitledisposedidChangePreviouskTransitionDurationtransitionDurationbarrierColorbarrierLabelcanTransitionTocanTransitionFrom	buildPage_startPopGesturebuildPageTransitionsbuildTransitionsdelegatedTransitionbuildermaintainState
debugLabel_pagefullscreenDialogchildallowSnapshottingcreateRouteprimaryRouteAnimationsecondaryRouteAnimationlinearTransitioncreateState_primaryPositionAnimation_secondaryPositionAnimation_primaryShadowAnimation_primaryPositionCurve_secondaryPositionCurve_primaryShadowCurve	initStatedidUpdateWidget_disposeCurve_setupAnimationbuildenabledCallbackonStartPopGesture_backGestureController_recognizer_handleDragStart_handleDragUpdate_handleDragEnd_handleDragCancel_handlePointerDown_convertToLogical
controller	navigatorgetIsActivegetIsCurrent
dragUpdatedragEndkTween_colorslerplerpFromlerpTocreateBoxPainter==hashCodedebugFillProperties_decorationpaint_barrierDismissible_semanticsDismissiblebarrierDismissiblesemanticsDismissibleanchorPointcreateSimulation_offsetTweentransitionBuilder_fadeAnimation_dialogScaleTween_kBackGestureWidth_kMinFlingVelocity#_kDroppedSwipePageAnimationDuration%_kCupertinoPageTransitionBarrierColorkCupertinoModalBarrierColor_kModalPopupTransitionDuration_kRightMiddleTween_kMiddleLeftTween_kBottomUpTweenCupertinoRouteTransitionMixinCupertinoPageRoute_PageBasedCupertinoPageRouteCupertinoPageCupertinoPageTransition_CupertinoPageTransitionState#CupertinoFullscreenDialogTransition)_CupertinoFullscreenDialogTransitionState_CupertinoBackGestureDetector"_CupertinoBackGestureDetectorState_CupertinoBackGestureController_CupertinoEdgeShadowDecoration_CupertinoEdgeShadowPainter_kStandardStiffness_kStandardDamping_kStandardSpring_kStandardToleranceCupertinoModalPopupRouteshowCupertinoModalPopup _buildCupertinoDialogTransitionsshowCupertinoDialogCupertinoDialogRoute�ImageFilterdoubleDurationmillisecondsColorCupertinoDynamicColorwithBrightnesscolor	darkColor
AnimatableOffsetTweenbeginendzero	PageRouteMaterialRouteTransitionMixinT	protectedWidgetBuildContextCupertinoNavigationBarCupertinoSliverNavigationBarStringValueNotifierValueListenable	NavigatorValueListenableBuilder_previousTitleoverridevoiddisposeRoutedynamictitlevaluedidChangePreviouskTransitionDurationfullscreenDialogboolTransitionRoute
ModalRoutedelegatedTransition	AnimationbuildContent	SemanticsscopesRouteexplicitChildNodeschildpopGestureEnabled	navigatorgetIsCurrent	isCurrentgetIsActiveisActive
controllerbuildTransitionsTargetPlatformiOSCupertinoPageTransitionsBuilderPageTransitionsBuilderPageTransitionsThemepopGestureInProgressprimaryRouteAnimationsecondaryRouteAnimationlinearTransitionenabledCallbackonStartPopGesture_startPopGesturebuildPageTransitionspopMaterialPageRouteCupertinoPageScaffoldCupertinoTabScaffoldPageopaqueDelegatedTransitionBuilderWidgetBuilder
debugLabelsettingsnamepagemaintainStatetransitionDelegateRouteTransitionRecord
markForPopTransitionDelegateresolveallowSnapshottingStatefulWidgetCurvedAnimationparentcurveCurveslinearToEaseOutreverseCurveeaseInToLineardrivedebugCheckHasDirectionalityTextDirectionDirectionalityofSlideTransitionpositiontextDirectiontransformHitTestsState
Decoration	initStatedidUpdateWidgetwidgetfastEaseInToSlowEaseOutflippedkTweenDecoratedBoxTransition
decorationValueGetterHorizontalDragGestureRecognizer
debugOwneronStartonUpdateonEndonCancelWidgetsBindinginstanceaddPostFrameCallbackmounteddidStopUserGestureDragStartDetailsDragUpdateDetails
dragUpdateprimaryDeltacontextsizewidthDragEndDetailsdragEndvelocitypixelsPerSeconddxPointerDownEvent
addPointerrtlltr
MediaQuery	paddingOfrightleftStackfitStackFitpassthroughchildrenPositionedDirectionalstartmaxtopbottomListeneronPointerDownbehaviorHitTestBehaviortranslucentdidStartUserGestureAnimationControllerNavigatorStateCurveabs	animateTodurationisAnimatinganimateBackAnimationStatusListenerAnimationStatusremoveStatusListeneraddStatusListenerDecorationTween_CupertinoColorstransparentList	identical_colorsmaplerptoListlengthintiVoidCallback	onChangedObjectruntimeTypehashCodeDiagnosticPropertiesBuilderdebugFillPropertiesaddIterableProperty
BoxPainterCanvasImageConfigurationheightPaintshadowDirectiondrawRectRectfromLTWHdySpringDescriptionmass	stiffnessdamping	ToleranceRouteSettingsDisplayFeatureSubScreenDisplayFeatureCupertinoActionSheet
PopupRouteModalBarrierStatefulBuilder
SimulationdebugTransitionCompletedforwardSpringSimulation	tolerance	snapToEndCupertinoUserInterfaceLeveldataCupertinoUserInterfaceLevelDataelevatedanchorPointBuilderbuilderAlign	alignment	AlignmentbottomCenterFractionalTranslationtranslationevaluaterequestFocusrestorablePushrestorablePushNamedRestorationManagerCupertinoApprestorationScopeIdCupertinoButtonFuturerootNavigatoruseRootNavigatorpushfilterbarrierColorbarrierDismissiblesemanticsDismissiblerouteSettingsCupertinoAlertDialog
showDialogshowGeneralDialogbarrierLabelDialogCupertinoLocalizationsmodalBarrierDismissLabelRawDialogRoutepageBuildertransitionBuilderRouteTransitionsBuilderstatusreverseFadeTransitionopacityScaleTransitionscale		PageRouteCupertinoRouteTransitionMixinPageStatefulWidgetState
Decoration
BoxPainter
PopupRouteRawDialogRouteh{D¤2°yzrñú‹-¶M  
  ‚   	dart:math‚'‚7ImageFilter ‚   dart:ui  ‚=   package:flutter/foundation.dart  ‚h   package:flutter/gestures.dart  ‚‘   package:flutter/physics.dart  ‚¹   package:flutter/rendering.dart  ‚ã   package:flutter/widgets.dart  ƒ   colors.dart  ƒ$   interface_level.dart  ƒD   localizations.dartÀ vŽ À ÞÉ† =€ˆ€§€©€Ä€É€ú�+�0�L�k�Š�ª�Ð�õ�ÿ‚‚‚:‚<‚g‚�‚¸‚âƒ
ƒƒ#ƒCƒaƒcƒŒƒÑƒÓ„„r„t„Ã„Õ„Ú… …@…E…�…Þ†#†(†W†Ÿ†¡†Ó†Ø‡‡l‡‰‡ª‡®‡°‡õˆCˆEˆ€ˆ¾ˆàˆõˆùˆû‰9‰v‰�‰´‰¸‰º‰îŠ)ŠKŠ`ŠdŠfŠ°ŠÂŠÇ‹‹Z‹�‹¢‹ðŒŒ(Œ-Œ<ŒAŒˆŒÄ��N����»�½ŽŽ,Ž3ŽmŽ¸ŽÝŽó�	��6�8�v�}�Ë��b�i�¹‘‘+‘2‘C‘J‘–‘Ä‘ô’’ ’t’|’™’ž’ ’­’Á’á’÷’ü’þ““F“o“Å“è”-”;”o”v”£”¨”ª”Ö”Ý••Z•\•i•¤•¦•³–––!–F–H–U–“–æ——W—Y—ª—÷˜˜=˜‹˜�˜Ý™&™N™ª™¯™±™¾ššZš—šœšžš«šÀšÛšý›(›/›`›²›·›¹œœWœjœÁœçœé��=�i�“�Í�Õ�Ú�Üž(žqžxž®žµžôŸBŸ�Ÿ­Ÿ´ŸÅŸÌ  _ ‰ ¢ ½ ß¡
¡¡$¡o¡�¡˜¡æ¢¢C¢f¢™¢Ä¢ú£'£>£H£V£}£¨£Þ¤¤=¤x¤¸¤Ñ¤Ý¤ç¤î¤ó¤õ¥¥¥9¥[¥†¥™¥ ¥ú¥ÿ¦¦¦O¦T¦’¦—¦æ§8§W§\§®§û¨¨¨r¨¹¨¾¨Í¨Ò©$©B©‡©°ªª!ªmª‘ªÎ«(«d«k«¼«Ì«ä¬ ¬¬&¬?¬_¬|¬¡¬È¬Ð¬å¬ê¬ì¬ù­3­g­i­š­º­¼­É®®®®2®4®A®^®`®m®²®µ®·®ç®ë¯<¯n¯Ò°4°S°h°m°o°|°¶±±±E±G±T±‘±“± ±Å±Ç±Ô²²²²M²O²\²ž²¡²£²Û²à³³#³t³½³ë³ð´B´�´Åµµµ&µ+µrµœµ½µÖµð¶¶!¶E¶i¶|¶•¶¥¶¶¶Ì¶æ¶í¶ï·3·J·L·’·ª·¬·å¸¸¸?¸_¸a¸£¸Ä¸Æ¸Ó¹¹b¹g¹j¹l¹¢¹§ºº?ºwº¤º«ºÎºÞ»»4»N»s»z»|»­»Ä»Æ¼¼@¼r¼t¼Ä½½:½<½‰½¿½ß½á¾3¾A¾H¾|¾£¾¾¾à¿¿(¿<¿C¿{¿ž¿Ä¿ð¿øÀ @VÀ @pÀ @rÀ @¥À @êÀ AÀ A4À AYÀ AzÀ A�À A—À AœÀ AžÀ A«À AÿÀ BÀ BÀ BRÀ B‹À BÀÀ BúÀ C1À CpÀ C§À CíÀ DÀ DaÀ DŽÀ D´À DÝÀ DßÀ DìÀ EÀ EÀ E2À E7À E9À EFÀ E�À E´À F À FPÀ F’À FªÀ FÄÀ FËÀ FÐÀ FÒÀ FßÀ FóÀ G	À GÀ G$À G&À G@À GgÀ G�À GµÀ GØÀ GýÀ HÀ H#À H%À HAÀ HfÀ H–À HÅÀ HõÀ I4À I>À IpÀ I¡À IÉÀ I÷À JÀ J/À J^À J†À J�À J—À J÷À KÀ KÀ K€À KšÀ K¢À KþÀ L,À L4À L9À L;À LHÀ LpÀ L£À LèÀ MÀ M3À MXÀ MyÀ M˜À MÆÀ MíÀ NOÀ NYÀ NaÀ NfÀ NiÀ NkÀ N¯À N´À OÀ O#À OgÀ OµÀ O¼À OëÀ OûÀ P%À PQÀ PkÀ P�À P—À P™À PçÀ QÀ QEÀ QGÀ Q—À QÙÀ RÀ RÀ R\À R’À R²À R´À RåÀ RüÀ RþÀ SÀ SJÀ S~À S�À SƒÀ SéÀ T#À TXÀ TZÀ T•À TÌÀ TÎÀ UÀ U@À UBÀ UŒÀ U¹À U»À UÈÀ UÞÀ UöÀ VÀ VÀ VÀ V"À VuÀ VœÀ VèÀ W8À WzÀ W’À W¬À W³À W¸À WºÀ WÇÀ WÛÀ WñÀ XÀ XÀ XÀ X(À XOÀ XxÀ X›À XÀÀ XÅÀ XÇÀ XãÀ Y.À Y_À Y‰À YÜÀ ZÀ ZMÀ ZYÀ Z{À Z·À ZåÀ [À [VÀ [„À [¸À [ÈÀ [ìÀ [ñÀ [óÀ \ À \(À \[À \ À \½À \ëÀ ]À ]1À ]ŠÀ ]’À ]—À ]šÀ ]œÀ ]ßÀ ]äÀ ^1À ^zÀ ^¯À ^´À ^üÀ _À _"À _sÀ _�À _ÑÀ _úÀ `
À `.À `TÀ `nÀ `uÀ `wÀ `ŽÀ `�À `¼À `¾À a
À aÀ aÀ a|À aÀ a�À aàÀ bÀ b!À bVÀ bXÀ beÀ b{À b“À b¦À báÀ c	À c3À cWÀ c‚À c‡À c‰À c–À cªÀ cÆÀ cÈÀ dÀ dAÀ d{À d¾À eÀ eÀ e4À e?À eFÀ e\À eaÀ ecÀ e˜À e®À eÛÀ fÀ fÀ fÀ fSÀ fiÀ f–À f¿À gÀ gÀ gÀ gÀ gFÀ g\À g‰À g¯À hÀ hÀ h0À h5À h7À hUÀ hkÀ hÀÀ håÀ iÀ i4À i9À i;À ipÀ i•À i»À iÂÀ iÇÀ iÉÀ iõÀ j'À jKÀ jnÀ jvÀ j{À j}À jŠÀ j²À jåÀ k4À kPÀ k˜À kÙÀ lÀ l!À l4À lVÀ lqÀ lˆÀ l¨À l¿À lùÀ mÀ m&À mŒÀ m˜À m¢À mªÀ m¯À m²À m´À måÀ mêÀ n;À nŒÀ nÜÀ oÀ oÀ omÀ o‹À o�À oáÀ p	À p5À ppÀ p•À p³À pÒÀ pòÀ qÀ qÀ qAÀ qFÀ qHÀ qqÀ q”À q¼À qåÀ qçÀ r3À rPÀ rsÀ r“À r˜À ršÀ rèÀ sÀ s7À scÀ skÀ s»À sÏÀ tÀ t=À t]À t_À tvÀ tÅÀ uÀ ueÀ u·À v À v@À vgÀ vŸÀ vóÀ wFÀ wlÀ w“À w¡À wÑÀ wØÀ wÚÀ wõÀ xÀ x À xXÀ xxÀ x‚À x�À x¨À xøÀ yÀ yÀ yÀ yrÀ y—À y¸À yÈÀ zÀ z$À z0À z9À z@À zBÀ zeÀ z³À {À {/À {lÀ {¨À {ÑÀ |À |À |\À |jÀ |‘À |˜À |�À | À |¢À |óÀ }DÀ }ŠÀ }ÅÀ ~ À ~À ~6À ~ˆÀ ~ºÀ À KÀ SÀ YÀ [À ¤À ¶À ¼À €
À €CÀ €IÀ €tÀ €zÀ €ÊÀ €ÛÀ €úÀ €üÀ �HÀ �NÀ �›À �åÀ ‚0À ‚|À ‚ÊÀ ƒÀ ƒgÀ ƒ«À ƒ±À „ À „ À „&À „6À „<À „XÀ „ˆÀ „°À „ØÀ „çÀ „îÀ …
À …À …"À …8À …YÀ …hÀ …—À …òÀ † À †À †À †=À †LÀ †{À †ÛÀ †éÀ †ðÀ ‡%À ‡uÀ ‡ÄÀ ˆ!À ˆWÀ ˆºÀ ˆÃÀ ˆÈÀ ˆÊÀ ˆ×À ‰À ‰MÀ ‰�À ‰”À ‰ÕÀ ‰ÚÀ ‰ÜÀ ‰éÀ Š-À Š]À Š�À Š¤À ŠåÀ ŠêÀ ŠìÀ ŠùÀ ‹FÀ ‹€À ‹…À ‹‡À ‹”À ‹¸À ‹åÀ ‹úÀ ŒÀ ŒRÀ ŒWÀ ŒYÀ ŒfÀ Œ�À Œ‘À ŒžÀ ŒäÀ �À �QÀ �VÀ �YÀ �[À �¨À �àÀ Ž"À ŽpÀ ŽrÀ Ž§À Ž©À Ž¶À �À �<À �WÀ �fÀ �mÀ �oÀ �½À �ÎÀ �ÖÀ �îÀ �9À �`À �jÀ �rÀ �ÄÀ ‘À ‘^À ‘®À ‘ÿÀ ’KÀ ’rÀ ’zÀ ’ÉÀ “À “YÀ “§À “øÀ ”5À ”7À ”\À ”žÀ ”ÛÀ •À •À •eÀ •‰À •×À –À –LÀ –TÀ –VÀ –sÀ –¦À –ÖÀ –ôÀ –ýÀ —À —+À —BÀ —_À —ŠÀ —¹À —êÀ —ÿÀ ˜5À ˜ŠÀ ˜‘À ˜–À ˜™À ˜›À ˜ÐÀ ˜ÔÀ ™À ™fÀ ™µÀ ™ÿÀ š+À šYÀ š˜À š¤À šÇÀ šæÀ šêÀ ›:À ›„À ›ÓÀ œÀ œÀ œoÀ œÀÀ �À �À �ZÀ �\À �¤À �¿À �ÄÀ žÀ žDÀ žIÀ ž›À žÜÀ Ÿ À Ÿ%À ŸwÀ ŸÇÀ  À  CÀ  �À  ”À  ãÀ ¡À ¡"À ¡lÀ ¡´À ¡¹À ¢À ¢À ¢À ¢KÀ ¢PÀ ¢_À ¢dÀ ¢¬À ¢íÀ £9À £UÀ £¶À £ñÀ ¤;À ¤XÀ ¤vÀ ¤’À ¤¶À ¤ìÀ ¥À ¥9À ¥LÀ ¥aÀ ¥zÀ ¥‘À ¥ÃÀ ¥ùÀ ¥ûÀ ¦LÀ ¦SÀ ¦£À ¦ªÀ ¦üÀ §NÀ §�À §ÈÀ §èÀ §êÀ ¨À ¨À ¨4À ¨6À ¨CÀ ¨aÀ ¨cÀ ¨pÀ ¨ŽÀ ¨�À ¨�À ¨ÔÀ ¨ÖÀ ¨ãÀ ©À © À ©-À ©sÀ ©uÀ ©¹À ©×À ©ÙÀ ©æÀ ª À ª}À ªªÀ ªÈÀ ªáÀ ªûÀ «À «À «8À «PÀ «XÀ «]À «_À «lÀ «�À «œÀ «¾À «éÀ «ðÀ ¬À ¬PÀ ¬³À ¬»À ¬ÀÀ ¬ÂÀ ¬ÏÀ ¬ëÀ ­À ­(À ­SÀ ­fÀ ­mÀ ­€À ­ªÀ ®À ®À ®À ®À ®WÀ ®{À ®’À ®˜À ®›À ®�À ®îÀ ®óÀ ¯CÀ ¯sÀ ¯xÀ ¯ÆÀ °À °TÀ °YÀ °«À °ûÀ ±+À ±0À ±À ±¹À ±¾À ²À ²^À ²yÀ ²~À ²ÈÀ ³À ³À ³aÀ ³uÀ ³zÀ ³ÈÀ ´À ´^À ´žÀ ´éÀ µÀ µÀ µUÀ µtÀ µ¯À µ´À µáÀ µæÀ ¶,À ¶\À ¶aÀ ¶†À ¶‹À ¶ÜÀ ·)À ·rÀ ·wÀ ·ÄÀ ·ÉÀ ·ÞÀ ¸.À ¸tÀ ¸ÃÀ ¹À ¹À ¹DÀ ¹IÀ ¹£À ¹´À ¹¹À ¹ÈÀ ¹ÍÀ ºÀ ºVÀ º¢À ºÛÀ »<À »eÀ »‡À »ªÀ »ÂÀ »÷À ¼À ¼;À ¼aÀ ¼‚À ¼šÀ ¼±À ¼·À ¼þÀ ½ À ½9À ½PÀ ½›À ½ÊÀ ½ýÀ ¾À ¾>À ¾aÀ ¾iÀ ¾oÀ ¾rÀ ¾tÀ ¾žÀ ¾·À ¾×À ¿ À ¿À ¿À ¿'À ¿*À ¿,À ¿zÀ ¿ÆÀ ÀÀ À(À À-À À‚À ÀÔÀ Á#À ÁtÀ Á¾À ÁÃÀ ÂÀ Â_À Â¡À Â¦À ÂôÀ ÃDÀ Ã’À ÃÄÀ ÃÉÀ ÃüÀ Ä7À Ä<À ÄiÀ ÄnÀ Ä¿À ÅÀ ÅNÀ ÅSÀ Å¢À ÅÓÀ ÅØÀ ÅþÀ ÆÀ ÆUÀ Æ£À ÆèÀ ÆíÀ Ç:À Ç?À ÇTÀ Ç§À ÇåÀ È4À È{À È€À È±À È¶À ÉÀ ÉÀ É!À É0À É5À ÉpÀ É®À ÉÿÀ ÊGÀ ÊˆÀ ÊØÀ ÊýÀ ËÀ ËBÀ Ë[À ËsÀ Ë”À Ë¸À ËÙÀ ËñÀ ÌÀ ÌÀ ÌXÀ ÌvÀ Ì�À Ì¨À Ì×À ÌúÀ ÍÀ Í=À Í^À Í�À Í‰À Í�À Í’À Í”À ÍÈÀ ÍÍÀ ÎÀ Î\À ÎœÀ Î¡À ÎðÀ Ï:À Ï‰À ÏÓÀ ÐÀ Ð À ÐOÀ ÐšÀ ÐäÀ Ñ5À Ñ:À ÑŒÀ ÑàÀ ÑåÀ Ò0À ÒwÀ ÒÀÀ ÒÅÀ Ó
À Ó,À Ó1À Ó^À ÓcÀ ÓrÀ ÓwÀ Ó°À ÓÎÀ ÔÀ ÔWÀ ÔŸÀ ÔàÀ ÕÀ ÕQÀ ÕkÀ Õ�À Õ´À ÕÓÀ ÕíÀ ÖÀ ÖJÀ Ö�À ÖªÀ Ö¿À ÖØÀ ÖðÀ ÖÿÀ ×À ×:À ×cÀ ×•À ×£À ×ÈÀ ×ÕÀ Ø)À ØŽÀ Ø¦À Ù	À ÙÀ ÙÀ Ù7À ÙfÀ ÙhÀ ÙŒÀ ÙŽÀ Ù›À ÙÕÀ Ú2À Ú_À Ú}À Ú–À Ú°À Ú¼À ÚÆÀ ÚíÀ ÛÀ ÛÀ ÛÀ ÛÀ Û!À Û=À ÛXÀ ÛzÀ Û¥À Û¸À Û¿À ÛåÀ Ü:À ÜAÀ ÜCÀ Ü{À Ü»À ÜÂÀ ÜÞÀ ÜùÀ ÝQÀ ÝYÀ Ý^À Ý`À ÝmÀ Ý�À Ý¡À Ý·À Ý¼À Ý¾À ÞÀ Þ\À ÞoÀ ÞÆÀ ÞÉ   �@/// @docImport 'dart:ui';
///
/// @docImport 'package:flutter/material.dart';
/// @docImport 'package:flutter/services.dart';
///
/// @docImport 'app.dart';
/// @docImport 'button.dart';
/// @docImport 'dialog.dart';
/// @docImport 'nav_bar.dart';
/// @docImport 'page_scaffold.dart';
/// @docImport 'tab_scaffold.dart';
‚   ‚  ‚'‚7‚<   ‚g   ‚�   ‚¸   ‚â   ƒ   ƒ#   ƒC     ¦ˆ¯ªÔªÔ„¯/// A modal route that replaces the entire screen with an iOS transition.
///
/// {@macro flutter.cupertino.cupertinoRouteTransitionMixin}
///
/// By default, when a modal route is replaced by another, the previous route
/// remains in memory. To free all the resources when this is not necessary, set
/// [maintainState] to false.
///
/// The type `T` specifies the return type of the route which can be supplied as
/// the route is popped from the stack via [Navigator.pop] when an optional
/// `result` can be provided.
///
/// If `barrierDismissible` is true, then pressing the escape key on the keyboard
/// will cause the current route to be popped with null as the value.
///
/// See also:
///
///  * [CupertinoRouteTransitionMixin], for a mixin that provides iOS transition
///    for this modal route.
///  * [MaterialPageRoute], for an adaptive [PageRoute] that uses a
///    platform-appropriate transition.
///  * [CupertinoPageScaffold], for applications that have one page with a fixed
///    navigation bar on top.
///  * [CupertinoTabScaffold], for applications that have a tab bar at the
///    bottom with multiple pages.
///  * [CupertinoPage], for a [Page] version of this class.ªçªçªç«*�¾«Î «Î«à €—/// Creates a page route for use in an iOS designed app.
///
/// The [builder], [maintainState], and [fullscreenDialog] arguments must not
/// be null.«è«÷«ö  ¬
¬
¬	  ¬¬¬  ¬*¬1¬0  ¬C¬I¬H  ¬c¬j¬i  ¬€¬‡¬†  ¬¥ ¬¬¬«  ¬X¬š¬À­kL­°­°-/// Builds the primary contents of the route. ® ®*®* ®®®6%®N®N ®6®7¬îw­­   ¬î¬ï®bN®z®z   ®b®c ­¾K­Ò­Ò  ­ß­í­ì  ­¾­¿ ¯nƒ1¯t¯t ¯‘¯‘¯‘¯Ô€—¯Ô ¯Ô¯ð  ¯ò°°  °°°  °,°:°?°N°H°@°J °q€‘°ž°ž   °q°r±;±±    ±•.±®±®   ±•±–±É;±ß±ß   ±É±Ê²
A² ²    ²
²²QK²i²i   ²Q²R ±IF±]±]  ±j±x±w  ±I±J ²£†Åµxµx‚¾/// A page that creates a cupertino style [PageRoute].
///
/// {@macro flutter.cupertino.cupertinoRouteTransitionMixin}
///
/// By default, when a created modal route is replaced by another, the previous
/// route remains in memory. To free all the resources when this is not
/// necessary, set [maintainState] to false.
///
/// The type `T` specifies the return type of the route which can be supplied as
/// the route is popped from the stack via [Navigator.transitionDelegate] by
/// providing the optional `result` argument to the
/// [RouteTransitionRecord.markForPop] in the [TransitionDelegate.resolve].
///
/// See also:
///
///  * [CupertinoPageRoute], for a [PageRoute] version of this class.µ†µ†µ†µž�MµÅ µÅµÒ /// Creates a cupertino page.µÚµéµè  µôµúµù  ¶
¶¶  ¶%¶+¶*  ¶I¶O¶N  ¶m¶t¶s  ¶€¶‡¶†  ¶™	¶ ¶Ÿ  ¶©
¶°¶¯  ¶º¶Á¶À  ¶Ð¶×¶Ö  ¶	¶=¶b¶ñV·B·B@/// The content to be shown in the [Route] created by this page. ·NY·¢·¢B/// {@macro flutter.cupertino.CupertinoRouteTransitionMixin.title} ·®Q·ò·ò5/// {@macro flutter.widgets.ModalRoute.maintainState} ¸V¸L¸L7/// {@macro flutter.widgets.PageRoute.fullscreenDialog} ¸c^¸°¸°>/// {@macro flutter.widgets.TransitionRoute.allowSnapshotting}   ¸È€�¸Þ¸Þ  ¸ê¸ø¸÷  ¸È¸É ¹lˆ”ºEºE€Î/// Provides an iOS-style page transition animation.
///
/// The page slides in from the right and exits in reverse. It also shifts to the left in
/// a parallax motion when another page enters to cover it. ºy€ÿº³ º³ºÊ -/// Creates an iOS-style page transition.
///ºÒ	ºÙºØ  ºâ#ºñºð  »%»»  »8»G»F  »R»a»`   »~C»¼»¼-/// The widget below this widget in the tree. »È€§¼Z¼Zs///  * `primaryRouteAnimation` is a linear route animation from 0.0 to 1.0
///    when this screen is being pushed. ¼v€Á½ ½ €‹///  * `secondaryRouteAnimation` is a linear route animation from 0.0 to 1.0
///    when another screen is being pushed on top of this one. ½>€ž½Ì½Ì|///  * `linearTransition` is whether to perform the transitions linearly.
///    Used to precisely track back gesture drags.   ½ãƒ·¾�¾�€Ž/// The Cupertino styled [DelegatedTransitionBuilder] provided to the previous
/// route.
///
/// {@macro flutter.widgets.delegatedTransition} ¾§¾µ¾´  ¾Â¾Õ¾Ô  ¾ä$¾÷¾ö  ¿¿¿  ¿,¿5¿4   À A ]À AÌÀ AÌ   À A À A¡ À BŒcÀ B
À B
   À B�0À B¤À B¤  À Bü2À CÀ C  À Cr2À C�À C�  À Cï&À D À D   À Dc(À DtÀ Dt  À D¶$À DÇÀ DÇ    À DáTÀ DóÀ Dó   À DáÀ DâÀ E;�“À EMÀ EM  À E]+À E€À E  À E;À E<À FÔNÀ FæÀ Fæ   À FÔÀ FÕÀ G(€ùÀ G-À G-    À H'„À H,À H,    À L=‚'À LQÀ LQ  À LWÀ LeÀ Ld  À L=À L> À Nk…À O)À O)€³/// An iOS-style transition used for summoning fullscreen dialogs.
///
/// For example, used when creating a new calendar event by bringing in the next
/// screen from the bottom. À Oi�,À OÄ À OÄÀ Oç N/// Creates an iOS-style transition used for summoning fullscreen dialogs.
///À Oï	À OöÀ Oõ  À Oÿ#À PÀ P  À P)%À P8À P7  À PUÀ PdÀ Pc  À PoÀ P~À P}   À P›€§À Q-À Q-s///  * `primaryRouteAnimation` is a linear route animation from 0.0 to 1.0
///    when this screen is being pushed. À QI€ÁÀ QóÀ Qó€‹///  * `secondaryRouteAnimation` is a linear route animation from 0.0 to 1.0
///    when another screen is being pushed on top of this one. À R€žÀ RŸÀ RŸ|///  * `linearTransition` is whether to perform the transitions linearly.
///    Used to precisely track back gesture drags. À R¶CÀ RôÀ Rô-/// The widget below this widget in the tree.   À S |À S8À S8   À S À S À SƒŠÀ S‰À S‰   À SëjÀ T<À T<6/// When this page is coming in to cover another page. À T\mÀ T®À T®7/// When this page is becoming covered by another page. À TÐmÀ U(À U(C/// Curve of primary page which is coming in to cover another page. À UDrÀ UŸÀ UŸF/// Curve of secondary page which is becoming covered by another page.   À U½TÀ UÏÀ UÏ   À U½À U¾À V�ŸÀ V)À V)  À V97À VhÀ Vg  À VÀ VÀ W¼NÀ WÎÀ WÎ   À W¼À W½À X€³À XÀ X    À XÉƒ&À XÎÀ XÎ    À [õ� À \	À \	  À \À \À \  À [õÀ [ö À ]œƒáÀ _–À _–�è/// This is the widget side of [_CupertinoBackGestureController].
///
/// This widget provides a gesture recognizer which, when it determines the
/// route can be closed with a back gesture, creates the controller and
/// feeds it the input from the gesture recognizer.
///
/// The gesture data is converted from absolute coordinates to logical
/// coordinates by this widget.
///
/// The type `T` specifies the return type of the route with which this gesture
/// detector is associated.À _´À _´À _´À _Ó€ À _Ù À _ÙÀ _ö  À _þ	À `À `  À `À `À `  À `2À `AÀ `@  À `XÀ `gÀ `f   À `yÀ `†À `†  À `’'À `ªÀ `ª  À `ÀGÀ `öÀ `ö    À alÀ aAÀ aA   À aÀ a À a�Œ/À a‡À a‡ À aªÀ aªÀ aª À aâ:À bÀ b  À b#0À bHÀ bH    	À bZ�+À blÀ bl   À bZÀ b[À c‹�ÔÀ c�À c�   À c‹À cŒÀ ee€³À ejÀ ej  À e{À e�À eŒ   À f€óÀ f#À f#  À f5À fHÀ fG   À g�À gÀ g  À g+À g;À g:   À h9€þÀ h>À h>    À i=€ˆÀ iBÀ iB  À iUÀ igÀ if   À iË€®À iÒÀ iÒ  À iäÀ iìÀ ië   À jƒ.À j“À j“  À j™À j§À j¦  À jÀ j€ À m´ŽêÀ pÀ p‚H/// A controller for an iOS-style back gesture.
///
/// This is created by a [CupertinoPageRoute] in response from a gesture caught
/// by a [_CupertinoBackGestureDetector] widget, which then also feeds it input
/// from the gesture. It controls the animation controller owned by the route,
/// based on the input provided by the gesture detector.
///
/// This class works entirely in logical coordinates (0.0 is new page dismissed,
/// 1.0 is new page on top).
///
/// The type `T` specifies the return type of the route with which this gesture
/// detector controller is associated.À p/À p/À p/À p7�À pr À prÀ p‘ 7/// Creates a controller for an iOS-style back gesture.À p™À p¨À p§  À p·À pÆÀ pÅ  À pÖÀ påÀ pä  À pöÀ qÀ q   À qJ$À qdÀ qd  À qsÀ qˆÀ qˆ  À q–#À q®À q®  À q¾$À qÖÀ qÖ    À qé€­À rWÀ rWb/// The drag gesture has changed by [delta]. The total range of the drag
/// should be 0.0 to 1.0. À rbÀ rjÀ ri   À rœ‰ÿÀ sÀ ss/// The drag gesture has ended with a horizontal motion of [velocity] as a
/// fraction of screen width per second. À s#À s+À s*    À }Š�ÍÀ }�À }�  À }Ç7À }ÍÀ }ëÀ }ìÀ }íÀ }ì À }ïÀ }õÀ }ô   À ~�RÀ ~À ~ À ~$À ~3À UÀ ~?À ~:À ~AÀ ~GÀ ~eÀ ~fÀ ~gÀ ~hÀ ~�À ~ŒÀ ~‘À ~—À ~µÀ ~¶À ~·À OÀ À GÀ À À À À À )À À ,À ;À <À €ÝÀ €ðÀ €ð  À Œ[2À ŒpÀ Œp   À Œ[À Œ\ À „Z„lÀ „�À „�  À „Œ!À „­À „¬  À „´!À „ÕÀ „Ô  À „ÜÀ „äÀ „ã   À ˆÌ�À ˆøÀ ˆø  À ‰À ‰À ‰  À ‰À ‰À ‰  À ˆÌÀ ˆÍÀ ‰Þ�
À Š
À Š
  À ŠÀ ŠÀ Š  À Š À Š(À Š'  À ‰ÞÀ ‰ßÀ Šî€•À ‹À ‹  À ‹)À ‹8À ‹7  À ŠîÀ ŠïÀ ‹‰€ÌÀ ‹¤À ‹¤  À ‹§À ‹¯À ‹®  À ‹‰À ‹ŠÀ Œ“€ÁÀ Œ¥À Œ¥  À Œ¹&À ŒÖÀ ŒÕ  À Œ“À Œ” À �[‹<À �®À �®K/// A [BoxPainter] used to draw the page transition shadow using gradients. À �â€ŒÀ �â À �âÀ �ý  À �þÀ ŽÀ Ž  À ŽÀ ŽÀ Ž  À Ž(À Ž.À ŽlÀ ŽKÀ ŽCÀ Ž/À Ž:À Ž;À ŽFÀ ŽiÀ ŽNÀ ŽYÀ ŽZÀ ŽaÀ ŽbÀ ŽkÀ Žt0À Ž™À Ž™    À Ž«‰éÀ Ž½À Ž½  À ŽÃÀ ŽËÀ ŽÊ  À ŽÒÀ ŽÚÀ ŽÙ  À Žá À ŽõÀ Žô  À Ž«À Ž¬ À �\‘=À £¼À £¼†7/// A route that shows a modal iOS-style popup that slides up from the
/// bottom of the screen.
///
/// Such a popup is an alternative to a menu or a dialog and prevents the user
/// from interacting with the rest of the app.
///
/// It is used internally by [showCupertinoModalPopup] or can be directly pushed
/// onto the [Navigator] stack to enable state restoration. See
/// [showCupertinoModalPopup] for a state restoration app example.
///
/// The `barrierColor` argument determines the [Color] of the barrier underneath
/// the popup. When unspecified, the barrier color defaults to a light opacity
/// black scrim based on iOS's dialog screens. To correctly have iOS resolve
/// to the appropriate modal colors, pass in
/// `CupertinoDynamicColor.resolve(kCupertinoModalBarrierColor, context)`.
///
/// The `barrierDismissible` argument determines whether clicking outside the
/// popup results in dismissal. It is `true` by default.
///
/// The `semanticsDismissible` argument is used to determine whether the
/// semantics of the modal barrier are included in the semantics tree.
///
/// The `routeSettings` argument is used to provide [RouteSettings] to the
/// created Route.
///
/// {@macro flutter.widgets.RawDialogRoute}
///
/// See also:
///
///  * [DisplayFeatureSubScreen], which documents the specifics of how
///    [DisplayFeature]s can split the screen into sub-screens.
///  * [CupertinoActionSheet], which is the widget usually returned by the
///    `builder` argument.
///  * <https://developer.apple.com/design/human-interface-guidelines/ios/views/action-sheets/>À £ÕÀ £ÕÀ £ÕÀ £ó‚À ¤Z À ¤ZÀ ¤r `/// A route that shows a modal iOS-style popup that slides up from the
/// bottom of the screen.	À ¤zÀ ¤‰À ¤ˆ  À ¤–À ¤œÀ ¤›  À ¤º/À ¤ÀÀ ¤¿  À ¤ðÀ ¤öÀ ¤õ  À ¥!À ¥À ¥  À ¥=À ¥DÀ ¥C  À ¥PÀ ¥WÀ ¥V  À ¥eÀ ¥lÀ ¥k  À ¥~À ¥„À ¥ƒ  
À ¤ªÀ ¤ÎÀ ¥
À ¥1À ¥¬À ¥˜À ¥®À ¥àÀ ¥ÊÀ ¥âÀ ¥ý�èÀ §ÞÀ §Þ�´/// A builder that builds the widget tree for the [CupertinoModalPopupRoute].
///
/// The [builder] argument typically builds a [CupertinoActionSheet] widget.
///
/// Content below the widget is dimmed with a [ModalBarrier]. The widget built
/// by the [builder] does not share a context with the route it was originally
/// built from. Use a [StatefulBuilder] or a custom [StatefulWidget] if the
/// widget needs to update dynamically. À §ìÀ §÷À §÷  À ¨ À ¨À ¨  À ¨8&À ¨RÀ ¨R À ¨8À ¨9À ¨e&À ¨À ¨ À ¨eÀ ¨fÀ ©w]À ©ÉÀ ©É@/// {@macro flutter.widgets.DisplayFeatureSubScreen.anchorPoint} À ®xÀ ®8À ®8 À ®GÀ ®LÀ ®SÀ ®MÀ ®TÀ ®”À ®`À ®[À ®bÀ ®hÀ ®nÀ ®wÀ ®oÀ ®tÀ ®‚À ®À ®„À ®ŠÀ ®‹À ¨’@À ¨¨À ¨¨   À ¨’À ¨“À ¨ØDÀ ¨îÀ ¨î   À ¨ØÀ ¨ÙÀ ©"OÀ ©<À ©<   À ©"À ©# À ©Û�€À ©óÀ ©ó  À ªÀ ªÀ ª  À ©ÛÀ ©ÜÀ «a�]À «uÀ «u  À «…À «“À «’  À « À «³À «²  À «Â$À «ÕÀ «Ô  À «aÀ «bÀ ¬Ä�SÀ ¬ØÀ ¬Ø  À ¬ïÀ ¬ýÀ ¬ü  À ­
À ­À ­  À ­,$À ­?À ­>  À ­WÀ ­_À ­^  À ¬ÄÀ ¬Å À Í”‘3À ÔæÀ Ôæ‡&/// A dialog route that shows an iOS-style dialog.
///
/// It is used internally by [showCupertinoDialog] or can be directly pushed
/// onto the [Navigator] stack to enable state restoration. See
/// [showCupertinoDialog] for a state restoration app example.
///
/// This function takes a `builder` which typically builds a [Dialog] widget.
/// Content below the dialog is dimmed with a [ModalBarrier]. The widget
/// returned by the `builder` does not share a context with the location that
/// `showDialog` is originally called from. Use a [StatefulBuilder] or a
/// custom [StatefulWidget] if the dialog needs to update dynamically.
///
/// The `context` argument is used to look up
/// [CupertinoLocalizations.modalBarrierDismissLabel], which provides the
/// modal with a localized accessibility label that will be used for the
/// modal's barrier. However, a custom `barrierLabel` can be passed in as well.
///
/// The `barrierDismissible` argument is used to indicate whether tapping on the
/// barrier will dismiss the dialog. It is `true` by default and cannot be `null`.
///
/// The `barrierColor` argument is used to specify the color of the modal
/// barrier that darkens everything below the dialog. If `null`, then
/// [CupertinoDynamicColor.resolve] is used to compute the modal color.
///
/// The `settings` argument define the settings for this route. See
/// [RouteSettings] for details.
///
/// {@macro flutter.widgets.RawDialogRoute}
///
/// See also:
///
///  * [showCupertinoDialog], which is a way to display
///     an iOS-style dialog.
///  * [showGeneralDialog], which allows for customization of the dialog popup.
///  * [showDialog], which displays a Material dialog.
///  * [DisplayFeatureSubScreen], which documents the specifics of how
///    [DisplayFeature]s can split the screen into sub-screens.À ÔûÀ ÔûÀ ÔûÀ ÕƒõÀ ÕS À ÕSÀ Õg 2/// A dialog route that shows an iOS-style dialog.
À ÕoÀ Õ‡À Õ†  À Õ”À Õ«À Õª  À Õ¸À Õ¿À Õ¾  À Õ×À ÕßÀ ÕÞ  À ÕñÀ ÕúÀ Õù  À ÖN<À ÖUÀ ÖT  À Ö‘À Ö—À Ö–  À Ö®À ÖµÀ Ö´  À ÖÃÀ ÖÊÀ ÖÉ  À ÖÜÀ ÖãÀ Öâ  *À ÖiÀ ÖoÀ ÖwÀ Ö‰À Ö„À ÖxÀ Ö†À Ö÷À ÖüÀ ÙÀ ×À ×À ×À ×ÑÀ ×ïÀ ×ÞÀ ØÀ ×ñÀ ØÀ Ø>À Ø2À ØMÀ Ø@À ØPÀ ØfÀ ØgÀ ØiÀ ØqÀ ØjÀ ØrÀ ØsÀ Ø£À Ø—À ØÀÀ Ø³À ØÃÀ ØØÀ ØÙÀ ØàÀ ÙÀ ØáÀ ØþÀ ÙKÀ ÙRÀ ÙR/// Custom transition builder À ÙjÀ Ù{À Ù{  À ÞqRÀ ÞŒÀ ÞŒ À Þ À Þ¥À Þ¬À Þ¦À Þ­À ÞÂÀ Þ³À Þ®À ÞµÀ Þ½À ÞºÀ Þ¿  À Ù��€À Ù¨À Ù¨  À ÙºÀ ÙÉÀ ÙÈ  À Ù�À Ù‘À Û‚FÀ Û*À Û*  À ÛAÀ ÛOÀ ÛN  À Û\À ÛoÀ Ûn  À Û~$À Û‘À Û�  À Û©À Û±À Û°  À ÛÀ ÛÀ ÝbXÀ ÝtÀ Ýt   À ÝbÀ Ýc       À ®��ÓÀ »GÀ »GŒZ/// Shows a modal iOS-style popup that slides up from the bottom of the screen.
///
/// Such a popup is an alternative to a menu or a dialog and prevents the user
/// from interacting with the rest of the app.
///
/// The `context` argument is used to look up the [Navigator] for the popup.
/// It is only used when the method is called. Its corresponding widget can be
/// safely removed from the tree before the popup is closed.
///
/// The `barrierColor` argument determines the [Color] of the barrier underneath
/// the popup. When unspecified, the barrier color defaults to a light opacity
/// black scrim based on iOS's dialog screens.
///
/// The `barrierDismissible` argument determines whether clicking outside the
/// popup results in dismissal. It is `true` by default.
///
/// The `useRootNavigator` argument is used to determine whether to push the
/// popup to the [Navigator] furthest from or nearest to the given `context`. It
/// is `true` by default.
///
/// The `semanticsDismissible` argument is used to determine whether the
/// semantics of the modal barrier are included in the semantics tree.
///
/// The `routeSettings` argument is used to provide [RouteSettings] to the
/// created Route.
///
/// The `builder` argument typically builds a [CupertinoActionSheet] widget.
/// Content below the widget is dimmed with a [ModalBarrier]. The widget built
/// by the `builder` does not share a context with the location that
/// [showCupertinoModalPopup] is originally called from. Use a
/// [StatefulBuilder] or a custom [StatefulWidget] if the widget needs to
/// update dynamically.
///
/// The [requestFocus] parameter is used to specify whether the popup should
/// request focus when shown.
/// {@macro flutter.widgets.navigator.Route.requestFocus}
///
/// {@macro flutter.widgets.RawDialogRoute}
///
/// Returns a `Future` that resolves to the value that was passed to
/// [Navigator.pop] when the popup was closed.
///
/// ### State Restoration in Modals
///
/// Using this method will not enable state restoration for the modal. In order
/// to enable state restoration for a modal, use [Navigator.restorablePush]
/// or [Navigator.restorablePushNamed] with [CupertinoModalPopupRoute].
///
/// For more information about state restoration, see [RestorationManager].
///
/// {@tool dartpad}
/// This sample demonstrates how to create a restorable Cupertino modal route.
/// This is accomplished by enabling state restoration by specifying
/// [CupertinoApp.restorationScopeId] and using [Navigator.restorablePush] to
/// push [CupertinoModalPopupRoute] when the [CupertinoButton] is tapped.
///
/// {@macro flutter.widgets.RestorationManager}
///
/// ** See code in examples/api/lib/cupertino/route/show_cupertino_modal_popup.0.dart **
/// {@end-tool}
///
/// See also:
///
///  * [DisplayFeatureSubScreen], which documents the specifics of how
///    [DisplayFeature]s can split the screen into sub-screens.
///  * [CupertinoActionSheet], which is the widget usually returned by the
///    `builder` argument to [showCupertinoModalPopup].
///  * <https://developer.apple.com/design/human-interface-guidelines/ios/views/action-sheets/>À »_À »_À »_
À »gÀ »~À »}  À »‰À »¡À »   À »¬À »ºÀ »¹  À »Ä0À »ËÀ »Ê  À »ùÀ »ÿÀ »þ  À ¼À ¼"À ¼!  À ¼=!À ¼CÀ ¼B  À ¼cÀ ¼sÀ ¼r  À ¼„À ¼�À ¼Œ  À ¼œÀ ¼£À ¼¢  À »ÙÀ ¼À ¼4À ¼YÀ ¾t€´À ¾{À ¾{  À ¾ À ¾®À ¾­  À ¾¹À ¾ÌÀ ¾Ë  À ¾Ù$À ¾ìÀ ¾ë  À ¿À ¿
À ¿	   À ¿,ŽdÀ ÊãÀ Êã‹p/// Displays an iOS-style dialog above the current contents of the app, with
/// iOS-style entrance and exit animations, modal barrier color, and modal
/// barrier behavior (by default, the dialog is not dismissible with a tap on
/// the barrier).
///
/// This function takes a `builder` which typically builds a [CupertinoAlertDialog]
/// widget. Content below the dialog is dimmed with a [ModalBarrier]. The widget
/// returned by the `builder` does not share a context with the location that
/// [showCupertinoDialog] is originally called from. Use a [StatefulBuilder] or
/// a custom [StatefulWidget] if the dialog needs to update dynamically.
///
/// The `context` argument is used to look up the [Navigator] for the dialog.
/// It is only used when the method is called. Its corresponding widget can
/// be safely removed from the tree before the dialog is closed.
///
/// The `useRootNavigator` argument is used to determine whether to push the
/// dialog to the [Navigator] furthest from or nearest to the given `context`.
/// By default, `useRootNavigator` is `true` and the dialog route created by
/// this method is pushed to the root navigator.
///
/// {@macro flutter.material.dialog.requestFocus}
/// {@macro flutter.widgets.navigator.Route.requestFocus}
///
/// {@macro flutter.widgets.RawDialogRoute}
///
/// If the application has multiple [Navigator] objects, it may be necessary to
/// call `Navigator.of(context, rootNavigator: true).pop(result)` to close the
/// dialog rather than just `Navigator.pop(context, result)`.
///
/// Returns a [Future] that resolves to the value (if any) that was passed to
/// [Navigator.pop] when the dialog was closed.
///
/// ### State Restoration in Dialogs
///
/// Using this method will not enable state restoration for the dialog. In order
/// to enable state restoration for a dialog, use [Navigator.restorablePush]
/// or [Navigator.restorablePushNamed] with [CupertinoDialogRoute].
///
/// For more information about state restoration, see [RestorationManager].
///
/// {@tool dartpad}
/// This sample demonstrates how to create a restorable Cupertino dialog. This is
/// accomplished by enabling state restoration by specifying
/// [CupertinoApp.restorationScopeId] and using [Navigator.restorablePush] to
/// push [CupertinoDialogRoute] when the [CupertinoButton] is tapped.
///
/// {@macro flutter.widgets.RestorationManager}
///
/// ** See code in examples/api/lib/cupertino/route/show_cupertino_dialog.0.dart **
/// {@end-tool}
///
/// See also:
///
///  * [CupertinoAlertDialog], an iOS-style alert dialog.
///  * [showDialog], which displays a Material-style dialog.
///  * [showGeneralDialog], which allows for customization of the dialog popup.
///  * [DisplayFeatureSubScreen], which documents the specifics of how
///    [DisplayFeature]s can split the screen into sub-screens.
///  * <https://developer.apple.com/design/human-interface-guidelines/alerts/>À Ê÷À Ê÷À Ê÷	À ÊÿÀ ËÀ Ë  À Ë!À Ë9À Ë8  À ËDÀ ËMÀ ËL  À Ë]À ËeÀ Ëd  À ËuÀ Ë{À Ëz  À Ë–À ËœÀ Ë›  À ËºÀ ËÊÀ ËÉ  À ËÛÀ ËäÀ Ëã  À ËóÀ ËúÀ Ëù  À Ë�À Ë°  Šf›š��‚�/// A mixin that replaces the entire screen with an iOS transition for a
/// [PageRoute].
///
/// {@template flutter.cupertino.cupertinoRouteTransitionMixin}
/// The page slides in from the right and exits in reverse. The page also shifts
/// to the left in parallax when another page enters to cover it.
///
/// The page slides in from the bottom and exits in reverse with no parallax
/// effect for fullscreen dialogs.
/// {@endtemplate}
///
/// See also:
///
///  * [MaterialRouteTransitionMixin], which is a mixin that provides
///    platform-appropriate transitions for a [PageRoute].
///  * [CupertinoPageRoute], which is a [PageRoute] that leverages this mixin.�8�8�8 �&�%�%  ”¬€«•&•&Z/// The duration of the page transition.
///
/// A relatively rigorous eyeball estimation.•<•D•V•Q•E•S�¿�H��� /// {@template flutter.cupertino.CupertinoRouteTransitionMixin.title}
/// A title string for this route.
///
/// Used to auto-populate [CupertinoNavigationBar] and
/// [CupertinoSliverNavigationBar]'s `middle`/`largeTitle` widgets when
/// one is not manually supplied.
/// {@endtemplate}   �:ƒb‘ã‘ã‚a/// The title string of the previous [CupertinoPageRoute].
///
/// The [ValueListenable]'s value is readable after the route is installed
/// onto a [Navigator]. The [ValueListenable] will also notify its listeners
/// if the value changes (such as by replacing the previous route).
///
/// The [ValueListenable] itself will be null before the route is installed.
/// Its content value will be null if the previous route has no title or
/// is not a [CupertinoPageRoute].
///
/// See also:
///
///  * [ValueListenableBuilder], which can be used to listen and rebuild
///    widgets based on a ValueListenable.   •^D•x•x   •^•_•¨h•À•À   •¨•©–.–/–/   –– 	�Pi�–�–-/// Builds the primary contents of the route. �£�±�°  ���‚’¢X’´’´   ’¢’£“ �¦““  “$“5“4  “ “–Jƒc–\–\  –l"–†–…  –J–K™³€ç™Å™Å  ™×&™ñ™ð  ™³™´š �š´š´  šÄšÒšÑ  šßšòšñ  ›$››  š š¡œl�lœ–œ– œ§œ§œ§œªœ¸œ·   �Þ‡ o o‚X/// Returns a [CupertinoFullscreenDialogTransition] if [route] is a full
/// screen dialog, otherwise a [CupertinoPageTransition] is returned.
///
/// Used by [CupertinoPageRoute.buildTransitions].
///
/// This method can be applied to any [PageRoute], not just
/// [CupertinoPageRoute]. It's typically used to provide a Cupertino style
/// horizontal transition for material widgets when the target platform
/// is [TargetPlatform.iOS].
///
/// See also:
///
///  * [CupertinoPageTransitionsBuilder], which uses this method to define a
///    [PageTransitionsBuilder] for the [PageTransitionsTheme]. „ „ „ � › š   ¦ ´ ³   Á Ô Ó   ã$ ö õ  ¡¡¡   ¤÷�¥¥  ¥"¥0¥/  ¥=¥P¥O  ¥_$¥r¥q  ¥Š¥’¥‘  ¤÷¤ø ƒc&ƒpƒp ƒ…ƒŒ%ƒ™ƒ™ ƒ®„P„.„. „T„\„n„i„]„k„t‚(†c†c�×/// Barrier color used for a barrier visible during transitions for Cupertino
/// page routes.
///
/// This barrier color is only used for full-screen page routes with
/// `fullscreenDialog: false`.
///
/// By default, `fullscreenDialog` Cupertino route transitions have no
/// `barrierColor`, and [CupertinoDialogRoute]s and [CupertinoModalPopupRoute]s
/// have a `barrierColor` defined by [kCupertinoModalBarrierColor].
///
/// A relatively rigorous eyeball estimation.†‹†�†›†‘†¡�
‡'‡'v/// Barrier color for a Cupertino modal barrier.
///
/// Extracted from https://developer.apple.com/design/resources/.‡E‡Z‡[‡i‡ª‡s‡n‡u‡z‡…‡{‡”‡‹‡–‡›‡¦‡œ‡õKˆˆ ˆ%ˆ-ˆ?ˆ:ˆ.ˆ<ˆ€vˆ™ˆ™ ˆ®ˆ³ˆºˆ´ˆ»ˆõˆÅˆÀˆÇˆÍˆÓˆÜˆÔˆÙˆåˆâˆçˆíˆî‰9|‰R‰R ‰f‰k‰r‰l‰s‰´‰}‰x‰‰…‰†‰’‰�‰”‰š‰ ‰°‰¦‰¡‰¢‰¨‰­‰îsŠŠ ŠŠŠ%ŠŠ&Š`Š0Š+Š2Š8Š>ŠGŠ?ŠDŠPŠMŠRŠXŠYÀ ™ÿ)À šÀ š À š"À š++À š8À š8 À šLÀ šY€ŽÀ šqÀ šq À š„À š•À šæÀ šžÀ ššÀ š À š¯À š¦À š±À šÐÀ šÉÀ šÒÀ �?À �(À �( À �>À �GÀ �VÀ �PÀ �HÀ �R 	  €²  dart:ui  €Ò  package:flutter/material.dart  �  package:flutter/services.dart  �9  app.dart  �U  button.dart  �t  dialog.dart  �“  nav_bar.dart  �³  page_scaffold.dart  �Ù  tab_scaffold.dart † =€ˆ€§€©€Ä€É€ú�+�0�L�k�Š�ª�Ð�õ�ÿ‚‚‚:‚<‚g‚�‚¸‚âƒ
ƒƒ#ƒCƒaƒcƒŒƒÑƒÓ„„r„t„Ã„Õ„Ú… …@…E…�…Þ†#†(†W†Ÿ†¡†Ó†Ø‡‡l‡‰‡ª‡®‡°‡õˆCˆEˆ€ˆ¾ˆàˆõˆùˆû‰9‰v‰�‰´‰¸‰º‰îŠ)ŠKŠ`ŠdŠfŠ°ŠÂŠÇ‹‹Z‹�‹¢‹ðŒŒ(Œ-Œ<ŒAŒˆŒÄ��N����»�½ŽŽ,Ž3ŽmŽ¸ŽÝŽó�	��6�8�v�}�Ë��b�i�¹‘‘+‘2‘C‘J‘–‘Ä‘ô’’ ’t’|’™’ž’ ’­’Á’á’÷’ü’þ““F“o“Å“è”-”;”o”v”£”¨”ª”Ö”Ý••Z•\•i•¤•¦•³–––!–F–H–U–“–æ——W—Y—ª—÷˜˜=˜‹˜�˜Ý™&™N™ª™¯™±™¾ššZš—šœšžš«šÀšÛšý›(›/›`›²›·›¹œœWœjœÁœçœé��=�i�“�Í�Õ�Ú�Üž(žqžxž®žµžôŸBŸ�Ÿ­Ÿ´ŸÅŸÌ  _ ‰ ¢ ½ ß¡
¡¡$¡o¡�¡˜¡æ¢¢C¢f¢™¢Ä¢ú£'£>£H£V£}£¨£Þ¤¤=¤x¤¸¤Ñ¤Ý¤ç¤î¤ó¤õ¥¥¥9¥[¥†¥™¥ ¥ú¥ÿ¦¦¦O¦T¦’¦—¦æ§8§W§\§®§û¨¨¨r¨¹¨¾¨Í¨Ò©$©B©‡©°ªª!ªmª‘ªÎ«(«d«k«¼«Ì«ä¬ ¬¬&¬?¬_¬|¬¡¬È¬Ð¬å¬ê¬ì¬ù­3­g­i­š­º­¼­É®®®®2®4®A®^®`®m®²®µ®·®ç®ë¯<¯n¯Ò°4°S°h°m°o°|°¶±±±E±G±T±‘±“± ±Å±Ç±Ô²²²²M²O²\²ž²¡²£²Û²à³³#³t³½³ë³ð´B´�´Åµµµ&µ+µrµœµ½µÖµð¶¶!¶E¶i¶|¶•¶¥¶¶¶Ì¶æ¶í¶ï·3·J·L·’·ª·¬·å¸¸¸?¸_¸a¸£¸Ä¸Æ¸Ó¹¹b¹g¹j¹l¹¢¹§ºº?ºwº¤º«ºÎºÞ»»4»N»s»z»|»­»Ä»Æ¼¼@¼r¼t¼Ä½½:½<½‰½¿½ß½á¾3¾A¾H¾|¾£¾¾¾à¿¿(¿<¿C¿{¿ž¿Ä¿ð¿øÀ @VÀ @pÀ @rÀ @¥À @êÀ AÀ A4À AYÀ AzÀ A�À A—À AœÀ AžÀ A«À AÿÀ BÀ BÀ BRÀ B‹À BÀÀ BúÀ C1À CpÀ C§À CíÀ DÀ DaÀ DŽÀ D´À DÝÀ DßÀ DìÀ EÀ EÀ E2À E7À E9À EFÀ E�À E´À F À FPÀ F’À FªÀ FÄÀ FËÀ FÐÀ FÒÀ FßÀ FóÀ G	À GÀ G$À G&À G@À GgÀ G�À GµÀ GØÀ GýÀ HÀ H#À H%À HAÀ HfÀ H–À HÅÀ HõÀ I4À I>À IpÀ I¡À IÉÀ I÷À JÀ J/À J^À J†À J�À J—À J÷À KÀ KÀ K€À KšÀ K¢À KþÀ L,À L4À L9À L;À LHÀ LpÀ L£À LèÀ MÀ M3À MXÀ MyÀ M˜À MÆÀ MíÀ NOÀ NYÀ NaÀ NfÀ NiÀ NkÀ N¯À N´À OÀ O#À OgÀ OµÀ O¼À OëÀ OûÀ P%À PQÀ PkÀ P�À P—À P™À PçÀ QÀ QEÀ QGÀ Q—À QÙÀ RÀ RÀ R\À R’À R²À R´À RåÀ RüÀ RþÀ SÀ SJÀ S~À S�À SƒÀ SéÀ T#À TXÀ TZÀ T•À TÌÀ TÎÀ UÀ U@À UBÀ UŒÀ U¹À U»À UÈÀ UÞÀ UöÀ VÀ VÀ VÀ V"À VuÀ VœÀ VèÀ W8À WzÀ W’À W¬À W³À W¸À WºÀ WÇÀ WÛÀ WñÀ XÀ XÀ XÀ X(À XOÀ XxÀ X›À XÀÀ XÅÀ XÇÀ XãÀ Y.À Y_À Y‰À YÜÀ ZÀ ZMÀ ZYÀ Z{À Z·À ZåÀ [À [VÀ [„À [¸À [ÈÀ [ìÀ [ñÀ [óÀ \ À \(À \[À \ À \½À \ëÀ ]À ]1À ]ŠÀ ]’À ]—À ]šÀ ]œÀ ]ßÀ ]äÀ ^1À ^zÀ ^¯À ^´À ^üÀ _À _"À _sÀ _�À _ÑÀ _úÀ `
À `.À `TÀ `nÀ `uÀ `wÀ `ŽÀ `�À `¼À `¾À a
À aÀ aÀ a|À aÀ a�À aàÀ bÀ b!À bVÀ bXÀ beÀ b{À b“À b¦À báÀ c	À c3À cWÀ c‚À c‡À c‰À c–À cªÀ cÆÀ cÈÀ dÀ dAÀ d{À d¾À eÀ eÀ e4À e?À eFÀ e\À eaÀ ecÀ e˜À e®À eÛÀ fÀ fÀ fÀ fSÀ fiÀ f–À f¿À gÀ gÀ gÀ gÀ gFÀ g\À g‰À g¯À hÀ hÀ h0À h5À h7À hUÀ hkÀ hÀÀ håÀ iÀ i4À i9À i;À ipÀ i•À i»À iÂÀ iÇÀ iÉÀ iõÀ j'À jKÀ jnÀ jvÀ j{À j}À jŠÀ j²À jåÀ k4À kPÀ k˜À kÙÀ lÀ l!À l4À lVÀ lqÀ lˆÀ l¨À l¿À lùÀ mÀ m&À mŒÀ m˜À m¢À mªÀ m¯À m²À m´À måÀ mêÀ n;À nŒÀ nÜÀ oÀ oÀ omÀ o‹À o�À oáÀ p	À p5À ppÀ p•À p³À pÒÀ pòÀ qÀ qÀ qAÀ qFÀ qHÀ qqÀ q”À q¼À qåÀ qçÀ r3À rPÀ rsÀ r“À r˜À ršÀ rèÀ sÀ s7À scÀ skÀ s»À sÏÀ tÀ t=À t]À t_À tvÀ tÅÀ uÀ ueÀ u·À v À v@À vgÀ vŸÀ vóÀ wFÀ wlÀ w“À w¡À wÑÀ wØÀ wÚÀ wõÀ xÀ x À xXÀ xxÀ x‚À x�À x¨À xøÀ yÀ yÀ yÀ yrÀ y—À y¸À yÈÀ zÀ z$À z0À z9À z@À zBÀ zeÀ z³À {À {/À {lÀ {¨À {ÑÀ |À |À |\À |jÀ |‘À |˜À |�À | À |¢À |óÀ }DÀ }ŠÀ }ÅÀ ~ À ~À ~6À ~ˆÀ ~ºÀ À KÀ SÀ YÀ [À ¤À ¶À ¼À €
À €CÀ €IÀ €tÀ €zÀ €ÊÀ €ÛÀ €úÀ €üÀ �HÀ �NÀ �›À �åÀ ‚0À ‚|À ‚ÊÀ ƒÀ ƒgÀ ƒ«À ƒ±À „ À „ À „&À „6À „<À „XÀ „ˆÀ „°À „ØÀ „çÀ „îÀ …
À …À …"À …8À …YÀ …hÀ …—À …òÀ † À †À †À †=À †LÀ †{À †ÛÀ †éÀ †ðÀ ‡%À ‡uÀ ‡ÄÀ ˆ!À ˆWÀ ˆºÀ ˆÃÀ ˆÈÀ ˆÊÀ ˆ×À ‰À ‰MÀ ‰�À ‰”À ‰ÕÀ ‰ÚÀ ‰ÜÀ ‰éÀ Š-À Š]À Š�À Š¤À ŠåÀ ŠêÀ ŠìÀ ŠùÀ ‹FÀ ‹€À ‹…À ‹‡À ‹”À ‹¸À ‹åÀ ‹úÀ ŒÀ ŒRÀ ŒWÀ ŒYÀ ŒfÀ Œ�À Œ‘À ŒžÀ ŒäÀ �À �QÀ �VÀ �YÀ �[À �¨À �àÀ Ž"À ŽpÀ ŽrÀ Ž§À Ž©À Ž¶À �À �<À �WÀ �fÀ �mÀ �oÀ �½À �ÎÀ �ÖÀ �îÀ �9À �`À �jÀ �rÀ �ÄÀ ‘À ‘^À ‘®À ‘ÿÀ ’KÀ ’rÀ ’zÀ ’ÉÀ “À “YÀ “§À “øÀ ”5À ”7À ”\À ”žÀ ”ÛÀ •À •À •eÀ •‰À •×À –À –LÀ –TÀ –VÀ –sÀ –¦À –ÖÀ –ôÀ –ýÀ —À —+À —BÀ —_À —ŠÀ —¹À —êÀ —ÿÀ ˜5À ˜ŠÀ ˜‘À ˜–À ˜™À ˜›À ˜ÐÀ ˜ÔÀ ™À ™fÀ ™µÀ ™ÿÀ š+À šYÀ š˜À š¤À šÇÀ šæÀ šêÀ ›:À ›„À ›ÓÀ œÀ œÀ œoÀ œÀÀ �À �À �ZÀ �\À �¤À �¿À �ÄÀ žÀ žDÀ žIÀ ž›À žÜÀ Ÿ À Ÿ%À ŸwÀ ŸÇÀ  À  CÀ  �À  ”À  ãÀ ¡À ¡"À ¡lÀ ¡´À ¡¹À ¢À ¢À ¢À ¢KÀ ¢PÀ ¢_À ¢dÀ ¢¬À ¢íÀ £9À £UÀ £¶À £ñÀ ¤;À ¤XÀ ¤vÀ ¤’À ¤¶À ¤ìÀ ¥À ¥9À ¥LÀ ¥aÀ ¥zÀ ¥‘À ¥ÃÀ ¥ùÀ ¥ûÀ ¦LÀ ¦SÀ ¦£À ¦ªÀ ¦üÀ §NÀ §�À §ÈÀ §èÀ §êÀ ¨À ¨À ¨4À ¨6À ¨CÀ ¨aÀ ¨cÀ ¨pÀ ¨ŽÀ ¨�À ¨�À ¨ÔÀ ¨ÖÀ ¨ãÀ ©À © À ©-À ©sÀ ©uÀ ©¹À ©×À ©ÙÀ ©æÀ ª À ª}À ªªÀ ªÈÀ ªáÀ ªûÀ «À «À «8À «PÀ «XÀ «]À «_À «lÀ «�À «œÀ «¾À «éÀ «ðÀ ¬À ¬PÀ ¬³À ¬»À ¬ÀÀ ¬ÂÀ ¬ÏÀ ¬ëÀ ­À ­(À ­SÀ ­fÀ ­mÀ ­€À ­ªÀ ®À ®À ®À ®À ®WÀ ®{À ®’À ®˜À ®›À ®�À ®îÀ ®óÀ ¯CÀ ¯sÀ ¯xÀ ¯ÆÀ °À °TÀ °YÀ °«À °ûÀ ±+À ±0À ±À ±¹À ±¾À ²À ²^À ²yÀ ²~À ²ÈÀ ³À ³À ³aÀ ³uÀ ³zÀ ³ÈÀ ´À ´^À ´žÀ ´éÀ µÀ µÀ µUÀ µtÀ µ¯À µ´À µáÀ µæÀ ¶,À ¶\À ¶aÀ ¶†À ¶‹À ¶ÜÀ ·)À ·rÀ ·wÀ ·ÄÀ ·ÉÀ ·ÞÀ ¸.À ¸tÀ ¸ÃÀ ¹À ¹À ¹DÀ ¹IÀ ¹£À ¹´À ¹¹À ¹ÈÀ ¹ÍÀ ºÀ ºVÀ º¢À ºÛÀ »<À »eÀ »‡À »ªÀ »ÂÀ »÷À ¼À ¼;À ¼aÀ ¼‚À ¼šÀ ¼±À ¼·À ¼þÀ ½ À ½9À ½PÀ ½›À ½ÊÀ ½ýÀ ¾À ¾>À ¾aÀ ¾iÀ ¾oÀ ¾rÀ ¾tÀ ¾žÀ ¾·À ¾×À ¿ À ¿À ¿À ¿'À ¿*À ¿,À ¿zÀ ¿ÆÀ ÀÀ À(À À-À À‚À ÀÔÀ Á#À ÁtÀ Á¾À ÁÃÀ ÂÀ Â_À Â¡À Â¦À ÂôÀ ÃDÀ Ã’À ÃÄÀ ÃÉÀ ÃüÀ Ä7À Ä<À ÄiÀ ÄnÀ Ä¿À ÅÀ ÅNÀ ÅSÀ Å¢À ÅÓÀ ÅØÀ ÅþÀ ÆÀ ÆUÀ Æ£À ÆèÀ ÆíÀ Ç:À Ç?À ÇTÀ Ç§À ÇåÀ È4À È{À È€À È±À È¶À ÉÀ ÉÀ É!À É0À É5À ÉpÀ É®À ÉÿÀ ÊGÀ ÊˆÀ ÊØÀ ÊýÀ ËÀ ËBÀ Ë[À ËsÀ Ë”À Ë¸À ËÙÀ ËñÀ ÌÀ ÌÀ ÌXÀ ÌvÀ Ì�À Ì¨À Ì×À ÌúÀ ÍÀ Í=À Í^À Í�À Í‰À Í�À Í’À Í”À ÍÈÀ ÍÍÀ ÎÀ Î\À ÎœÀ Î¡À ÎðÀ Ï:À Ï‰À ÏÓÀ ÐÀ Ð À ÐOÀ ÐšÀ ÐäÀ Ñ5À Ñ:À ÑŒÀ ÑàÀ ÑåÀ Ò0À ÒwÀ ÒÀÀ ÒÅÀ Ó
À Ó,À Ó1À Ó^À ÓcÀ ÓrÀ ÓwÀ Ó°À ÓÎÀ ÔÀ ÔWÀ ÔŸÀ ÔàÀ ÕÀ ÕQÀ ÕkÀ Õ�À Õ´À ÕÓÀ ÕíÀ ÖÀ ÖJÀ Ö�À ÖªÀ Ö¿À ÖØÀ ÖðÀ ÖÿÀ ×À ×:À ×cÀ ×•À ×£À ×ÈÀ ×ÕÀ Ø)À ØŽÀ Ø¦À Ù	À ÙÀ ÙÀ Ù7À ÙfÀ ÙhÀ ÙŒÀ ÙŽÀ Ù›À ÙÕÀ Ú2À Ú_À Ú}À Ú–À Ú°À Ú¼À ÚÆÀ ÚíÀ ÛÀ ÛÀ ÛÀ ÛÀ Û!À Û=À ÛXÀ ÛzÀ Û¥À Û¸À Û¿À ÛåÀ Ü:À ÜAÀ ÜCÀ Ü{À Ü»À ÜÂÀ ÜÞÀ ÜùÀ ÝQÀ ÝYÀ Ý^À Ý`À ÝmÀ Ý�À Ý¡À Ý·À Ý¼À Ý¾À ÞÀ Þ\À ÞoÀ ÞÆÀ ÞÉ   _kBackGestureWidth_kMinFlingVelocity#_kDroppedSwipePageAnimationDuration%_kCupertinoPageTransitionBarrierColorkCupertinoModalBarrierColor_kModalPopupTransitionDuration_kRightMiddleTween_kMiddleLeftTween_kBottomUpTweenCupertinoRouteTransitionMixinCupertinoPageRoute_PageBasedCupertinoPageRouteCupertinoPageCupertinoPageTransition_CupertinoPageTransitionState#CupertinoFullscreenDialogTransition)_CupertinoFullscreenDialogTransitionState_CupertinoBackGestureDetector"_CupertinoBackGestureDetectorState_CupertinoBackGestureController_CupertinoEdgeShadowDecoration_CupertinoEdgeShadowPainter_kStandardStiffness_kStandardDamping_kStandardSpring_kStandardToleranceCupertinoModalPopupRouteshowCupertinoModalPopup _buildCupertinoDialogTransitionsshowCupertinoDialogCupertinoDialogRoute/flutter.cupertino.cupertinoRouteTransitionMixin€óThe page slides in from the right and exits in reverse. The page also shifts
to the left in parallax when another page enters to cover it.

The page slides in from the bottom and exits in reverse with no parallax
effect for fullscreen dialogs.5flutter.cupertino.CupertinoRouteTransitionMixin.title€´A title string for this route.

Used to auto-populate [CupertinoNavigationBar] and
[CupertinoSliverNavigationBar]'s `middle`/`largeTitle` widgets when
one is not manually supplied. TF