0routesbuildTransitiontransitionDurationreverseTransitionDurationmodelogs beforeEnter _beforeEnter beforeLeave _beforeLeave afterEnter _afterEnteronPop_onPop onSystemPop _onSystemPop initialUrl appRouterKey navigatorKey createStatenavigatorObserversbuildertitleonGenerateTitle textStylecolorlocalelocalizationsDelegateslocaleListResolutionCallbacklocaleResolutionCallbacksupportedLocalesshowPerformanceOverlaycheckerboardRasterCacheImagescheckerboardOffscreenLayersshowSemanticsDebuggerdebugShowWidgetInspectordebugShowCheckedModeBanneruseInheritedMediaQueryinspectorSelectButtonBuilder shortcutsactionsrestorationScopeIdof buildRoutes afterUpdate beforeUpdate afterLeavebuildWidgetsVRouterWidgetsVRouterStaten VRouteElement WidgetsApp VRouterAppoverrideListWidget AnimationdoubleDuration VRouterMode VLogLevelFuturevoid VRedirectorMapString BuildContextKey GlobalKeyNavigatorState VoidVGuardvoidBeforeEntervoidBeforeLeavevoidAfterEnterVoidVPopHandler voidOnPopvoidOnSystemPophashVLogsinfo DeprecatedLocalekeyNavigatorObservertitleonGenerateTitleGenerateAppTitleText TextStyleColor LocalizationslocaleGlobalMaterialLocalizationsWidgetsLocalizationsMaterialLocalizationsDefaultMaterialLocalizationsSynchronousFuture MaterialAppLocalizationsDelegatetypeIterabledynamicLocaleListResolutionCallbackLocaleResolutionCallbackbool RenderObjectdebugDescribeChildrenCheckedModeBannerWidgetInspectorInspectorSelectButtonBuilderLogicalKeyboardKeyselect Shortcuts LogicalKeySetIntentActivateActionActionsTypeActionRootRestorationScope NavigatorRouteRestorationManager VRouterSailor"dependOnInheritedWidgetOfExactTypeLocalVRouterDataRootVRouterData FlutterErrorStateVRouterAppStateMixin VRouterScope vRouterModewidgetmodechildrouterbackButtonDispatcherVBackButtonDispatcherrouteInformationParserVRouteInformationParserrouterDelegatevRouterDelegate appRouterKey textStylecolorlocalizationsDelegateslocaleListResolutionCallbacklocaleResolutionCallbacksupportedLocalesshowPerformanceOverlaycheckerboardRasterCacheImagescheckerboardOffscreenLayersshowSemanticsDebuggerdebugShowWidgetInspectordebugShowCheckedModeBanneruseInheritedMediaQueryinspectorSelectButtonBuilder shortcutsactionsrestorationScopeId VRouterAppStateVRouterAppStateMixin VRouterSailor¢nîþ@’$¥Óì npackage:flutter/widgets.dart(package:vrouter/src/vlogs.dartQ%package:vrouter/src/vrouter_core.dart€�&package:vrouter/src/vrouter_scope.dart€²0package:vrouter/src/vrouter_vroute_elements.dart€îmixin/vrouter_app_mixin.dart±ÀFÛ�ö'P€€€±€ì€í���F�Œ�¼�À‚‚B‚l‚x‚œ‚�‚©‚Þƒ*ƒ+ƒ7ƒ]ƒ^ƒjƒ—ƒ˜ƒ¤ƒ¾ƒ¿ƒËƒéƒêƒö„-„N„“„”„ „¼„Ù……&…Y…x…•…Û…í…î…ú†>†d†©†¼†½†É‡‡N‡O‡[‡’‡³‡ø‡ùˆˆ ˆ!ˆ-ˆHˆIˆUˆ†ˆ‡ˆšˆ¨ˆÂ‰‰'‰B‰a‰©‰¯‰áŠ/ŠRŠ�аŠñ‹‹4‹Q‹u‹—‹²‹Î‹öŒŒŒšŒ±ŒÝŒò� � �9�J�k�’�µ�õŽŽNŽ|ޤŽÏŽû�$�K�_�q�Ž�²�Ö�ø��4�M�N�Z�˜�™�¥�Ù�Ú�æ‘,‘-‘]‘c‘ ‘¶‘·‘ñ‘÷’>’i’j’¦’Ä’Å’ø“C“T“Z“ª“Ɠۓð“ñ”%”m”‚”ˆ”Δԕ•]•Œ•¡•§•·•½––1–ƒ–¨–À–Á———V—¢—é—ï—ý˜F˜Y˜{˜·˜ç™™!™=™l™š™Ê™Õ™ä™ì™ö™üš+š1šzš¼šášç›7›†›¹›ðœ?œ‹œ‘œÔ��Z�`�n�²�ë�ýž žSžmž“ž�ž¥ž«žµž»Ÿ Ÿ[Ÿ«Ÿ±Ÿ¿  E W Ž Ì Ö è¡*¡2¡<¡B¡‘¡ß¢.¢{¢ ¢¦¢´¢Ç¢é££ £/£7£A£Q£W£—£º¤¤F¤z¤º¥¥¥L¥R¥ ¥ä¥å¦¦#¦q¦­¦®¦é¦ï§=§C§S§Y§¢§¹¨¨E¨y¨¹¨ä¨å© ©©!©'©d©‰©Š©Á©í©îª6ª`ªaª¤ªÅªéªê«-«3«z«Ë«ß¬¬¬O¬’¬Ó­­I­O­�­Ô­Ú®#®i®©®æ¯ ¯5¯^¯_¯ ¯Å¯Æ°°)°/°~°Å°Ý±!±"±V±l±¦±ô²²!²r²À²Î²Ô²â³ ³(³V³ƒ³Ñ³Þ´´B´j´w´‚´Š´”´¦´âµµµDµZµšµÛ¶¶¶U¶£¶±¶·¶Å¶ð· ·6·a·�···ß·ü¸ ¸¸)¸S¸�¸µ¸Â¸Í¸Õ¸ß¸ñ¹+¹W¹X¹˜¹×¹Ýº(ºxº~ºÉ»»e»‘»—»§»­»ú¼ ¼!¼E¼F¼x¼˜¼™¼Í¼ß½'½F½`½f½g½›½ì¾ ¾%¾+¾,¾K¾e¾Ó¿+¿f¿l¿„¿ˆ¿‰¿•¿Ä¿Å¿ÑÀ@À@À@#À@aÀ@bÀ@nÀ@²À@´À@µÀ@íÀA ÀA*ÀA6ÀA]ÀAvÀA–ÀA¶ÀAíÀB(ÀBQÀBsÀB�ÀBÁÀBæÀCÀC"ÀCaÀC¬ÀCïÀD"ÀDaÀD®ÀD÷ÀE4ÀEwÀE¾ÀEýÀFHÀFmÀFŽÀFÅÀFÎÀFÕÀFÙÀFÛ'P€€€±€íˆ‰ˆ—%ˆžˆžˆ£ˆ¬ˆ¬ˆºˆÆˆÆ_ˆõ‰+‰+€´‰·‰å‰åkŠ"ŠVŠVXŠ…Š´Š´dŠã‹‹‹#‹8‹8‹=‹U‹U‹Z‹y‹y‹~‹›‹›‹ ‹¶‹¶‹»‹Ò‹Ò"‹×‹ú‹ú ‹ÿŒ Œ €ŒŒŒŒžŒžŒ£ŒáŒáŒæŒöŒöŒû����$�$�2�=�= �B�N�N�S�o�o!�t�–�–�›�¹�¹:�¾�ù�ù#�þŽ"Ž"*Ž'ŽRŽR(ŽWހހ"ޅލލ%Ž­ŽÓŽÓ&ŽØŽÿŽÿ#��(�(!�-�O�O�T�c�c �h�u�u�zF‰ ‰‰‰Å‰Ï‰ÐŠ7ŠAŠBЕФХŠù‹‹ ‹…‹�‹‘‹­‹Â‹Ç‹È‹ì‹ò‹óŒ Œ ŒŒ}ŒŒî�Ñ�ß�ò�×�Þ�Ø�à�æ�ñ�ç�펎GŽuŽ�ŽÈŽõ��£�–�¥�Ç�º�É�ê�Þ�ì��� �%��'�<�A�J�E�B�Gˆ‰ˆ‰‡Ã$‚n‚o‚”‚n,‚”‚Ÿ‚ ƒ‚Ÿ€‰ƒƒ-ƒ.ƒIƒ-.ƒIƒ`ƒaƒ|ƒ`5ƒ|ƒšƒ›ƒ¸ƒš"ƒ¸ƒÁƒÂƒãƒÁ&ƒã„…„PA„……ß…[€�…߆¯†fT†¯‡F‡;‡F‡ê‡µA‡ê‡û‡üˆ‡û#ˆˆ#ˆ$ˆ:ˆ##ˆ:ˆKˆLˆxˆK9ˆx�›�œ�Å�›<�Å�Ü�Ý‘#�ÜN‘#‘¯‘/€…‘¯l/// {@macro flutter.widgets.widgetsApp.title} /// /// This value is passed unmodified to [WidgetsApp.title].’X‘¹€®’X€€/// {@macro flutter.widgets.widgetsApp.onGenerateTitle} /// /// This value is passed unmodified to [WidgetsApp.onGenerateTitle].’¹’lV’¹9/// The default text style for [Text] in the application.“é’Ç�'“é�/// {@template flutter.widgets.widgetsApp.color} /// The primary color to use for the application in the operating system /// interface. /// /// For example, on Android this is the color used for the application in the /// application switcher. /// {@endtemplate}–¸“ó‚Ë–¸‚”/// {@template flutter.widgets.widgetsApp.locale} /// The initial locale for this app's [Localizations] widget is based /// on this value. /// /// If the 'locale' is null then the system's locale value is used. /// /// The value of [Localizations.locale] will equal this locale if /// it matches one of the [supportedLocales]. Otherwise it will be /// the first element of [supportedLocales]. /// {@endtemplate} /// /// See also: /// /// * [localeResolutionCallback], which can override the default /// [supportedLocales] matching algorithm. /// * [localizationsDelegates], which collectively define all of the localized /// resources used by this app.¤ì–ÃŽ?¤ì�B/// {@macro flutter.widgets.widgetsApp.localizationsDelegates} /// /// Internationalized apps that require translations for one of the locales /// listed in [GlobalMaterialLocalizations] should specify this parameter /// and list the [supportedLocales] that the application can handle. /// /// ```dart /// import 'package:flutter_localizations/flutter_localizations.dart'; /// MaterialApp( /// localizationsDelegates: [ /// // ... app-specific localization delegate[s] here /// GlobalMaterialLocalizations.delegate, /// GlobalWidgetsLocalizations.delegate, /// ], /// supportedLocales: [ /// const Locale('en', 'US'), // English /// const Locale('he', 'IL'), // Hebrew /// // ... other locales the app supports /// ], /// // ... /// ) /// ``` /// /// ## Adding localizations for a new locale /// /// The information that follows applies to the unusual case of an app /// adding translations for a language not already supported by /// [GlobalMaterialLocalizations]. /// /// Delegates that produce [WidgetsLocalizations] and [MaterialLocalizations] /// are included automatically. Apps can provide their own versions of these /// localizations by creating implementations of /// [LocalizationsDelegate] or /// [LocalizationsDelegate] whose load methods return /// custom versions of [WidgetsLocalizations] or [MaterialLocalizations]. /// /// For example: to add support to [MaterialLocalizations] for a /// locale it doesn't already support, say `const Locale('foo', 'BR')`, /// one could just extend [DefaultMaterialLocalizations]: /// /// ```dart /// class FooLocalizations extends DefaultMaterialLocalizations { /// FooLocalizations(Locale locale) : super(locale); /// @override /// String get okButtonLabel { /// if (locale == const Locale('foo', 'BR')) /// return 'foo'; /// return super.okButtonLabel; /// } /// } /// /// ``` /// /// A `FooLocalizationsDelegate` is essentially just a method that constructs /// a `FooLocalizations` object. We return a [SynchronousFuture] here because /// no asynchronous work takes place upon "loading" the localizations object. /// /// ```dart /// class FooLocalizationsDelegate extends LocalizationsDelegate { /// const FooLocalizationsDelegate(); /// @override /// Future load(Locale locale) { /// return SynchronousFuture(FooLocalizations(locale)); /// } /// @override /// bool shouldReload(FooLocalizationsDelegate old) => false; /// } /// ``` /// /// Constructing a [MaterialApp] with a `FooLocalizationsDelegate` overrides /// the automatically included delegate for [MaterialLocalizations] because /// only the first delegate of each [LocalizationsDelegate.type] is used and /// the automatically included delegates are added to the end of the app's /// [localizationsDelegates] list. /// /// ```dart /// MaterialApp( /// localizationsDelegates: [ /// const FooLocalizationsDelegate(), /// ], /// // ... /// ) /// ``` /// See also: /// /// * [supportedLocales], which must be specified along with /// [localizationsDelegates]. /// * [GlobalMaterialLocalizations], a [localizationsDelegates] value /// which provides material localizations for many languages. /// * The Flutter Internationalization Tutorial, /// .¥Æ¥€Û¥Æ€”/// {@macro flutter.widgets.widgetsApp.localeListResolutionCallback} /// /// This callback is passed along to the [WidgetsApp] built by this widget.¦“¥ç€Ä¦“€…/// {@macro flutter.widgets.LocaleResolutionCallback} /// /// This callback is passed along to the [WidgetsApp] built by this widget.¨Ò¦°‚2¨Ò�ò/// {@macro flutter.widgets.widgetsApp.supportedLocales} /// /// It is passed along unmodified to the [WidgetsApp] built by this widget. /// /// See also: /// /// * [localizationsDelegates], which must be specified for localized /// applications. /// * [GlobalMaterialLocalizations], a [localizationsDelegates] value /// which provides material localizations for many languages. /// * The Flutter Internationalization Tutorial, /// .©q¨ç€ ©qt/// Turns on a performance overlay. /// /// See also: /// /// * ©Î©Œ_©Î4/// Turns on checkerboarding of raster cache images.ªC©ðnªCE/// Turns on checkerboarding of layers rendered to offscreen bitmaps.ªÒªc€„ªÒ_/// Turns on an overlay that shows the accessibility information /// reported by the framework.«ìªì�«ì€ê/// Turns on an overlay that enables inspecting the widget tree. /// /// The inspector is only available in checked mode as it depends on /// [RenderObject.debugDescribeChildren] which should not be called outside of /// checked mode.¯B¬ ƒS¯Bƒ/// {@template flutter.widgets.widgetsApp.debugShowCheckedModeBanner} /// Turns on a little "DEBUG" banner in checked mode to indicate /// that the app is in checked mode. This is on by default (in /// checked mode), to turn it off, set the constructor argument to /// false. In release mode this has no effect. /// /// To get this banner in your application if you're not using /// WidgetsApp, include a [CheckedModeBanner] widget in your app. /// /// This banner is intended to deter people from complaining that your /// app is slow when it's in checked mode. In checked mode, Flutter /// enables a large number of expensive diagnostics to aid in /// development, and so performance in checked mode is not /// representative of what will happen in release mode. /// {@endtemplate}¯­¯ab¯­>/// {@macro flutter.widgets.widgetsApp.useInheritedMediaQuery}±¯È�W±� /// Builds the widget the [WidgetInspector] uses to switch between view and /// inspect modes. /// /// This lets [MaterialApp] to use a material button to toggle the inspector /// select mode without requiring [WidgetInspector] to depend on the /// material package.µ±$ƒëµƒ‹/// {@macro flutter.widgets.widgetsApp.shortcuts} /// {@tool snippet} /// This example shows how to add a single shortcut for /// [LogicalKeyboardKey.select] to the default shortcuts without needing to /// add your own [Shortcuts] widget. /// /// Alternatively, you could insert a [Shortcuts] widget with just the mapping /// you want to add between the [WidgetsApp] and its child and get the same /// effect. /// /// ```dart /// Widget build(BuildContext context) { /// return WidgetsApp( /// shortcuts: { /// ... WidgetsApp.defaultShortcuts, /// LogicalKeySet(LogicalKeyboardKey.select): const ActivateIntent(), /// }, /// color: const Color(0xFFFF0000), /// builder: (BuildContext context, Widget child) { /// return const Placeholder(); /// }, /// ); /// } /// ``` /// {@end-tool} /// {@macro flutter.widgets.widgetsApp.shortcuts.seeAlso}¹Nµ„A¹NƒÚ/// {@macro flutter.widgets.widgetsApp.actions} /// {@tool snippet} /// This example shows how to add a single action handling an /// [ActivateAction] to the default actions without needing to /// add your own [Actions] widget. /// /// Alternatively, you could insert a [Actions] widget with just the mapping /// you want to add between the [WidgetsApp] and its child and get the same /// effect. /// /// ```dart /// Widget build(BuildContext context) { /// return WidgetsApp( /// actions: >{ /// ... WidgetsApp.defaultActions, /// ActivateAction: CallbackAction( /// onInvoke: (Intent intent) { /// // Do something here... /// return null; /// }, /// ), /// }, /// color: const Color(0xFFFF0000), /// builder: (BuildContext context, Widget child) { /// return const Placeholder(); /// }, /// ); /// } /// ``` /// {@end-tool} /// {@macro flutter.widgets.widgetsApp.actions.seeAlso}¼1¹Z‚é¼1‚¨/// {@template flutter.widgets.widgetsApp.restorationScopeId} /// The identifier to use for state restoration of this app. /// /// Providing a restoration ID inserts a [RootRestorationScope] into the /// widget hierarchy, which enables state restoration for descendant widgets. /// /// Providing a restoration ID also enables the [Navigator] built by the /// [WidgetsApp] to restore its state (i.e. to restore the history stack of /// active [Route]s). See the documentation on [Navigator] for more details /// around state restoration of [Route]s. /// /// See also: /// /// * [RestorationManager], which explains how state restoration works in /// Flutter. /// {@endtemplate} „„„ƒìƒíƒìƒìa„„À„À„݄̄Ý@… „–„—„–„–€Â„¯† † ††"†" †*†0†0 †7…ð…ñ…ð…ðs††Þ†Þ†ê†¿†À†¿†¿O†Ø‡v‡v‡‚‡Q‡R‡Q‡Qa‡j�P�Q�P�PG�p¼`¼`¼m¼H¼Hƒ?¼]¿‹¿Œ¿‹¿‹8¿«¿ä¿ä¿ñ¿ú¿ú À@À@À@ À@¿Ç¿È¿Ç¿ÇN¿ØÀ@?À@?À@KÀ@À@À@À@GÀ@2À@€À@€À@�À@–À@– À@žÀ@¤À@¤ À@«À@dÀ@eÀ@dÀ@dMÀ@u��¿ž‚H�,/// This widget handles most of the routing work /// It gives you access to the [routes] attribute where you can start /// building your routes using [VRouteElement]s /// /// Note that this widget also acts as a [WidgetsApp] so you can pass /// it every argument that you would expect in [WidgetsApp]ÀAEÀAEÀARÀA,ÀA-ÀA,ÀA,…¬ÀA?À@µÀ@µ†%À@»�ö'P€€€±€ì€í���F�Œ�¼�À‚‚B‚l‚x‚œ‚�‚©‚Þƒ*ƒ+ƒ7ƒ]ƒ^ƒjƒ—ƒ˜ƒ¤ƒ¾ƒ¿ƒËƒéƒêƒö„-„N„“„”„ „¼„Ù……&…Y…x…•…Û…í…î…ú†>†d†©†¼†½†É‡‡N‡O‡[‡’‡³‡ø‡ùˆˆ ˆ!ˆ-ˆHˆIˆUˆ†ˆ‡ˆšˆ¨ˆÂ‰‰'‰B‰a‰©‰¯‰áŠ/ŠRŠ�аŠñ‹‹4‹Q‹u‹—‹²‹Î‹öŒŒŒšŒ±ŒÝŒò� � �9�J�k�’�µ�õŽŽNŽ|ޤŽÏŽû�$�K�_�q�Ž�²�Ö�ø��4�M�N�Z�˜�™�¥�Ù�Ú�æ‘,‘-‘]‘c‘ ‘¶‘·‘ñ‘÷’>’i’j’¦’Ä’Å’ø“C“T“Z“ª“Ɠۓð“ñ”%”m”‚”ˆ”Δԕ•]•Œ•¡•§•·•½––1–ƒ–¨–À–Á———V—¢—é—ï—ý˜F˜Y˜{˜·˜ç™™!™=™l™š™Ê™Õ™ä™ì™ö™üš+š1šzš¼šášç›7›†›¹›ðœ?œ‹œ‘œÔ��Z�`�n�²�ë�ýž žSžmž“ž�ž¥ž«žµž»Ÿ Ÿ[Ÿ«Ÿ±Ÿ¿  E W Ž Ì Ö è¡*¡2¡<¡B¡‘¡ß¢.¢{¢ ¢¦¢´¢Ç¢é££ £/£7£A£Q£W£—£º¤¤F¤z¤º¥¥¥L¥R¥ ¥ä¥å¦¦#¦q¦­¦®¦é¦ï§=§C§S§Y§¢§¹¨¨E¨y¨¹¨ä¨å© ©©!©'©d©‰©Š©Á©í©îª6ª`ªaª¤ªÅªéªê«-«3«z«Ë«ß¬¬¬O¬’¬Ó­­I­O­�­Ô­Ú®#®i®©®æ¯ ¯5¯^¯_¯ ¯Å¯Æ°°)°/°~°Å°Ý±!±"±V±l±¦±ô²²!²r²À²Î²Ô²â³ ³(³V³ƒ³Ñ³Þ´´B´j´w´‚´Š´”´¦´âµµµDµZµšµÛ¶¶¶U¶£¶±¶·¶Å¶ð· ·6·a·�···ß·ü¸ ¸¸)¸S¸�¸µ¸Â¸Í¸Õ¸ß¸ñ¹+¹W¹X¹˜¹×¹Ýº(ºxº~ºÉ»»e»‘»—»§»­»ú¼ ¼!¼E¼F¼x¼˜¼™¼Í¼ß½'½F½`½f½g½›½ì¾ ¾%¾+¾,¾K¾e¾Ó¿+¿f¿l¿„¿ˆ¿‰¿•¿Ä¿Å¿ÑÀ@À@À@#À@aÀ@bÀ@nÀ@²À@´À@µÀ@íÀA ÀA*ÀA6ÀA]ÀAvÀA–ÀA¶ÀAíÀB(ÀBQÀBsÀB�ÀBÁÀBæÀCÀC"ÀCaÀC¬ÀCïÀD"ÀDaÀD®ÀD÷ÀE4ÀEwÀE¾ÀEýÀFHÀFmÀFŽÀFÅÀFÎÀFÕÀFÙÀFÛWidgetsVRouterWidgetsVRouterState flutter.widgets.widgetsApp.color€°The primary color to use for the application in the operating system interface. For example, on Android this is the color used for the application in the application switcher.!flutter.widgets.widgetsApp.locale�8The initial locale for this app's [Localizations] widget is based on this value. If the 'locale' is null then the system's locale value is used. The value of [Localizations.locale] will equal this locale if it matches one of the [supportedLocales]. Otherwise it will be the first element of [supportedLocales].5flutter.widgets.widgetsApp.debugShowCheckedModeBanner‚„Turns on a little "DEBUG" banner in checked mode to indicate that the app is in checked mode. This is on by default (in checked mode), to turn it off, set the constructor argument to false. In release mode this has no effect. To get this banner in your application if you're not using WidgetsApp, include a [CheckedModeBanner] widget in your app. This banner is intended to deter people from complaining that your app is slow when it's in checked mode. In checked mode, Flutter enables a large number of expensive diagnostics to aid in development, and so performance in checked mode is not representative of what will happen in release mode.-flutter.widgets.widgetsApp.restorationScopeId‚#The identifier to use for state restoration of this app. Providing a restoration ID inserts a [RootRestorationScope] into the widget hierarchy, which enables state restoration for descendant widgets. Providing a restoration ID also enables the [Navigator] built by the [WidgetsApp] to restore its state (i.e. to restore the history stack of active [Route]s). See the documentation on [Navigator] for more details around state restoration of [Route]s. See also: * [RestorationManager], which explains how state restoration works in Flutter.«