├── .editorconfig
├── .github
├── ISSUE_TEMPLATE
│ ├── ---bug-report.md
│ ├── ---documentation-feedback.md
│ └── config.yml
├── PULL_REQUEST_TEMPLATE.md
├── move.yml
└── workflows
│ ├── all_plugins.yaml
│ ├── cancel.yaml
│ ├── e2e_tests.yaml
│ ├── firebase_firestore.yaml
│ ├── firebase_firestore_odm.yaml
│ ├── firebase_performance.yaml
│ ├── pr_title.yaml
│ ├── publish_docs.yaml
│ ├── scripts
│ ├── .firebaserc
│ ├── build-example.sh
│ ├── database.rules.json
│ ├── drive-example.sh
│ ├── firebase.json
│ ├── firestore.rules
│ ├── functions
│ │ ├── .gitignore
│ │ ├── package-lock.json
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── install-flutter.sh
│ ├── install-tools.sh
│ ├── reset-firestore-emulator.sh
│ ├── start-firebase-emulator.sh
│ ├── storage.rules
│ └── validate-formatting.sh
│ └── website.yaml
├── .gitignore
├── .opensource
└── project.json
├── .swiftformat
├── .vscode
├── settings.json
└── tasks.json
├── AUTHORS
├── CHANGELOG.md
├── CODEOWNERS
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── all_lint_rules.yaml
├── analysis_options.yaml
├── docs
├── _assets
│ ├── crashlytics-example-detail.png
│ ├── crashlytics-example.png
│ ├── crashlytics-filter.png
│ ├── crashlytics-init.png
│ ├── dl-apple-configure.jpg
│ ├── dl-apple-provision.jpg
│ ├── dl-apple-signing.jpg
│ ├── dl-apple-urlscheme.jpg
│ ├── dl-prefix.png
│ ├── enable-firebase-crashlytics.png
│ ├── ios-add-files-via-xcode.png
│ ├── ios-apple-dev-copy-download.png
│ ├── ios-apple-dev-enable-apns.png
│ ├── ios-apple-dev-menu.png
│ ├── ios-apple-dev-select-app-id.png
│ ├── ios-enable-background-capability.png
│ ├── ios-enable-push-notifications.png
│ ├── ios-notification-images-step-1.gif
│ ├── ios-notification-images-step-2.gif
│ ├── ios-notification-images-step-3.gif
│ ├── ios-provisional-notification.jpg
│ ├── ios-signing-capabilities.png
│ ├── ios-xcode-assign-provisioning-profile.png
│ ├── ios-xcode-bundle-id.png
│ ├── ios-xcode-copy-items.png
│ ├── recaptcha-widget-inline.jpg
│ ├── recaptcha-widget.jpg
│ ├── ui-apple-provider.jpg
│ ├── ui-email-provider.jpg
│ ├── ui-facebook-provider.jpg
│ ├── ui-google-provider.jpg
│ ├── ui-phone-provider.jpg
│ ├── ui-twitter-provider.jpg
│ └── ui
│ │ ├── ui-auth-desktop-side-content.png
│ │ ├── ui-auth-email-google-provider.png
│ │ ├── ui-auth-email-provider.png
│ │ ├── ui-auth-forgot-password.png
│ │ ├── ui-auth-google-email-provider.png
│ │ ├── ui-auth-no-providers.png
│ │ ├── ui-auth-phone-input-screen.png
│ │ ├── ui-auth-profile-screen.png
│ │ ├── ui-auth-register.png
│ │ ├── ui-auth-signin-header.png
│ │ ├── ui-auth-signin-subtitle.png
│ │ ├── ui-auth-theming-button.png
│ │ ├── ui-auth-theming-default.png
│ │ ├── ui-auth-theming-outline-border.png
│ │ ├── ui-email-link-provider.png
│ │ ├── ui-facebook-client-id.png
│ │ ├── ui-google-provider-client-id.png
│ │ └── ui-twitter-app-id.png
├── analytics
│ ├── events.mdx
│ ├── get-started.mdx
│ ├── measure-ecommerce.mdx
│ ├── overview.mdx
│ ├── screenviews.mdx
│ ├── user-properties.mdx
│ └── userid.mdx
├── app-check
│ ├── overview.mdx
│ └── usage.mdx
├── auth
│ ├── error-handling.mdx
│ ├── overview.mdx
│ ├── phone.mdx
│ ├── social.mdx
│ └── usage.mdx
├── cli.mdx
├── core
│ └── usage.mdx
├── crashlytics
│ ├── overview.mdx
│ ├── reports.mdx
│ └── usage.mdx
├── database
│ ├── _usecase_security_preamble.mdx
│ ├── lists-of-data.mdx
│ ├── offline-capabilities.mdx
│ ├── overview.mdx
│ ├── read-and-write.mdx
│ ├── start.mdx
│ ├── structure-data.mdx
│ └── usage.mdx
├── dynamic-links
│ ├── android-integration.mdx
│ ├── apple-integration.mdx
│ ├── overview.mdx
│ └── usage.mdx
├── firestore-odm
│ ├── code-generation.mdx
│ ├── defining-models.mdx
│ ├── overview.mdx
│ ├── references.mdx
│ └── subcollections.mdx
├── firestore
│ ├── 2.0.0_migration.mdx
│ ├── example.mdx
│ ├── overview.mdx
│ └── usage.mdx
├── functions
│ ├── overview.mdx
│ └── usage.mdx
├── in-app-messaging
│ ├── overview.mdx
│ └── usage.mdx
├── installations
│ ├── overview.mdx
│ └── usage.mdx
├── manual-installation.mdx
├── manual-installation
│ ├── android.mdx
│ ├── ios.mdx
│ ├── macos.mdx
│ └── web.mdx
├── messaging
│ ├── apple-integration.mdx
│ ├── notifications.mdx
│ ├── overview.mdx
│ ├── permissions.mdx
│ ├── server-integration.mdx
│ └── usage.mdx
├── migration-guide.mdx
├── ml-model-downloader
│ ├── overview.mdx
│ └── usage.mdx
├── overview.mdx
├── performance
│ ├── overview.mdx
│ └── usage.mdx
├── remote-config
│ ├── overview.mdx
│ └── usage.mdx
├── sidebars.js
├── storage
│ ├── overview.mdx
│ └── usage.mdx
├── testing
│ └── testing.md
├── ui
│ ├── Widgets.jsx
│ ├── auth.mdx
│ ├── auth
│ │ ├── building-a-custom-ui.mdx
│ │ ├── configuring-providers.mdx
│ │ ├── integrating-your-first-screen.mdx
│ │ ├── localization.mdx
│ │ ├── navigation.mdx
│ │ └── theming.mdx
│ ├── database.mdx
│ ├── firestore.mdx
│ ├── overview.mdx
│ └── widgets.mdx
└── versions.js
├── melos.yaml
├── packages
├── cloud_firestore
│ ├── cloud_firestore
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── android
│ │ │ ├── build.gradle
│ │ │ ├── settings.gradle
│ │ │ ├── src
│ │ │ │ └── main
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ └── java
│ │ │ │ │ └── io
│ │ │ │ │ └── flutter
│ │ │ │ │ └── plugins
│ │ │ │ │ └── firebase
│ │ │ │ │ └── firestore
│ │ │ │ │ ├── FlutterFirebaseFirestoreException.java
│ │ │ │ │ ├── FlutterFirebaseFirestoreMessageCodec.java
│ │ │ │ │ ├── FlutterFirebaseFirestorePlugin.java
│ │ │ │ │ ├── FlutterFirebaseFirestoreRegistrar.java
│ │ │ │ │ ├── FlutterFirebaseFirestoreTransactionResult.java
│ │ │ │ │ ├── streamhandler
│ │ │ │ │ ├── DocumentSnapshotsStreamHandler.java
│ │ │ │ │ ├── LoadBundleStreamHandler.java
│ │ │ │ │ ├── OnTransactionResultListener.java
│ │ │ │ │ ├── QuerySnapshotsStreamHandler.java
│ │ │ │ │ ├── SnapshotsInSyncStreamHandler.java
│ │ │ │ │ └── TransactionStreamHandler.java
│ │ │ │ │ └── utils
│ │ │ │ │ └── ExceptionConverter.java
│ │ │ └── user-agent.gradle
│ │ ├── dartpad
│ │ │ ├── dartpad_metadata.yaml
│ │ │ └── lib
│ │ │ │ └── main.dart
│ │ ├── example
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── analysis_options.yaml
│ │ │ ├── android
│ │ │ │ ├── app
│ │ │ │ │ ├── build.gradle
│ │ │ │ │ ├── google-services.json
│ │ │ │ │ ├── gradle
│ │ │ │ │ │ └── wrapper
│ │ │ │ │ │ │ └── gradle-wrapper.properties
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── androidTest
│ │ │ │ │ │ └── java
│ │ │ │ │ │ │ └── io
│ │ │ │ │ │ │ └── flutter
│ │ │ │ │ │ │ └── plugins
│ │ │ │ │ │ │ └── firebase
│ │ │ │ │ │ │ └── firestoreexample
│ │ │ │ │ │ │ └── FlutterActivityTest.java
│ │ │ │ │ │ └── main
│ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ └── res
│ │ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ └── mipmap-xxxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ ├── build.gradle
│ │ │ │ ├── gradle.properties
│ │ │ │ ├── gradle
│ │ │ │ │ └── wrapper
│ │ │ │ │ │ └── gradle-wrapper.properties
│ │ │ │ └── settings.gradle
│ │ │ ├── ios
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ └── Release.xcconfig
│ │ │ │ ├── Podfile
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ └── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.h
│ │ │ │ │ ├── AppDelegate.m
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ └── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ └── main.m
│ │ │ ├── lib
│ │ │ │ ├── firebase_config.dart
│ │ │ │ └── main.dart
│ │ │ ├── macos
│ │ │ │ ├── .gitignore
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── Flutter-Debug.xcconfig
│ │ │ │ │ └── Flutter-Release.xcconfig
│ │ │ │ ├── Podfile
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.swift
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ └── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── app_icon_1024.png
│ │ │ │ │ │ ├── app_icon_128.png
│ │ │ │ │ │ ├── app_icon_16.png
│ │ │ │ │ │ ├── app_icon_256.png
│ │ │ │ │ │ ├── app_icon_32.png
│ │ │ │ │ │ ├── app_icon_512.png
│ │ │ │ │ │ └── app_icon_64.png
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ └── MainMenu.xib
│ │ │ │ │ ├── Configs
│ │ │ │ │ ├── AppInfo.xcconfig
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ ├── Release.xcconfig
│ │ │ │ │ └── Warnings.xcconfig
│ │ │ │ │ ├── DebugProfile.entitlements
│ │ │ │ │ ├── GoogleService-Info.plist
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ ├── MainFlutterWindow.swift
│ │ │ │ │ └── Release.entitlements
│ │ │ ├── pubspec.yaml
│ │ │ ├── test_driver
│ │ │ │ ├── cloud_firestore_e2e.dart
│ │ │ │ ├── cloud_firestore_e2e_test.dart
│ │ │ │ ├── collection_reference_e2e.dart
│ │ │ │ ├── document_change_e2e.dart
│ │ │ │ ├── document_reference_e2e.dart
│ │ │ │ ├── field_value_e2e.dart
│ │ │ │ ├── firebase_config.dart
│ │ │ │ ├── geo_point_e2e.dart
│ │ │ │ ├── instance_e2e.dart
│ │ │ │ ├── load_bundle_e2e.dart
│ │ │ │ ├── query_e2e.dart
│ │ │ │ ├── snapshot_metadata_e2e.dart
│ │ │ │ ├── timestamp_e2e.dart
│ │ │ │ ├── transaction_e2e.dart
│ │ │ │ └── write_batch_e2e.dart
│ │ │ └── web
│ │ │ │ └── index.html
│ │ ├── ios
│ │ │ ├── Assets
│ │ │ │ └── .gitkeep
│ │ │ ├── Classes
│ │ │ │ ├── FLTDocumentSnapshotStreamHandler.m
│ │ │ │ ├── FLTFirebaseFirestorePlugin.m
│ │ │ │ ├── FLTFirebaseFirestoreReader.m
│ │ │ │ ├── FLTFirebaseFirestoreUtils.m
│ │ │ │ ├── FLTFirebaseFirestoreWriter.m
│ │ │ │ ├── FLTLoadBundleStreamHandler.m
│ │ │ │ ├── FLTQuerySnapshotStreamHandler.m
│ │ │ │ ├── FLTSnapshotsInSyncStreamHandler.m
│ │ │ │ ├── FLTTransactionStreamHandler.m
│ │ │ │ ├── Private
│ │ │ │ │ ├── FLTDocumentSnapshotStreamHandler.h
│ │ │ │ │ ├── FLTFirebaseFirestoreReader.h
│ │ │ │ │ ├── FLTFirebaseFirestoreUtils.h
│ │ │ │ │ ├── FLTFirebaseFirestoreWriter.h
│ │ │ │ │ ├── FLTLoadBundleStreamHandler.h
│ │ │ │ │ ├── FLTQuerySnapshotStreamHandler.h
│ │ │ │ │ ├── FLTSnapshotsInSyncStreamHandler.h
│ │ │ │ │ └── FLTTransactionStreamHandler.h
│ │ │ │ └── Public
│ │ │ │ │ └── FLTFirebaseFirestorePlugin.h
│ │ │ └── cloud_firestore.podspec
│ │ ├── lib
│ │ │ ├── cloud_firestore.dart
│ │ │ └── src
│ │ │ │ ├── collection_reference.dart
│ │ │ │ ├── document_change.dart
│ │ │ │ ├── document_reference.dart
│ │ │ │ ├── document_snapshot.dart
│ │ │ │ ├── field_value.dart
│ │ │ │ ├── firestore.dart
│ │ │ │ ├── load_bundle_task.dart
│ │ │ │ ├── load_bundle_task_snapshot.dart
│ │ │ │ ├── query.dart
│ │ │ │ ├── query_document_snapshot.dart
│ │ │ │ ├── query_snapshot.dart
│ │ │ │ ├── snapshot_metadata.dart
│ │ │ │ ├── transaction.dart
│ │ │ │ ├── utils
│ │ │ │ └── codec_utility.dart
│ │ │ │ └── write_batch.dart
│ │ ├── macos
│ │ │ ├── Assets
│ │ │ │ └── .gitkeep
│ │ │ ├── Classes
│ │ │ │ ├── FLTDocumentSnapshotStreamHandler.m
│ │ │ │ ├── FLTFirebaseFirestorePlugin.m
│ │ │ │ ├── FLTFirebaseFirestoreReader.m
│ │ │ │ ├── FLTFirebaseFirestoreUtils.m
│ │ │ │ ├── FLTFirebaseFirestoreWriter.m
│ │ │ │ ├── FLTLoadBundleStreamHandler.m
│ │ │ │ ├── FLTQuerySnapshotStreamHandler.m
│ │ │ │ ├── FLTSnapshotsInSyncStreamHandler.m
│ │ │ │ ├── FLTTransactionStreamHandler.m
│ │ │ │ ├── Private
│ │ │ │ │ ├── FLTDocumentSnapshotStreamHandler.h
│ │ │ │ │ ├── FLTFirebaseFirestoreReader.h
│ │ │ │ │ ├── FLTFirebaseFirestoreUtils.h
│ │ │ │ │ ├── FLTFirebaseFirestoreWriter.h
│ │ │ │ │ ├── FLTLoadBundleStreamHandler.h
│ │ │ │ │ ├── FLTQuerySnapshotStreamHandler.h
│ │ │ │ │ ├── FLTSnapshotsInSyncStreamHandler.h
│ │ │ │ │ └── FLTTransactionStreamHandler.h
│ │ │ │ └── Public
│ │ │ │ │ └── FLTFirebaseFirestorePlugin.h
│ │ │ └── cloud_firestore.podspec
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ ├── cloud_firestore_test.dart
│ │ │ ├── collection_reference_test.dart
│ │ │ ├── document_reference_test.dart
│ │ │ ├── document_snapshot_test.dart
│ │ │ ├── field_value_test.dart
│ │ │ ├── mock.dart
│ │ │ ├── query_test.dart
│ │ │ ├── test_firestore_message_codec.dart
│ │ │ └── write_batch_test.dart
│ ├── cloud_firestore_platform_interface
│ │ ├── .gitignore
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── lib
│ │ │ ├── cloud_firestore_platform_interface.dart
│ │ │ └── src
│ │ │ │ ├── blob.dart
│ │ │ │ ├── field_path.dart
│ │ │ │ ├── geo_point.dart
│ │ │ │ ├── get_options.dart
│ │ │ │ ├── internal
│ │ │ │ ├── field_path_type.dart
│ │ │ │ └── pointer.dart
│ │ │ │ ├── load_bundle_task_state.dart
│ │ │ │ ├── method_channel
│ │ │ │ ├── method_channel_collection_reference.dart
│ │ │ │ ├── method_channel_document_change.dart
│ │ │ │ ├── method_channel_document_reference.dart
│ │ │ │ ├── method_channel_field_value.dart
│ │ │ │ ├── method_channel_field_value_factory.dart
│ │ │ │ ├── method_channel_firestore.dart
│ │ │ │ ├── method_channel_load_bundle_task.dart
│ │ │ │ ├── method_channel_query.dart
│ │ │ │ ├── method_channel_query_snapshot.dart
│ │ │ │ ├── method_channel_transaction.dart
│ │ │ │ ├── method_channel_write_batch.dart
│ │ │ │ └── utils
│ │ │ │ │ ├── auto_id_generator.dart
│ │ │ │ │ ├── exception.dart
│ │ │ │ │ ├── firestore_message_codec.dart
│ │ │ │ │ ├── maps.dart
│ │ │ │ │ └── source.dart
│ │ │ │ ├── persistence_settings.dart
│ │ │ │ ├── platform_interface
│ │ │ │ ├── platform_interface_collection_reference.dart
│ │ │ │ ├── platform_interface_document_change.dart
│ │ │ │ ├── platform_interface_document_reference.dart
│ │ │ │ ├── platform_interface_document_snapshot.dart
│ │ │ │ ├── platform_interface_field_value.dart
│ │ │ │ ├── platform_interface_field_value_factory.dart
│ │ │ │ ├── platform_interface_firestore.dart
│ │ │ │ ├── platform_interface_load_bundle_task.dart
│ │ │ │ ├── platform_interface_load_bundle_task_snapshot.dart
│ │ │ │ ├── platform_interface_query.dart
│ │ │ │ ├── platform_interface_query_snapshot.dart
│ │ │ │ ├── platform_interface_transaction.dart
│ │ │ │ ├── platform_interface_write_batch.dart
│ │ │ │ └── utils
│ │ │ │ │ └── load_bundle_task_state.dart
│ │ │ │ ├── set_options.dart
│ │ │ │ ├── settings.dart
│ │ │ │ ├── snapshot_metadata.dart
│ │ │ │ ├── source.dart
│ │ │ │ └── timestamp.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ ├── field_path_test.dart
│ │ │ ├── geo_point_test.dart
│ │ │ ├── get_options_test.dart
│ │ │ ├── internal_tests
│ │ │ └── pointer_test.dart
│ │ │ ├── method_channel_tests
│ │ │ ├── method_channel_cloud_firestore_test.dart
│ │ │ ├── method_channel_collection_reference_test.dart
│ │ │ ├── method_channel_document_reference_test.dart
│ │ │ ├── method_channel_field_value_factory_test.dart
│ │ │ ├── method_channel_query_test.dart
│ │ │ ├── method_channel_transaction_test.dart
│ │ │ ├── method_channel_write_batch_test.dart
│ │ │ └── utils_test
│ │ │ │ └── firestore_message_codec_test.dart
│ │ │ ├── platform_interface_tests
│ │ │ ├── platform_interface_collection_reference_test.dart
│ │ │ ├── platform_interface_document_change_test.dart
│ │ │ ├── platform_interface_document_reference_test.dart
│ │ │ ├── platform_interface_document_snapshot_test.dart
│ │ │ ├── platform_interface_field_value_factory_test.dart
│ │ │ ├── platform_interface_firestore_test.dart
│ │ │ ├── platform_interface_query_snapshot_test.dart
│ │ │ ├── platform_interface_query_test.dart
│ │ │ ├── platform_interface_transaction_test.dart
│ │ │ └── platform_interface_write_batch_test.dart
│ │ │ ├── set_options_test.dart
│ │ │ ├── settings_test.dart
│ │ │ ├── timestamp_test.dart
│ │ │ └── utils
│ │ │ ├── test_common.dart
│ │ │ └── test_firestore_message_codec.dart
│ └── cloud_firestore_web
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── ios
│ │ └── cloud_firestore_web.podspec
│ │ ├── lib
│ │ ├── cloud_firestore_web.dart
│ │ └── src
│ │ │ ├── collection_reference_web.dart
│ │ │ ├── document_reference_web.dart
│ │ │ ├── field_value_factory_web.dart
│ │ │ ├── field_value_web.dart
│ │ │ ├── internals.dart
│ │ │ ├── interop
│ │ │ ├── firebase_interop.dart
│ │ │ ├── firestore.dart
│ │ │ ├── firestore_interop.dart
│ │ │ └── utils
│ │ │ │ └── utils.dart
│ │ │ ├── load_bundle_task_web.dart
│ │ │ ├── query_web.dart
│ │ │ ├── transaction_web.dart
│ │ │ ├── utils
│ │ │ ├── decode_utility.dart
│ │ │ ├── encode_utility.dart
│ │ │ └── web_utils.dart
│ │ │ └── write_batch_web.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ ├── field_value_factory_web_test.dart
│ │ └── test_common.dart
├── cloud_firestore_odm
│ ├── README.md
│ ├── all_lint_rules.yaml
│ ├── analysis_options.yaml
│ ├── cloud_firestore_odm
│ │ ├── .gitignore
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── example
│ │ │ ├── .gitignore
│ │ │ ├── .metadata
│ │ │ ├── lib
│ │ │ │ ├── integration.g.dart
│ │ │ │ ├── main.dart
│ │ │ │ ├── movie.dart
│ │ │ │ ├── movie.g.dart
│ │ │ │ ├── movie_detail_screen.dart
│ │ │ │ ├── movie_item.dart
│ │ │ │ └── movies_screen.dart
│ │ │ ├── pubspec.yaml
│ │ │ ├── test_driver
│ │ │ │ ├── cloud_firestore_odm_e2e.dart
│ │ │ │ ├── cloud_firestore_odm_e2e_test.dart
│ │ │ │ ├── collection_reference_test.dart
│ │ │ │ ├── common.dart
│ │ │ │ ├── document_reference_test.dart
│ │ │ │ ├── firestore_builder_test.dart
│ │ │ │ ├── path_test.dart
│ │ │ │ └── query_reference_test.dart
│ │ │ └── web
│ │ │ │ ├── favicon.png
│ │ │ │ ├── icons
│ │ │ │ ├── Icon-192.png
│ │ │ │ ├── Icon-512.png
│ │ │ │ ├── Icon-maskable-192.png
│ │ │ │ └── Icon-maskable-512.png
│ │ │ │ ├── index.html
│ │ │ │ └── manifest.json
│ │ ├── lib
│ │ │ ├── annotation.dart
│ │ │ ├── cloud_firestore_odm.dart
│ │ │ └── src
│ │ │ │ ├── firestore_builder.dart
│ │ │ │ ├── firestore_reference.dart
│ │ │ │ └── validator.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ ├── common.dart
│ │ │ └── firestore_builder_test.dart
│ └── cloud_firestore_odm_generator
│ │ ├── .gitignore
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── build.yaml
│ │ ├── cloud_firestore_odm_generator_integration_test
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── lib
│ │ │ ├── model.dart
│ │ │ ├── model.g.dart
│ │ │ ├── simple.dart
│ │ │ └── simple.g.dart
│ │ └── pubspec.yaml
│ │ ├── lib
│ │ ├── cloud_firestore_odm_generator.dart
│ │ └── src
│ │ │ ├── collection_generator.dart
│ │ │ ├── parse_generator.dart
│ │ │ ├── templates
│ │ │ ├── collection_reference.dart
│ │ │ ├── document_reference.dart
│ │ │ ├── document_snapshot.dart
│ │ │ ├── query_document_snapshot.dart
│ │ │ ├── query_reference.dart
│ │ │ ├── query_snapshot.dart
│ │ │ └── template.dart
│ │ │ └── validator_generator.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ ├── collection_reference_test.dart
│ │ ├── document_reference_test.dart
│ │ └── query_reference_test.dart
├── cloud_functions
│ ├── cloud_functions
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── android
│ │ │ ├── build.gradle
│ │ │ ├── gradle.properties
│ │ │ ├── settings.gradle
│ │ │ ├── src
│ │ │ │ ├── debug
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ └── main
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ └── java
│ │ │ │ │ └── io
│ │ │ │ │ └── flutter
│ │ │ │ │ └── plugins
│ │ │ │ │ └── firebase
│ │ │ │ │ └── functions
│ │ │ │ │ ├── FlutterFirebaseAppRegistrar.java
│ │ │ │ │ └── FlutterFirebaseFunctionsPlugin.java
│ │ │ └── user-agent.gradle
│ │ ├── example
│ │ │ ├── .metadata
│ │ │ ├── README.md
│ │ │ ├── analysis_options.yaml
│ │ │ ├── android
│ │ │ │ ├── app
│ │ │ │ │ ├── build.gradle
│ │ │ │ │ ├── google-services.json
│ │ │ │ │ ├── gradle
│ │ │ │ │ │ └── wrapper
│ │ │ │ │ │ │ └── gradle-wrapper.properties
│ │ │ │ │ └── src
│ │ │ │ │ │ └── main
│ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ └── res
│ │ │ │ │ │ ├── drawable
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ └── values
│ │ │ │ │ │ └── styles.xml
│ │ │ │ ├── build.gradle
│ │ │ │ ├── gradle.properties
│ │ │ │ ├── gradle
│ │ │ │ │ └── wrapper
│ │ │ │ │ │ └── gradle-wrapper.properties
│ │ │ │ └── settings.gradle
│ │ │ ├── ios
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ └── Release.xcconfig
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.h
│ │ │ │ │ ├── AppDelegate.m
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ │ │ └── LaunchImage.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── LaunchImage.png
│ │ │ │ │ │ ├── LaunchImage@2x.png
│ │ │ │ │ │ ├── LaunchImage@3x.png
│ │ │ │ │ │ └── README.md
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ └── main.m
│ │ │ ├── lib
│ │ │ │ ├── firebase_options.dart
│ │ │ │ └── main.dart
│ │ │ ├── macos
│ │ │ │ ├── .gitignore
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── Flutter-Debug.xcconfig
│ │ │ │ │ └── Flutter-Release.xcconfig
│ │ │ │ ├── Podfile
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.swift
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ └── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── app_icon_1024.png
│ │ │ │ │ │ ├── app_icon_128.png
│ │ │ │ │ │ ├── app_icon_16.png
│ │ │ │ │ │ ├── app_icon_256.png
│ │ │ │ │ │ ├── app_icon_32.png
│ │ │ │ │ │ ├── app_icon_512.png
│ │ │ │ │ │ └── app_icon_64.png
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ └── MainMenu.xib
│ │ │ │ │ ├── Configs
│ │ │ │ │ ├── AppInfo.xcconfig
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ ├── Release.xcconfig
│ │ │ │ │ └── Warnings.xcconfig
│ │ │ │ │ ├── DebugProfile.entitlements
│ │ │ │ │ ├── GoogleService-Info.plist
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ ├── MainFlutterWindow.swift
│ │ │ │ │ └── Release.entitlements
│ │ │ ├── pubspec.yaml
│ │ │ ├── test_driver
│ │ │ │ ├── cloud_functions_e2e.dart
│ │ │ │ ├── cloud_functions_e2e_test.dart
│ │ │ │ ├── firebase_config.dart
│ │ │ │ └── sample.dart
│ │ │ └── web
│ │ │ │ └── index.html
│ │ ├── ios
│ │ │ ├── Assets
│ │ │ │ └── .gitkeep
│ │ │ ├── Classes
│ │ │ │ ├── FLTFirebaseFunctionsPlugin.h
│ │ │ │ └── FLTFirebaseFunctionsPlugin.m
│ │ │ └── cloud_functions.podspec
│ │ ├── lib
│ │ │ ├── cloud_functions.dart
│ │ │ └── src
│ │ │ │ ├── firebase_functions.dart
│ │ │ │ ├── https_callable.dart
│ │ │ │ └── https_callable_result.dart
│ │ ├── macos
│ │ │ ├── Assets
│ │ │ │ └── .gitkeep
│ │ │ ├── Classes
│ │ │ │ ├── FLTFirebaseFunctionsPlugin.h
│ │ │ │ └── FLTFirebaseFunctionsPlugin.m
│ │ │ └── cloud_functions.podspec
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ ├── firebase_functions_test.dart
│ │ │ ├── https_callable_test.dart
│ │ │ ├── mock.dart
│ │ │ └── sample.dart
│ ├── cloud_functions_platform_interface
│ │ ├── .gitignore
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── lib
│ │ │ ├── cloud_functions_platform_interface.dart
│ │ │ └── src
│ │ │ │ ├── firebase_functions_exception.dart
│ │ │ │ ├── https_callable_options.dart
│ │ │ │ ├── method_channel
│ │ │ │ ├── method_channel_firebase_functions.dart
│ │ │ │ ├── method_channel_https_callable.dart
│ │ │ │ └── utils
│ │ │ │ │ └── exception.dart
│ │ │ │ └── platform_interface
│ │ │ │ ├── platform_interface_firebase_functions.dart
│ │ │ │ └── platform_interface_https_callable.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ ├── method_channel
│ │ │ ├── method_channel_firebase_functions_test.dart
│ │ │ ├── method_channel_https_callable_test.dart
│ │ │ └── utils
│ │ │ │ └── exception_test.dart
│ │ │ ├── mock.dart
│ │ │ └── platform_interface
│ │ │ ├── platform_interface_firebase_functions_test.dart
│ │ │ └── platform_interface_https_callable_test.dart
│ └── cloud_functions_web
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── ios
│ │ └── cloud_functions_web.podspec
│ │ ├── lib
│ │ ├── cloud_functions_web.dart
│ │ ├── https_callable_web.dart
│ │ ├── interop
│ │ │ ├── firebase_interop.dart
│ │ │ ├── functions.dart
│ │ │ └── functions_interop.dart
│ │ └── utils.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ ├── cloud_functions_web_test.dart
│ │ └── mock
│ │ └── firebase_mock.dart
├── firebase_admob
│ └── README.md
├── firebase_analytics
│ ├── firebase_analytics
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── android
│ │ │ ├── build.gradle
│ │ │ ├── gradle.properties
│ │ │ ├── settings.gradle
│ │ │ ├── src
│ │ │ │ └── main
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ └── java
│ │ │ │ │ └── io
│ │ │ │ │ └── flutter
│ │ │ │ │ └── plugins
│ │ │ │ │ └── firebase
│ │ │ │ │ └── analytics
│ │ │ │ │ ├── Constants.java
│ │ │ │ │ ├── FlutterFirebaseAnalyticsPlugin.java
│ │ │ │ │ └── FlutterFirebaseAppRegistrar.java
│ │ │ └── user-agent.gradle
│ │ ├── example
│ │ │ ├── .gitignore
│ │ │ ├── .metadata
│ │ │ ├── README.md
│ │ │ ├── analysis_options.yaml
│ │ │ ├── android
│ │ │ │ ├── app
│ │ │ │ │ ├── build.gradle
│ │ │ │ │ ├── google-services.json
│ │ │ │ │ ├── gradle
│ │ │ │ │ │ └── wrapper
│ │ │ │ │ │ │ └── gradle-wrapper.properties
│ │ │ │ │ └── src
│ │ │ │ │ │ └── main
│ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ ├── java
│ │ │ │ │ │ └── io
│ │ │ │ │ │ │ └── flutter
│ │ │ │ │ │ │ └── plugins
│ │ │ │ │ │ │ └── .gitignore
│ │ │ │ │ │ └── res
│ │ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ └── mipmap-xxxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ ├── build.gradle
│ │ │ │ ├── gradle.properties
│ │ │ │ ├── gradle
│ │ │ │ │ └── wrapper
│ │ │ │ │ │ └── gradle-wrapper.properties
│ │ │ │ └── settings.gradle
│ │ │ ├── ios
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ └── Release.xcconfig
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ └── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.h
│ │ │ │ │ ├── AppDelegate.m
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ └── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ └── main.m
│ │ │ ├── lib
│ │ │ │ ├── firebase_config.dart
│ │ │ │ ├── main.dart
│ │ │ │ └── tabs_page.dart
│ │ │ ├── macos
│ │ │ │ ├── .gitignore
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── Flutter-Debug.xcconfig
│ │ │ │ │ └── Flutter-Release.xcconfig
│ │ │ │ ├── Podfile
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.swift
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ └── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── app_icon_1024.png
│ │ │ │ │ │ ├── app_icon_128.png
│ │ │ │ │ │ ├── app_icon_16.png
│ │ │ │ │ │ ├── app_icon_256.png
│ │ │ │ │ │ ├── app_icon_32.png
│ │ │ │ │ │ ├── app_icon_512.png
│ │ │ │ │ │ └── app_icon_64.png
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ └── MainMenu.xib
│ │ │ │ │ ├── Configs
│ │ │ │ │ ├── AppInfo.xcconfig
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ ├── Release.xcconfig
│ │ │ │ │ └── Warnings.xcconfig
│ │ │ │ │ ├── DebugProfile.entitlements
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ ├── MainFlutterWindow.swift
│ │ │ │ │ └── Release.entitlements
│ │ │ ├── pubspec.yaml
│ │ │ ├── test_driver
│ │ │ │ ├── firebase_analytics_e2e.dart
│ │ │ │ └── firebase_analytics_e2e_test.dart
│ │ │ └── web
│ │ │ │ ├── favicon.png
│ │ │ │ ├── icons
│ │ │ │ ├── Icon-192.png
│ │ │ │ └── Icon-512.png
│ │ │ │ ├── index.html
│ │ │ │ └── manifest.json
│ │ ├── ios
│ │ │ ├── Assets
│ │ │ │ └── .gitkeep
│ │ │ ├── Classes
│ │ │ │ ├── FLTFirebaseAnalyticsPlugin.h
│ │ │ │ └── FLTFirebaseAnalyticsPlugin.m
│ │ │ └── firebase_analytics.podspec
│ │ ├── lib
│ │ │ ├── firebase_analytics.dart
│ │ │ ├── observer.dart
│ │ │ └── src
│ │ │ │ └── firebase_analytics.dart
│ │ ├── macos
│ │ │ ├── Classes
│ │ │ │ ├── FLTFirebaseAnalyticsPlugin.h
│ │ │ │ └── FLTFirebaseAnalyticsPlugin.m
│ │ │ └── firebase_analytics.podspec
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ ├── firebase_analytics_test.dart
│ │ │ └── mock.dart
│ ├── firebase_analytics_platform_interface
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── lib
│ │ │ ├── firebase_analytics_platform_interface.dart
│ │ │ └── src
│ │ │ │ ├── analytics_call_options.dart
│ │ │ │ ├── analytics_event_item.dart
│ │ │ │ ├── method_channel
│ │ │ │ ├── method_channel_firebase_analytics.dart
│ │ │ │ └── utils
│ │ │ │ │ └── exception.dart
│ │ │ │ └── platform_interface
│ │ │ │ └── platform_interface_firebase_analytics.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ ├── method_channel_tests
│ │ │ └── method_channel_firebase_analytics_test.dart
│ │ │ ├── mock.dart
│ │ │ └── platform_interface_tests
│ │ │ └── platform_interface_analytics_test.dart
│ └── firebase_analytics_web
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── ios
│ │ └── firebase_analytics_web.podspec
│ │ ├── lib
│ │ ├── firebase_analytics_web.dart
│ │ ├── interop
│ │ │ ├── analytics.dart
│ │ │ ├── analytics_interop.dart
│ │ │ └── firebase_interop.dart
│ │ └── utils
│ │ │ └── exception.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ └── firebase_analytics_web_test.dart
├── firebase_app_check
│ ├── firebase_app_check
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── android
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── gradle.properties
│ │ │ ├── gradle
│ │ │ │ └── wrapper
│ │ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── settings.gradle
│ │ │ ├── src
│ │ │ │ └── main
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ └── java
│ │ │ │ │ └── io
│ │ │ │ │ └── flutter
│ │ │ │ │ └── plugins
│ │ │ │ │ └── firebase
│ │ │ │ │ └── appcheck
│ │ │ │ │ ├── FlutterFirebaseAppCheckPlugin.java
│ │ │ │ │ ├── FlutterFirebaseAppRegistrar.java
│ │ │ │ │ └── TokenChannelStreamHandler.java
│ │ │ └── user-agent.gradle
│ │ ├── example
│ │ │ ├── .gitignore
│ │ │ ├── .metadata
│ │ │ ├── README.md
│ │ │ ├── analysis_options.yaml
│ │ │ ├── android
│ │ │ │ ├── .gitignore
│ │ │ │ ├── app
│ │ │ │ │ ├── build.gradle
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── debug
│ │ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ │ │ ├── main
│ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ └── res
│ │ │ │ │ │ │ ├── drawable-v21
│ │ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ │ ├── drawable
│ │ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── values-night
│ │ │ │ │ │ │ └── styles.xml
│ │ │ │ │ │ │ └── values
│ │ │ │ │ │ │ └── styles.xml
│ │ │ │ │ │ └── profile
│ │ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── build.gradle
│ │ │ │ ├── gradle.properties
│ │ │ │ ├── gradle
│ │ │ │ │ └── wrapper
│ │ │ │ │ │ └── gradle-wrapper.properties
│ │ │ │ └── settings.gradle
│ │ │ ├── ios
│ │ │ │ ├── .gitignore
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ └── Release.xcconfig
│ │ │ │ ├── Podfile
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.h
│ │ │ │ │ ├── AppDelegate.m
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ │ │ └── LaunchImage.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── LaunchImage.png
│ │ │ │ │ │ ├── LaunchImage@2x.png
│ │ │ │ │ │ ├── LaunchImage@3x.png
│ │ │ │ │ │ └── README.md
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ ├── Runner.entitlements
│ │ │ │ │ └── main.m
│ │ │ ├── lib
│ │ │ │ └── main.dart
│ │ │ ├── macos
│ │ │ │ ├── .gitignore
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── Flutter-Debug.xcconfig
│ │ │ │ │ └── Flutter-Release.xcconfig
│ │ │ │ ├── Podfile
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.swift
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ └── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── app_icon_1024.png
│ │ │ │ │ │ ├── app_icon_128.png
│ │ │ │ │ │ ├── app_icon_16.png
│ │ │ │ │ │ ├── app_icon_256.png
│ │ │ │ │ │ ├── app_icon_32.png
│ │ │ │ │ │ ├── app_icon_512.png
│ │ │ │ │ │ └── app_icon_64.png
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ └── MainMenu.xib
│ │ │ │ │ ├── Configs
│ │ │ │ │ ├── AppInfo.xcconfig
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ ├── Release.xcconfig
│ │ │ │ │ └── Warnings.xcconfig
│ │ │ │ │ ├── DebugProfile.entitlements
│ │ │ │ │ ├── GoogleService-Info.plist
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ ├── MainFlutterWindow.swift
│ │ │ │ │ └── Release.entitlements
│ │ │ ├── pubspec.yaml
│ │ │ └── web
│ │ │ │ ├── favicon.png
│ │ │ │ ├── icons
│ │ │ │ ├── Icon-192.png
│ │ │ │ └── Icon-512.png
│ │ │ │ ├── index.html
│ │ │ │ └── manifest.json
│ │ ├── ios
│ │ │ ├── .gitignore
│ │ │ ├── Assets
│ │ │ │ └── .gitkeep
│ │ │ ├── Classes
│ │ │ │ ├── FLTFirebaseAppCheckPlugin.h
│ │ │ │ ├── FLTFirebaseAppCheckPlugin.m
│ │ │ │ ├── FLTTokenRefreshStreamHandler.h
│ │ │ │ └── FLTTokenRefreshStreamHandler.m
│ │ │ └── firebase_app_check.podspec
│ │ ├── lib
│ │ │ ├── firebase_app_check.dart
│ │ │ └── src
│ │ │ │ └── firebase_app_check.dart
│ │ ├── macos
│ │ │ ├── Classes
│ │ │ │ ├── FLTFirebaseAppCheckPlugin.h
│ │ │ │ ├── FLTFirebaseAppCheckPlugin.m
│ │ │ │ ├── FLTTokenRefreshStreamHandler.h
│ │ │ │ └── FLTTokenRefreshStreamHandler.m
│ │ │ └── firebase_app_check.podspec
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ ├── firebase_app_check_test.dart
│ │ │ └── mock.dart
│ ├── firebase_app_check_platform_interface
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── lib
│ │ │ ├── firebase_app_check_platform_interface.dart
│ │ │ └── src
│ │ │ │ ├── method_channel
│ │ │ │ ├── method_channel_firebase_app_check.dart
│ │ │ │ └── utils
│ │ │ │ │ └── exception.dart
│ │ │ │ └── platform_interface
│ │ │ │ └── platform_interface_firebase_app_check.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ ├── method_channel_tests
│ │ │ └── method_channel_firebase_app_check_test.dart
│ │ │ ├── mock.dart
│ │ │ └── platform_interface_tests
│ │ │ └── platform_interface_app_check_test.dart
│ └── firebase_app_check_web
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── lib
│ │ ├── firebase_app_check_web.dart
│ │ └── src
│ │ │ ├── internals.dart
│ │ │ └── interop
│ │ │ ├── app_check.dart
│ │ │ ├── app_check_interop.dart
│ │ │ └── firebase_interop.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ └── firebase_app_check_web_test.dart
├── firebase_app_installations
│ ├── firebase_app_installations
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── android
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── gradle.properties
│ │ │ ├── gradle
│ │ │ │ └── wrapper
│ │ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── settings.gradle
│ │ │ ├── src
│ │ │ │ └── main
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ └── java
│ │ │ │ │ └── io
│ │ │ │ │ └── flutter
│ │ │ │ │ └── plugins
│ │ │ │ │ └── firebase
│ │ │ │ │ └── installations
│ │ │ │ │ └── firebase_app_installations
│ │ │ │ │ ├── FirebaseInstallationsPlugin.java
│ │ │ │ │ ├── FlutterFirebaseAppRegistrar.java
│ │ │ │ │ └── TokenChannelStreamHandler.java
│ │ │ └── user-agent.gradle
│ │ ├── example
│ │ │ ├── .gitignore
│ │ │ ├── .metadata
│ │ │ ├── README.md
│ │ │ ├── analysis_options.yaml
│ │ │ ├── android
│ │ │ │ ├── .gitignore
│ │ │ │ ├── app
│ │ │ │ │ ├── build.gradle
│ │ │ │ │ ├── google-services.json
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── debug
│ │ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ │ │ ├── main
│ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ ├── kotlin
│ │ │ │ │ │ │ └── com
│ │ │ │ │ │ │ │ └── example
│ │ │ │ │ │ │ │ └── example
│ │ │ │ │ │ │ │ └── MainActivity.kt
│ │ │ │ │ │ └── res
│ │ │ │ │ │ │ ├── drawable-v21
│ │ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ │ ├── drawable
│ │ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── values-night
│ │ │ │ │ │ │ └── styles.xml
│ │ │ │ │ │ │ └── values
│ │ │ │ │ │ │ └── styles.xml
│ │ │ │ │ │ └── profile
│ │ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── build.gradle
│ │ │ │ ├── gradle.properties
│ │ │ │ ├── gradle
│ │ │ │ │ └── wrapper
│ │ │ │ │ │ └── gradle-wrapper.properties
│ │ │ │ └── settings.gradle
│ │ │ ├── ios
│ │ │ │ ├── .gitignore
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ └── Release.xcconfig
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.swift
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ │ │ └── LaunchImage.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── LaunchImage.png
│ │ │ │ │ │ ├── LaunchImage@2x.png
│ │ │ │ │ │ ├── LaunchImage@3x.png
│ │ │ │ │ │ └── README.md
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ │ ├── GoogleService-Info.plist
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ └── Runner-Bridging-Header.h
│ │ │ ├── lib
│ │ │ │ ├── firebase_config.dart
│ │ │ │ └── main.dart
│ │ │ ├── macos
│ │ │ │ ├── .gitignore
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── Flutter-Debug.xcconfig
│ │ │ │ │ └── Flutter-Release.xcconfig
│ │ │ │ ├── Podfile
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.swift
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ └── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── app_icon_1024.png
│ │ │ │ │ │ ├── app_icon_128.png
│ │ │ │ │ │ ├── app_icon_16.png
│ │ │ │ │ │ ├── app_icon_256.png
│ │ │ │ │ │ ├── app_icon_32.png
│ │ │ │ │ │ ├── app_icon_512.png
│ │ │ │ │ │ └── app_icon_64.png
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ └── MainMenu.xib
│ │ │ │ │ ├── Configs
│ │ │ │ │ ├── AppInfo.xcconfig
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ ├── Release.xcconfig
│ │ │ │ │ └── Warnings.xcconfig
│ │ │ │ │ ├── DebugProfile.entitlements
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ ├── MainFlutterWindow.swift
│ │ │ │ │ └── Release.entitlements
│ │ │ ├── pubspec.yaml
│ │ │ └── web
│ │ │ │ ├── favicon.png
│ │ │ │ ├── icons
│ │ │ │ ├── Icon-192.png
│ │ │ │ ├── Icon-512.png
│ │ │ │ ├── Icon-maskable-192.png
│ │ │ │ └── Icon-maskable-512.png
│ │ │ │ ├── index.html
│ │ │ │ └── manifest.json
│ │ ├── ios
│ │ │ ├── .gitignore
│ │ │ ├── Assets
│ │ │ │ └── .gitkeep
│ │ │ ├── Classes
│ │ │ │ ├── FirebaseInstallationsPlugin.h
│ │ │ │ ├── FirebaseInstallationsPlugin.m
│ │ │ │ ├── FirebaseInstallationsPlugin.swift
│ │ │ │ └── IdChangedStreamHandler.swift
│ │ │ └── firebase_app_installations.podspec
│ │ ├── lib
│ │ │ ├── firebase_app_installations.dart
│ │ │ └── src
│ │ │ │ └── firebase_app_installations.dart
│ │ ├── macos
│ │ │ ├── Classes
│ │ │ │ ├── FirebaseInstallationsPlugin.h
│ │ │ │ ├── FirebaseInstallationsPlugin.m
│ │ │ │ ├── FirebaseInstallationsPlugin.swift
│ │ │ │ └── IdChangedStreamHandler.swift
│ │ │ └── firebase_app_installations.podspec
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ └── firebase_installations_test.dart
│ ├── firebase_app_installations_platform_interface
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── lib
│ │ │ ├── firebase_app_installations_platform_interface.dart
│ │ │ └── src
│ │ │ │ ├── method_channel
│ │ │ │ ├── method_channel_firebase_app_installations.dart
│ │ │ │ └── utils
│ │ │ │ │ └── exception.dart
│ │ │ │ └── platform_interface
│ │ │ │ └── firebase_app_installations_platform_interface.dart
│ │ └── pubspec.yaml
│ └── firebase_app_installations_web
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── lib
│ │ ├── firebase_app_installations_web.dart
│ │ └── src
│ │ │ ├── guard.dart
│ │ │ └── interop
│ │ │ ├── firebase_interop.dart
│ │ │ ├── installations.dart
│ │ │ └── installations_interop.dart
│ │ └── pubspec.yaml
├── firebase_auth
│ ├── firebase_auth
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── android
│ │ │ ├── build.gradle
│ │ │ ├── gradle.properties
│ │ │ ├── gradle
│ │ │ │ └── wrapper
│ │ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── settings.gradle
│ │ │ ├── src
│ │ │ │ └── main
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ └── java
│ │ │ │ │ └── io
│ │ │ │ │ └── flutter
│ │ │ │ │ └── plugins
│ │ │ │ │ └── firebase
│ │ │ │ │ └── auth
│ │ │ │ │ ├── AuthStateChannelStreamHandler.java
│ │ │ │ │ ├── Constants.java
│ │ │ │ │ ├── FlutterFirebaseAuthPlugin.java
│ │ │ │ │ ├── FlutterFirebaseAuthPluginException.java
│ │ │ │ │ ├── FlutterFirebaseAuthRegistrar.java
│ │ │ │ │ ├── IdTokenChannelStreamHandler.java
│ │ │ │ │ └── PhoneNumberVerificationStreamHandler.java
│ │ │ └── user-agent.gradle
│ │ ├── example
│ │ │ ├── .gitignore
│ │ │ ├── .metadata
│ │ │ ├── README.md
│ │ │ ├── analysis_options.yaml
│ │ │ ├── android
│ │ │ │ ├── .gitignore
│ │ │ │ ├── app
│ │ │ │ │ ├── build.gradle
│ │ │ │ │ ├── google-services.json
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── debug
│ │ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ │ │ ├── main
│ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ ├── kotlin
│ │ │ │ │ │ │ └── io
│ │ │ │ │ │ │ │ └── flutter
│ │ │ │ │ │ │ │ └── plugins
│ │ │ │ │ │ │ │ └── firebase
│ │ │ │ │ │ │ │ └── example
│ │ │ │ │ │ │ │ └── MainActivity.kt
│ │ │ │ │ │ └── res
│ │ │ │ │ │ │ ├── drawable-v21
│ │ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ │ ├── drawable
│ │ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── values-night
│ │ │ │ │ │ │ └── styles.xml
│ │ │ │ │ │ │ └── values
│ │ │ │ │ │ │ └── styles.xml
│ │ │ │ │ │ └── profile
│ │ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── build.gradle
│ │ │ │ ├── gradle.properties
│ │ │ │ ├── gradle
│ │ │ │ │ └── wrapper
│ │ │ │ │ │ └── gradle-wrapper.properties
│ │ │ │ └── settings.gradle
│ │ │ ├── ios
│ │ │ │ ├── .gitignore
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ └── Release.xcconfig
│ │ │ │ ├── Podfile
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.h
│ │ │ │ │ ├── AppDelegate.m
│ │ │ │ │ ├── AppDelegate.swift
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ │ │ └── LaunchImage.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── LaunchImage.png
│ │ │ │ │ │ ├── LaunchImage@2x.png
│ │ │ │ │ │ ├── LaunchImage@3x.png
│ │ │ │ │ │ └── README.md
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ │ ├── GoogleService-Info.plist
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ ├── Runner-Bridging-Header.h
│ │ │ │ │ ├── Runner.entitlements
│ │ │ │ │ └── main.m
│ │ │ ├── lib
│ │ │ │ ├── auth.dart
│ │ │ │ ├── config.dart
│ │ │ │ ├── main.dart
│ │ │ │ └── profile.dart
│ │ │ ├── macos
│ │ │ │ ├── .gitignore
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── Flutter-Debug.xcconfig
│ │ │ │ │ └── Flutter-Release.xcconfig
│ │ │ │ ├── Podfile
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.swift
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ └── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── app_icon_1024.png
│ │ │ │ │ │ ├── app_icon_128.png
│ │ │ │ │ │ ├── app_icon_16.png
│ │ │ │ │ │ ├── app_icon_256.png
│ │ │ │ │ │ ├── app_icon_32.png
│ │ │ │ │ │ ├── app_icon_512.png
│ │ │ │ │ │ └── app_icon_64.png
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ └── MainMenu.xib
│ │ │ │ │ ├── Configs
│ │ │ │ │ ├── AppInfo.xcconfig
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ ├── Release.xcconfig
│ │ │ │ │ └── Warnings.xcconfig
│ │ │ │ │ ├── DebugProfile.entitlements
│ │ │ │ │ ├── GoogleService-Info.plist
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ ├── MainFlutterWindow.swift
│ │ │ │ │ └── Release.entitlements
│ │ │ ├── pubspec.yaml
│ │ │ ├── test_driver
│ │ │ │ ├── firebase_auth_e2e.dart
│ │ │ │ ├── firebase_auth_e2e_test.dart
│ │ │ │ ├── firebase_config.dart
│ │ │ │ ├── instance_e2e.dart
│ │ │ │ ├── test_utils.dart
│ │ │ │ └── user_e2e.dart
│ │ │ └── web
│ │ │ │ ├── favicon.png
│ │ │ │ ├── index.html
│ │ │ │ └── manifest.json
│ │ ├── ios
│ │ │ ├── Assets
│ │ │ │ └── .gitkeep
│ │ │ ├── Classes
│ │ │ │ ├── FLTAuthStateChannelStreamHandler.m
│ │ │ │ ├── FLTFirebaseAuthPlugin.m
│ │ │ │ ├── FLTIdTokenChannelStreamHandler.m
│ │ │ │ ├── FLTPhoneNumberVerificationStreamHandler.m
│ │ │ │ ├── Private
│ │ │ │ │ ├── FLTAuthStateChannelStreamHandler.h
│ │ │ │ │ ├── FLTIdTokenChannelStreamHandler.h
│ │ │ │ │ └── FLTPhoneNumberVerificationStreamHandler.h
│ │ │ │ └── Public
│ │ │ │ │ └── FLTFirebaseAuthPlugin.h
│ │ │ └── firebase_auth.podspec
│ │ ├── lib
│ │ │ ├── firebase_auth.dart
│ │ │ └── src
│ │ │ │ ├── confirmation_result.dart
│ │ │ │ ├── firebase_auth.dart
│ │ │ │ ├── recaptcha_verifier.dart
│ │ │ │ ├── user.dart
│ │ │ │ └── user_credential.dart
│ │ ├── macos
│ │ │ ├── Assets
│ │ │ │ └── .gitkeep
│ │ │ ├── Classes
│ │ │ │ ├── FLTAuthStateChannelStreamHandler.m
│ │ │ │ ├── FLTFirebaseAuthPlugin.m
│ │ │ │ ├── FLTIdTokenChannelStreamHandler.m
│ │ │ │ ├── FLTPhoneNumberVerificationStreamHandler.m
│ │ │ │ ├── Private
│ │ │ │ │ ├── FLTAuthStateChannelStreamHandler.h
│ │ │ │ │ ├── FLTIdTokenChannelStreamHandler.h
│ │ │ │ │ └── FLTPhoneNumberVerificationStreamHandler.h
│ │ │ │ └── Public
│ │ │ │ │ └── FLTFirebaseAuthPlugin.h
│ │ │ └── firebase_auth.podspec
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ ├── firebase_auth_test.dart
│ │ │ ├── mock.dart
│ │ │ └── user_test.dart
│ ├── firebase_auth_platform_interface
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── lib
│ │ │ ├── firebase_auth_platform_interface.dart
│ │ │ └── src
│ │ │ │ ├── action_code_info.dart
│ │ │ │ ├── action_code_settings.dart
│ │ │ │ ├── additional_user_info.dart
│ │ │ │ ├── auth_credential.dart
│ │ │ │ ├── auth_provider.dart
│ │ │ │ ├── auth_settings.dart
│ │ │ │ ├── firebase_auth_exception.dart
│ │ │ │ ├── id_token_result.dart
│ │ │ │ ├── method_channel
│ │ │ │ ├── method_channel_firebase_auth.dart
│ │ │ │ ├── method_channel_user.dart
│ │ │ │ ├── method_channel_user_credential.dart
│ │ │ │ └── utils
│ │ │ │ │ ├── exception.dart
│ │ │ │ │ └── phone_auth_callbacks.dart
│ │ │ │ ├── platform_interface
│ │ │ │ ├── platform_interface_confirmation_result.dart
│ │ │ │ ├── platform_interface_firebase_auth.dart
│ │ │ │ ├── platform_interface_recaptcha_verifier_factory.dart
│ │ │ │ ├── platform_interface_user.dart
│ │ │ │ └── platform_interface_user_credential.dart
│ │ │ │ ├── providers
│ │ │ │ ├── email_auth.dart
│ │ │ │ ├── facebook_auth.dart
│ │ │ │ ├── github_auth.dart
│ │ │ │ ├── google_auth.dart
│ │ │ │ ├── oauth.dart
│ │ │ │ ├── phone_auth.dart
│ │ │ │ ├── saml_auth.dart
│ │ │ │ └── twitter_auth.dart
│ │ │ │ ├── types.dart
│ │ │ │ ├── user_info.dart
│ │ │ │ └── user_metadata.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ ├── action_code_info_test.dart
│ │ │ ├── action_code_settings_test.dart
│ │ │ ├── additional_user_info_test.dart
│ │ │ ├── auth_credential_test.dart
│ │ │ ├── auth_provider_test.dart
│ │ │ ├── auth_settings_test.dart
│ │ │ ├── id_token_result_test.dart
│ │ │ ├── method_channel_tests
│ │ │ ├── method_channel_firebase_auth_test.dart
│ │ │ ├── method_channel_user_credential_test.dart
│ │ │ ├── method_channel_user_test.dart
│ │ │ └── utils_tests
│ │ │ │ ├── exception_test.dart
│ │ │ │ └── phone_auth_callbacks_test.dart
│ │ │ ├── mock.dart
│ │ │ ├── platform_interface_tests
│ │ │ ├── platform_interface_auth_test.dart
│ │ │ ├── platform_interface_confirmation_result_test.dart
│ │ │ ├── platform_interface_recaptcha_verifier_factory_test.dart
│ │ │ ├── platform_interface_user_credential_test.dart
│ │ │ └── platform_interface_user_test.dart
│ │ │ ├── providers_tests
│ │ │ ├── email_auth_test.dart
│ │ │ ├── facebook_auth_test.dart
│ │ │ ├── github_auth_test.dart
│ │ │ ├── google_auth_test.dart
│ │ │ ├── oauth_test.dart
│ │ │ ├── phone_auth_test.dart
│ │ │ ├── saml_auth_test.dart
│ │ │ └── twitter_auth_test.dart
│ │ │ ├── user_info_test.dart
│ │ │ └── user_metadata_test.dart
│ └── firebase_auth_web
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── ios
│ │ └── firebase_auth_web.podspec
│ │ ├── lib
│ │ ├── firebase_auth_web.dart
│ │ └── src
│ │ │ ├── firebase_auth_web_confirmation_result.dart
│ │ │ ├── firebase_auth_web_recaptcha_verifier_factory.dart
│ │ │ ├── firebase_auth_web_user.dart
│ │ │ ├── firebase_auth_web_user_credential.dart
│ │ │ ├── interop
│ │ │ ├── auth.dart
│ │ │ ├── auth_interop.dart
│ │ │ ├── firebase_interop.dart
│ │ │ └── utils
│ │ │ │ └── utils.dart
│ │ │ └── utils
│ │ │ └── web_utils.dart
│ │ └── pubspec.yaml
├── firebase_core
│ ├── analysis_options.yaml
│ ├── firebase_core
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── android
│ │ │ ├── build.gradle
│ │ │ ├── gradle.properties
│ │ │ ├── gradle
│ │ │ │ └── wrapper
│ │ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── settings.gradle
│ │ │ ├── src
│ │ │ │ └── main
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ └── java
│ │ │ │ │ └── io
│ │ │ │ │ └── flutter
│ │ │ │ │ └── plugins
│ │ │ │ │ └── firebase
│ │ │ │ │ └── core
│ │ │ │ │ ├── FlutterFirebaseCorePlugin.java
│ │ │ │ │ ├── FlutterFirebaseCoreRegistrar.java
│ │ │ │ │ ├── FlutterFirebasePlugin.java
│ │ │ │ │ └── FlutterFirebasePluginRegistry.java
│ │ │ └── user-agent.gradle
│ │ ├── example
│ │ │ ├── .gitignore
│ │ │ ├── .metadata
│ │ │ ├── README.md
│ │ │ ├── analysis_options.yaml
│ │ │ ├── android
│ │ │ │ ├── .gitignore
│ │ │ │ ├── app
│ │ │ │ │ ├── build.gradle
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── debug
│ │ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ │ │ ├── main
│ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ └── res
│ │ │ │ │ │ │ ├── drawable
│ │ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ └── values
│ │ │ │ │ │ │ └── styles.xml
│ │ │ │ │ │ └── profile
│ │ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── build.gradle
│ │ │ │ ├── gradle.properties
│ │ │ │ ├── gradle
│ │ │ │ │ └── wrapper
│ │ │ │ │ │ └── gradle-wrapper.properties
│ │ │ │ └── settings.gradle
│ │ │ ├── ios
│ │ │ │ ├── .gitignore
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ └── Release.xcconfig
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ └── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ └── contents.xcworkspacedata
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.h
│ │ │ │ │ ├── AppDelegate.m
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ │ │ └── LaunchImage.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── LaunchImage.png
│ │ │ │ │ │ ├── LaunchImage@2x.png
│ │ │ │ │ │ ├── LaunchImage@3x.png
│ │ │ │ │ │ └── README.md
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ └── main.m
│ │ │ ├── lib
│ │ │ │ ├── firebase_config.dart
│ │ │ │ └── main.dart
│ │ │ ├── macos
│ │ │ │ ├── .gitignore
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── Flutter-Debug.xcconfig
│ │ │ │ │ └── Flutter-Release.xcconfig
│ │ │ │ ├── Podfile
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.swift
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ └── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── app_icon_1024.png
│ │ │ │ │ │ ├── app_icon_128.png
│ │ │ │ │ │ ├── app_icon_16.png
│ │ │ │ │ │ ├── app_icon_256.png
│ │ │ │ │ │ ├── app_icon_32.png
│ │ │ │ │ │ ├── app_icon_512.png
│ │ │ │ │ │ └── app_icon_64.png
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ └── MainMenu.xib
│ │ │ │ │ ├── Configs
│ │ │ │ │ ├── AppInfo.xcconfig
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ ├── Release.xcconfig
│ │ │ │ │ └── Warnings.xcconfig
│ │ │ │ │ ├── DebugProfile.entitlements
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ ├── MainFlutterWindow.swift
│ │ │ │ │ └── Release.entitlements
│ │ │ ├── pubspec.yaml
│ │ │ ├── test_driver
│ │ │ │ ├── firebase_config.dart
│ │ │ │ ├── firebase_core_e2e.dart
│ │ │ │ └── firebase_core_e2e_test.dart
│ │ │ └── web
│ │ │ │ └── index.html
│ │ ├── ios
│ │ │ ├── Assets
│ │ │ │ └── .gitkeep
│ │ │ ├── Classes
│ │ │ │ ├── FLTFirebaseCorePlugin.h
│ │ │ │ ├── FLTFirebaseCorePlugin.m
│ │ │ │ ├── FLTFirebasePlugin.h
│ │ │ │ ├── FLTFirebasePlugin.m
│ │ │ │ ├── FLTFirebasePluginRegistry.h
│ │ │ │ └── FLTFirebasePluginRegistry.m
│ │ │ ├── firebase_core.podspec
│ │ │ └── firebase_sdk_version.rb
│ │ ├── lib
│ │ │ ├── firebase_core.dart
│ │ │ └── src
│ │ │ │ ├── firebase.dart
│ │ │ │ ├── firebase_app.dart
│ │ │ │ ├── internals.dart
│ │ │ │ └── interop_shimmer.dart
│ │ ├── macos
│ │ │ ├── Assets
│ │ │ │ └── .gitkeep
│ │ │ ├── Classes
│ │ │ │ ├── FLTFirebaseCorePlugin.h
│ │ │ │ ├── FLTFirebaseCorePlugin.m
│ │ │ │ ├── FLTFirebasePlugin.h
│ │ │ │ ├── FLTFirebasePlugin.m
│ │ │ │ ├── FLTFirebasePluginRegistry.h
│ │ │ │ └── FLTFirebasePluginRegistry.m
│ │ │ └── firebase_core.podspec
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ ├── firebase_core_test.dart
│ │ │ └── guard_test.dart
│ ├── firebase_core_platform_interface
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── lib
│ │ │ ├── firebase_core_platform_interface.dart
│ │ │ └── src
│ │ │ │ ├── firebase_core_exceptions.dart
│ │ │ │ ├── firebase_exception.dart
│ │ │ │ ├── firebase_options.dart
│ │ │ │ ├── method_channel
│ │ │ │ ├── method_channel_firebase.dart
│ │ │ │ └── method_channel_firebase_app.dart
│ │ │ │ └── platform_interface
│ │ │ │ ├── platform_interface_firebase.dart
│ │ │ │ ├── platform_interface_firebase_app.dart
│ │ │ │ └── platform_interface_firebase_plugin.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ ├── firebase_exception_test.dart
│ │ │ ├── firebase_options_test.dart
│ │ │ ├── method_channel_tests
│ │ │ ├── method_channel_firebase_app_test.dart
│ │ │ └── method_channel_firebase_core_test.dart
│ │ │ └── platform_interface_tests
│ │ │ └── platform_interface_firebase_core_test.dart
│ └── firebase_core_web
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── ios
│ │ └── firebase_core_web.podspec
│ │ ├── lib
│ │ ├── firebase_core_web.dart
│ │ ├── firebase_core_web_interop.dart
│ │ └── src
│ │ │ ├── firebase_app_web.dart
│ │ │ ├── firebase_core_web.dart
│ │ │ ├── firebase_sdk_version.dart
│ │ │ └── interop
│ │ │ ├── app.dart
│ │ │ ├── app_interop.dart
│ │ │ ├── core.dart
│ │ │ ├── core_interop.dart
│ │ │ └── utils
│ │ │ ├── es6_interop.dart
│ │ │ ├── func.dart
│ │ │ ├── js.dart
│ │ │ ├── js_interop.dart
│ │ │ └── utils.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ ├── firebase_core_web_exceptions_test.dart
│ │ ├── firebase_core_web_test.dart
│ │ └── mock
│ │ └── firebase_mock.dart
├── firebase_crashlytics
│ ├── firebase_crashlytics
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── android
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── gradle.properties
│ │ │ ├── settings.gradle
│ │ │ ├── src
│ │ │ │ └── main
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── java
│ │ │ │ │ └── io
│ │ │ │ │ │ └── flutter
│ │ │ │ │ │ └── plugins
│ │ │ │ │ │ └── firebase
│ │ │ │ │ │ └── crashlytics
│ │ │ │ │ │ ├── Constants.java
│ │ │ │ │ │ ├── FirebaseCrashlyticsTestCrash.java
│ │ │ │ │ │ ├── FlutterError.java
│ │ │ │ │ │ ├── FlutterFirebaseAppRegistrar.java
│ │ │ │ │ │ └── FlutterFirebaseCrashlyticsPlugin.java
│ │ │ │ │ └── res
│ │ │ │ │ └── values
│ │ │ │ │ └── values.xml
│ │ │ └── user-agent.gradle
│ │ ├── example
│ │ │ ├── .gitignore
│ │ │ ├── .metadata
│ │ │ ├── README.md
│ │ │ ├── analysis_options.yaml
│ │ │ ├── android
│ │ │ │ ├── app
│ │ │ │ │ ├── build.gradle
│ │ │ │ │ ├── google-services.json
│ │ │ │ │ └── src
│ │ │ │ │ │ └── main
│ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ └── res
│ │ │ │ │ │ ├── drawable
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ └── values
│ │ │ │ │ │ └── styles.xml
│ │ │ │ ├── build.gradle
│ │ │ │ ├── gradle.properties
│ │ │ │ ├── gradle
│ │ │ │ │ └── wrapper
│ │ │ │ │ │ └── gradle-wrapper.properties
│ │ │ │ └── settings.gradle
│ │ │ ├── ios
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ └── Release.xcconfig
│ │ │ │ ├── GoogleService-Info.plist
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ └── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.h
│ │ │ │ │ ├── AppDelegate.m
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ │ │ └── LaunchImage.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── LaunchImage.png
│ │ │ │ │ │ ├── LaunchImage@2x.png
│ │ │ │ │ │ ├── LaunchImage@3x.png
│ │ │ │ │ │ └── README.md
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ └── main.m
│ │ │ ├── lib
│ │ │ │ └── main.dart
│ │ │ ├── macos
│ │ │ │ ├── .gitignore
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── Flutter-Debug.xcconfig
│ │ │ │ │ └── Flutter-Release.xcconfig
│ │ │ │ ├── Podfile
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.swift
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ └── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── app_icon_1024.png
│ │ │ │ │ │ ├── app_icon_128.png
│ │ │ │ │ │ ├── app_icon_16.png
│ │ │ │ │ │ ├── app_icon_256.png
│ │ │ │ │ │ ├── app_icon_32.png
│ │ │ │ │ │ ├── app_icon_512.png
│ │ │ │ │ │ └── app_icon_64.png
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ └── MainMenu.xib
│ │ │ │ │ ├── Configs
│ │ │ │ │ ├── AppInfo.xcconfig
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ ├── Release.xcconfig
│ │ │ │ │ └── Warnings.xcconfig
│ │ │ │ │ ├── DebugProfile.entitlements
│ │ │ │ │ ├── GoogleService-Info.plist
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ ├── MainFlutterWindow.swift
│ │ │ │ │ └── Release.entitlements
│ │ │ └── pubspec.yaml
│ │ ├── ios
│ │ │ ├── Assets
│ │ │ │ └── .gitkeep
│ │ │ ├── Classes
│ │ │ │ ├── Crashlytics_Platform.h
│ │ │ │ ├── FLTFirebaseCrashlyticsPlugin.h
│ │ │ │ └── FLTFirebaseCrashlyticsPlugin.m
│ │ │ └── firebase_crashlytics.podspec
│ │ ├── lib
│ │ │ ├── firebase_crashlytics.dart
│ │ │ └── src
│ │ │ │ ├── firebase_crashlytics.dart
│ │ │ │ └── utils.dart
│ │ ├── macos
│ │ │ ├── Assets
│ │ │ │ └── .gitkeep
│ │ │ ├── Classes
│ │ │ │ ├── Crashlytics_Platform.h
│ │ │ │ ├── FLTFirebaseCrashlyticsPlugin.h
│ │ │ │ └── FLTFirebaseCrashlyticsPlugin.m
│ │ │ └── firebase_crashlytics.podspec
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ ├── firebase_crashlytics_test.dart
│ │ │ └── mock.dart
│ └── firebase_crashlytics_platform_interface
│ │ ├── .gitignore
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── lib
│ │ ├── firebase_crashlytics_platform_interface.dart
│ │ └── src
│ │ │ ├── method_channel
│ │ │ ├── method_channel_crashlytics.dart
│ │ │ └── utils
│ │ │ │ └── exception.dart
│ │ │ └── platform_interface
│ │ │ └── platform_interface_crashlytics.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ ├── method_channel_tests
│ │ ├── method_channel_crashlytics_test.dart
│ │ └── utils_tests
│ │ │ └── exception_test.dart
│ │ ├── mock.dart
│ │ └── platform_interface_tests
│ │ └── platform_interface_crashlytics_test.dart
├── firebase_database
│ ├── firebase_database
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── android
│ │ │ ├── build.gradle
│ │ │ ├── gradle.properties
│ │ │ ├── settings.gradle
│ │ │ ├── src
│ │ │ │ └── main
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ └── java
│ │ │ │ │ └── io
│ │ │ │ │ └── flutter
│ │ │ │ │ └── plugins
│ │ │ │ │ └── firebase
│ │ │ │ │ └── database
│ │ │ │ │ ├── ChildEventsProxy.java
│ │ │ │ │ ├── Constants.java
│ │ │ │ │ ├── EventStreamHandler.java
│ │ │ │ │ ├── EventsProxy.java
│ │ │ │ │ ├── FirebaseDatabasePlugin.java
│ │ │ │ │ ├── FlutterDataSnapshotPayload.java
│ │ │ │ │ ├── FlutterFirebaseAppRegistrar.java
│ │ │ │ │ ├── FlutterFirebaseDatabaseException.java
│ │ │ │ │ ├── QueryBuilder.java
│ │ │ │ │ ├── TransactionExecutor.java
│ │ │ │ │ ├── TransactionHandler.java
│ │ │ │ │ └── ValueEventsProxy.java
│ │ │ └── user-agent.gradle
│ │ ├── example
│ │ │ ├── README.md
│ │ │ ├── analysis_options.yaml
│ │ │ ├── android
│ │ │ │ ├── app
│ │ │ │ │ ├── build.gradle
│ │ │ │ │ ├── google-services.json
│ │ │ │ │ ├── gradle
│ │ │ │ │ │ └── wrapper
│ │ │ │ │ │ │ └── gradle-wrapper.properties
│ │ │ │ │ └── src
│ │ │ │ │ │ └── main
│ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ └── res
│ │ │ │ │ │ ├── drawable
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ └── values
│ │ │ │ │ │ └── styles.xml
│ │ │ │ ├── build.gradle
│ │ │ │ ├── gradle.properties
│ │ │ │ ├── gradle
│ │ │ │ │ └── wrapper
│ │ │ │ │ │ └── gradle-wrapper.properties
│ │ │ │ └── settings.gradle
│ │ │ ├── ios
│ │ │ │ ├── .gitignore
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ └── Release.xcconfig
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ └── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.h
│ │ │ │ │ ├── AppDelegate.m
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ └── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ └── main.m
│ │ │ ├── lib
│ │ │ │ └── main.dart
│ │ │ ├── macos
│ │ │ │ ├── .gitignore
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── Flutter-Debug.xcconfig
│ │ │ │ │ └── Flutter-Release.xcconfig
│ │ │ │ ├── Podfile
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.swift
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ └── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── app_icon_1024.png
│ │ │ │ │ │ ├── app_icon_128.png
│ │ │ │ │ │ ├── app_icon_16.png
│ │ │ │ │ │ ├── app_icon_256.png
│ │ │ │ │ │ ├── app_icon_32.png
│ │ │ │ │ │ ├── app_icon_512.png
│ │ │ │ │ │ └── app_icon_64.png
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ └── MainMenu.xib
│ │ │ │ │ ├── Configs
│ │ │ │ │ ├── AppInfo.xcconfig
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ ├── Release.xcconfig
│ │ │ │ │ └── Warnings.xcconfig
│ │ │ │ │ ├── DebugProfile.entitlements
│ │ │ │ │ ├── GoogleService-Info.plist
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ ├── MainFlutterWindow.swift
│ │ │ │ │ └── Release.entitlements
│ │ │ ├── pubspec.yaml
│ │ │ └── web
│ │ │ │ └── index.html
│ │ ├── ios
│ │ │ ├── Assets
│ │ │ │ └── .gitkeep
│ │ │ ├── Classes
│ │ │ │ ├── FLTFirebaseDatabaseObserveStreamHandler.h
│ │ │ │ ├── FLTFirebaseDatabaseObserveStreamHandler.m
│ │ │ │ ├── FLTFirebaseDatabasePlugin.h
│ │ │ │ ├── FLTFirebaseDatabasePlugin.m
│ │ │ │ ├── FLTFirebaseDatabaseUtils.h
│ │ │ │ └── FLTFirebaseDatabaseUtils.m
│ │ │ └── firebase_database.podspec
│ │ ├── lib
│ │ │ ├── firebase_database.dart
│ │ │ ├── src
│ │ │ │ ├── data_snapshot.dart
│ │ │ │ ├── database_event.dart
│ │ │ │ ├── database_reference.dart
│ │ │ │ ├── firebase_database.dart
│ │ │ │ ├── on_disconnect.dart
│ │ │ │ ├── query.dart
│ │ │ │ └── transaction_result.dart
│ │ │ └── ui
│ │ │ │ ├── analysis_options.yaml
│ │ │ │ ├── firebase_animated_list.dart
│ │ │ │ ├── firebase_list.dart
│ │ │ │ ├── firebase_sorted_list.dart
│ │ │ │ └── utils
│ │ │ │ └── stream_subscriber_mixin.dart
│ │ ├── macos
│ │ │ ├── Assets
│ │ │ │ └── .gitkeep
│ │ │ ├── Classes
│ │ │ │ ├── FLTFirebaseDatabaseObserveStreamHandler.h
│ │ │ │ ├── FLTFirebaseDatabaseObserveStreamHandler.m
│ │ │ │ ├── FLTFirebaseDatabasePlugin.h
│ │ │ │ ├── FLTFirebaseDatabasePlugin.m
│ │ │ │ ├── FLTFirebaseDatabaseUtils.h
│ │ │ │ └── FLTFirebaseDatabaseUtils.m
│ │ │ └── firebase_database.podspec
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ ├── firebase_list_test.dart
│ │ │ ├── instance_test.dart
│ │ │ └── mock.dart
│ ├── firebase_database_platform_interface
│ │ ├── .gitignore
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── lib
│ │ │ ├── firebase_database_platform_interface.dart
│ │ │ └── src
│ │ │ │ ├── method_channel
│ │ │ │ ├── method_channel_data_snapshot.dart
│ │ │ │ ├── method_channel_database.dart
│ │ │ │ ├── method_channel_database_event.dart
│ │ │ │ ├── method_channel_database_reference.dart
│ │ │ │ ├── method_channel_on_disconnect.dart
│ │ │ │ ├── method_channel_query.dart
│ │ │ │ ├── method_channel_transaction_result.dart
│ │ │ │ └── utils
│ │ │ │ │ ├── exception.dart
│ │ │ │ │ ├── push_id_generator.dart
│ │ │ │ │ └── utils.dart
│ │ │ │ ├── platform_interface
│ │ │ │ ├── platform_interface_data_snapshot.dart
│ │ │ │ ├── platform_interface_database.dart
│ │ │ │ ├── platform_interface_database_event.dart
│ │ │ │ ├── platform_interface_database_reference.dart
│ │ │ │ ├── platform_interface_on_disconnect.dart
│ │ │ │ ├── platform_interface_query.dart
│ │ │ │ └── platform_interface_transaction_result.dart
│ │ │ │ ├── query_modifiers.dart
│ │ │ │ ├── server_value.dart
│ │ │ │ └── transaction.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ ├── database_reference_test.dart
│ │ │ ├── firebase_database_test.dart
│ │ │ ├── method_channel_test.dart
│ │ │ ├── query_modifiers_test.dart
│ │ │ └── test_common.dart
│ └── firebase_database_web
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── lib
│ │ ├── firebase_database_web.dart
│ │ └── src
│ │ │ ├── data_snapshot_web.dart
│ │ │ ├── database_event_web.dart
│ │ │ ├── database_reference_web.dart
│ │ │ ├── interop
│ │ │ ├── app.dart
│ │ │ ├── app_interop.dart
│ │ │ ├── data_snapshot_interop.dart
│ │ │ ├── database.dart
│ │ │ ├── database_interop.dart
│ │ │ ├── firebase_interop.dart
│ │ │ ├── query_interop.dart
│ │ │ ├── reference_interop.dart
│ │ │ └── utils
│ │ │ │ └── utils.dart
│ │ │ ├── ondisconnect_web.dart
│ │ │ ├── query_web.dart
│ │ │ ├── transaction_result_web.dart
│ │ │ └── utils
│ │ │ ├── exception.dart
│ │ │ └── snapshot_utils.dart
│ │ └── pubspec.yaml
├── firebase_dynamic_links
│ ├── firebase_dynamic_links
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── android
│ │ │ ├── build.gradle
│ │ │ ├── settings.gradle
│ │ │ ├── src
│ │ │ │ └── main
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ └── java
│ │ │ │ │ └── io
│ │ │ │ │ └── flutter
│ │ │ │ │ └── plugins
│ │ │ │ │ └── firebase
│ │ │ │ │ └── dynamiclinks
│ │ │ │ │ ├── Constants.java
│ │ │ │ │ ├── FlutterFirebaseAppRegistrar.java
│ │ │ │ │ ├── FlutterFirebaseDynamicLinksPlugin.java
│ │ │ │ │ └── Utils.java
│ │ │ └── user-agent.gradle
│ │ ├── example
│ │ │ ├── .metadata
│ │ │ ├── README.md
│ │ │ ├── analysis_options.yaml
│ │ │ ├── android
│ │ │ │ ├── app
│ │ │ │ │ ├── build.gradle
│ │ │ │ │ ├── gradle
│ │ │ │ │ │ └── wrapper
│ │ │ │ │ │ │ └── gradle-wrapper.properties
│ │ │ │ │ └── src
│ │ │ │ │ │ └── main
│ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ └── res
│ │ │ │ │ │ ├── drawable
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ └── values
│ │ │ │ │ │ └── styles.xml
│ │ │ │ ├── build.gradle
│ │ │ │ ├── gradle.properties
│ │ │ │ ├── gradle
│ │ │ │ │ └── wrapper
│ │ │ │ │ │ └── gradle-wrapper.properties
│ │ │ │ └── settings.gradle
│ │ │ ├── ios
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ └── Release.xcconfig
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ └── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.h
│ │ │ │ │ ├── AppDelegate.m
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ │ │ └── LaunchImage.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── LaunchImage.png
│ │ │ │ │ │ ├── LaunchImage@2x.png
│ │ │ │ │ │ ├── LaunchImage@3x.png
│ │ │ │ │ │ └── README.md
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ ├── Runner.entitlements
│ │ │ │ │ └── main.m
│ │ │ ├── lib
│ │ │ │ └── main.dart
│ │ │ └── pubspec.yaml
│ │ ├── ios
│ │ │ ├── Assets
│ │ │ │ └── .gitkeep
│ │ │ ├── Classes
│ │ │ │ ├── FLTFirebaseDynamicLinksPlugin.h
│ │ │ │ └── FLTFirebaseDynamicLinksPlugin.m
│ │ │ └── firebase_dynamic_links.podspec
│ │ ├── lib
│ │ │ ├── firebase_dynamic_links.dart
│ │ │ └── src
│ │ │ │ └── firebase_dynamic_links.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ ├── firebase_dynamic_links_test.dart
│ │ │ └── mock.dart
│ └── firebase_dynamic_links_platform_interface
│ │ ├── .gitignore
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── lib
│ │ ├── firebase_dynamic_links_platform_interface.dart
│ │ └── src
│ │ │ ├── android_parameters.dart
│ │ │ ├── dynamic_link_parameters.dart
│ │ │ ├── google_analytics_parameters.dart
│ │ │ ├── ios_parameters.dart
│ │ │ ├── itunes_connect_analytics_parameters.dart
│ │ │ ├── method_channel
│ │ │ ├── method_channel_firebase_dynamic_links.dart
│ │ │ └── utils
│ │ │ │ └── exception.dart
│ │ │ ├── navigation_info_parameters.dart
│ │ │ ├── pending_dynamic_link_data.dart
│ │ │ ├── pending_dynamic_link_data_android.dart
│ │ │ ├── pending_dynamic_link_data_ios.dart
│ │ │ ├── platform_interface
│ │ │ └── platform_interface_firebase_dynamic_links.dart
│ │ │ ├── short_dynamic_link.dart
│ │ │ ├── short_dynamic_link_type.dart
│ │ │ └── social_meta_tag_parameters.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ ├── android_parameters_test.dart
│ │ ├── dynamic_link_parameters_test.dart
│ │ ├── ios_parameters_test.dart
│ │ ├── itunes_connect_analytics_parameters_test.dart
│ │ ├── method_channel_tests
│ │ └── method_channel_firebase_dynamic_links_test.dart
│ │ ├── mock.dart
│ │ ├── navigation_info_parameters_test.dart
│ │ ├── pending_dynamic_link_data_test.dart
│ │ ├── platform_interface_tests
│ │ └── platform_interface_firebase_dynamic_links_test.dart
│ │ ├── short_dynamic_link_test.dart
│ │ └── social_meta_tag_parameters_test.dart
├── firebase_in_app_messaging
│ ├── firebase_in_app_messaging
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── android
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── gradle.properties
│ │ │ ├── settings.gradle
│ │ │ ├── src
│ │ │ │ └── main
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ └── java
│ │ │ │ │ └── io
│ │ │ │ │ └── flutter
│ │ │ │ │ └── plugins
│ │ │ │ │ └── firebase
│ │ │ │ │ └── inappmessaging
│ │ │ │ │ ├── FirebaseInAppMessagingPlugin.java
│ │ │ │ │ └── FlutterFirebaseAppRegistrar.java
│ │ │ └── user-agent.gradle
│ │ ├── example
│ │ │ ├── .gitignore
│ │ │ ├── .metadata
│ │ │ ├── README.md
│ │ │ ├── analysis_options.yaml
│ │ │ ├── android
│ │ │ │ ├── app
│ │ │ │ │ ├── build.gradle
│ │ │ │ │ ├── google-services.json
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── debug
│ │ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ │ │ ├── main
│ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ └── res
│ │ │ │ │ │ │ ├── drawable
│ │ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ └── values
│ │ │ │ │ │ │ └── styles.xml
│ │ │ │ │ │ └── profile
│ │ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── build.gradle
│ │ │ │ ├── gradle.properties
│ │ │ │ ├── gradle
│ │ │ │ │ └── wrapper
│ │ │ │ │ │ └── gradle-wrapper.properties
│ │ │ │ └── settings.gradle
│ │ │ ├── ios
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ └── Release.xcconfig
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ └── contents.xcworkspacedata
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.h
│ │ │ │ │ ├── AppDelegate.m
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ │ │ └── LaunchImage.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── LaunchImage.png
│ │ │ │ │ │ ├── LaunchImage@2x.png
│ │ │ │ │ │ ├── LaunchImage@3x.png
│ │ │ │ │ │ └── README.md
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ │ ├── GoogleService-Info.plist
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ └── main.m
│ │ │ ├── lib
│ │ │ │ └── main.dart
│ │ │ └── pubspec.yaml
│ │ ├── ios
│ │ │ ├── .gitignore
│ │ │ ├── Assets
│ │ │ │ └── .gitkeep
│ │ │ ├── Classes
│ │ │ │ ├── FirebaseInAppMessagingPlugin.h
│ │ │ │ └── FirebaseInAppMessagingPlugin.m
│ │ │ └── firebase_in_app_messaging.podspec
│ │ ├── lib
│ │ │ └── firebase_in_app_messaging.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ └── firebase_in_app_messaging_test.dart
│ └── firebase_in_app_messaging_platform_interface
│ │ ├── .gitignore
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── lib
│ │ ├── firebase_in_app_messaging_platform_interface.dart
│ │ └── src
│ │ │ ├── method_channel
│ │ │ ├── method_channel_firebase_in_app_messaging.dart
│ │ │ └── utils
│ │ │ │ └── exception.dart
│ │ │ └── platform_interface
│ │ │ └── platform_interface_firebase_in_app_messaging.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ ├── mock.dart
│ │ └── platform_interface
│ │ └── platform_interface_firebase_in_app_messaging_test.dart
├── firebase_messaging
│ ├── firebase_messaging
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── android
│ │ │ ├── build.gradle
│ │ │ ├── settings.gradle
│ │ │ ├── src
│ │ │ │ └── main
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ └── java
│ │ │ │ │ └── io
│ │ │ │ │ └── flutter
│ │ │ │ │ └── plugins
│ │ │ │ │ └── firebase
│ │ │ │ │ └── messaging
│ │ │ │ │ ├── ContextHolder.java
│ │ │ │ │ ├── FlutterFirebaseAppRegistrar.java
│ │ │ │ │ ├── FlutterFirebaseMessagingBackgroundExecutor.java
│ │ │ │ │ ├── FlutterFirebaseMessagingBackgroundService.java
│ │ │ │ │ ├── FlutterFirebaseMessagingInitProvider.java
│ │ │ │ │ ├── FlutterFirebaseMessagingPlugin.java
│ │ │ │ │ ├── FlutterFirebaseMessagingReceiver.java
│ │ │ │ │ ├── FlutterFirebaseMessagingService.java
│ │ │ │ │ ├── FlutterFirebaseMessagingStore.java
│ │ │ │ │ ├── FlutterFirebaseMessagingUtils.java
│ │ │ │ │ ├── JobIntentService.java
│ │ │ │ │ └── PluginRegistrantException.java
│ │ │ └── user-agent.gradle
│ │ ├── example
│ │ │ ├── .gitignore
│ │ │ ├── .metadata
│ │ │ ├── README.md
│ │ │ ├── analysis_options.yaml
│ │ │ ├── android
│ │ │ │ ├── .gitignore
│ │ │ │ ├── app
│ │ │ │ │ ├── build.gradle
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── debug
│ │ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ │ │ ├── main
│ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ └── res
│ │ │ │ │ │ │ ├── drawable
│ │ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ └── values
│ │ │ │ │ │ │ └── styles.xml
│ │ │ │ │ │ └── profile
│ │ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── build.gradle
│ │ │ │ ├── gradle.properties
│ │ │ │ ├── gradle
│ │ │ │ │ └── wrapper
│ │ │ │ │ │ └── gradle-wrapper.properties
│ │ │ │ └── settings.gradle
│ │ │ ├── ios
│ │ │ │ ├── .gitignore
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ └── Release.xcconfig
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.h
│ │ │ │ │ ├── AppDelegate.m
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── Firebase Cloud Messaging (1- Icon, Light)-1024.png
│ │ │ │ │ │ ├── Firebase Cloud Messaging (1- Icon, Light)-20.png
│ │ │ │ │ │ ├── Firebase Cloud Messaging (1- Icon, Light)-20@2x.png
│ │ │ │ │ │ ├── Firebase Cloud Messaging (1- Icon, Light)-20@3x.png
│ │ │ │ │ │ ├── Firebase Cloud Messaging (1- Icon, Light)-29.png
│ │ │ │ │ │ ├── Firebase Cloud Messaging (1- Icon, Light)-29@2x.png
│ │ │ │ │ │ ├── Firebase Cloud Messaging (1- Icon, Light)-29@3x.png
│ │ │ │ │ │ ├── Firebase Cloud Messaging (1- Icon, Light)-40.png
│ │ │ │ │ │ ├── Firebase Cloud Messaging (1- Icon, Light)-40@2x.png
│ │ │ │ │ │ ├── Firebase Cloud Messaging (1- Icon, Light)-40@3x.png
│ │ │ │ │ │ ├── Firebase Cloud Messaging (1- Icon, Light)-60@2x.png
│ │ │ │ │ │ ├── Firebase Cloud Messaging (1- Icon, Light)-60@3x.png
│ │ │ │ │ │ ├── Firebase Cloud Messaging (1- Icon, Light)-76.png
│ │ │ │ │ │ ├── Firebase Cloud Messaging (1- Icon, Light)-76@2x.png
│ │ │ │ │ │ └── Firebase Cloud Messaging (1- Icon, Light)-83.5@2x.png
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── LaunchImage.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── LaunchImage.png
│ │ │ │ │ │ ├── LaunchImage@2x.png
│ │ │ │ │ │ ├── LaunchImage@3x.png
│ │ │ │ │ │ └── README.md
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ │ ├── Firebase Cloud Messaging Example.entitlements
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ └── main.m
│ │ │ ├── lib
│ │ │ │ ├── firebase_options.dart
│ │ │ │ ├── main.dart
│ │ │ │ ├── message.dart
│ │ │ │ ├── message_list.dart
│ │ │ │ ├── permissions.dart
│ │ │ │ └── token_monitor.dart
│ │ │ ├── macos
│ │ │ │ ├── .gitignore
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── Flutter-Debug.xcconfig
│ │ │ │ │ └── Flutter-Release.xcconfig
│ │ │ │ ├── Podfile
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.swift
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ └── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── Firebase Cloud Messaging (1- Icon, Light)-1024.png
│ │ │ │ │ │ ├── Firebase Cloud Messaging (1- Icon, Light)-128.png
│ │ │ │ │ │ ├── Firebase Cloud Messaging (1- Icon, Light)-16.png
│ │ │ │ │ │ ├── Firebase Cloud Messaging (1- Icon, Light)-256.png
│ │ │ │ │ │ ├── Firebase Cloud Messaging (1- Icon, Light)-32.png
│ │ │ │ │ │ ├── Firebase Cloud Messaging (1- Icon, Light)-512.png
│ │ │ │ │ │ └── Firebase Cloud Messaging (1- Icon, Light)-64.png
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ └── MainMenu.xib
│ │ │ │ │ ├── Configs
│ │ │ │ │ ├── AppInfo.xcconfig
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ ├── Release.xcconfig
│ │ │ │ │ └── Warnings.xcconfig
│ │ │ │ │ ├── DebugProfile.entitlements
│ │ │ │ │ ├── GoogleService-Info.plist
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ ├── MainFlutterWindow.swift
│ │ │ │ │ └── Release.entitlements
│ │ │ ├── pubspec.yaml
│ │ │ └── web
│ │ │ │ ├── firebase-messaging-sw.js
│ │ │ │ └── index.html
│ │ ├── ios
│ │ │ ├── Assets
│ │ │ │ └── .gitkeep
│ │ │ ├── Classes
│ │ │ │ ├── FLTFirebaseMessagingPlugin.h
│ │ │ │ └── FLTFirebaseMessagingPlugin.m
│ │ │ └── firebase_messaging.podspec
│ │ ├── lib
│ │ │ ├── firebase_messaging.dart
│ │ │ └── src
│ │ │ │ └── messaging.dart
│ │ ├── macos
│ │ │ ├── Assets
│ │ │ │ └── .gitkeep
│ │ │ ├── Classes
│ │ │ │ ├── FLTFirebaseMessagingPlugin.h
│ │ │ │ └── FLTFirebaseMessagingPlugin.m
│ │ │ └── firebase_messaging.podspec
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ ├── firebase_messaging_test.dart
│ │ │ └── mock.dart
│ ├── firebase_messaging_platform_interface
│ │ ├── .gitignore
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── lib
│ │ │ ├── firebase_messaging_platform_interface.dart
│ │ │ └── src
│ │ │ │ ├── method_channel
│ │ │ │ ├── method_channel_messaging.dart
│ │ │ │ └── utils
│ │ │ │ │ └── exception.dart
│ │ │ │ ├── notification_settings.dart
│ │ │ │ ├── platform_interface
│ │ │ │ └── platform_interface_messaging.dart
│ │ │ │ ├── remote_message.dart
│ │ │ │ ├── remote_notification.dart
│ │ │ │ ├── types.dart
│ │ │ │ └── utils.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ ├── method_channel_tests
│ │ │ └── method_channel_messaging_test.dart
│ │ │ ├── mock.dart
│ │ │ ├── notification_test.dart
│ │ │ ├── platform_interface_tests
│ │ │ └── platform_interface_messaging_test.dart
│ │ │ ├── remote_message_test.dart
│ │ │ └── utils_test.dart
│ └── firebase_messaging_web
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── ios
│ │ └── firebase_messaging_web.podspec
│ │ ├── lib
│ │ ├── firebase_messaging_web.dart
│ │ └── src
│ │ │ ├── internals.dart
│ │ │ ├── interop
│ │ │ ├── firebase_interop.dart
│ │ │ ├── messaging.dart
│ │ │ └── messaging_interop.dart
│ │ │ └── utils.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ └── firebase_messaging_web_test.dart
├── firebase_ml_custom
│ └── README.md
├── firebase_ml_model_downloader
│ ├── firebase_ml_model_downloader
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── android
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── gradle.properties
│ │ │ ├── gradle
│ │ │ │ └── wrapper
│ │ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── settings.gradle
│ │ │ ├── src
│ │ │ │ └── main
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ └── java
│ │ │ │ │ └── io
│ │ │ │ │ └── flutter
│ │ │ │ │ └── plugins
│ │ │ │ │ └── firebase
│ │ │ │ │ └── firebase_ml_model_downloader
│ │ │ │ │ ├── FirebaseModelDownloaderPlugin.java
│ │ │ │ │ └── FlutterFirebaseAppRegistrar.java
│ │ │ └── user-agent.gradle
│ │ ├── example
│ │ │ ├── .gitignore
│ │ │ ├── .metadata
│ │ │ ├── README.md
│ │ │ ├── analysis_options.yaml
│ │ │ ├── android
│ │ │ │ ├── .gitignore
│ │ │ │ ├── app
│ │ │ │ │ ├── build.gradle
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── debug
│ │ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ │ │ ├── main
│ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ ├── java
│ │ │ │ │ │ │ └── io
│ │ │ │ │ │ │ │ └── flutter
│ │ │ │ │ │ │ │ └── plugins
│ │ │ │ │ │ │ │ └── firebase
│ │ │ │ │ │ │ │ └── firebase_ml_model_downloader_example
│ │ │ │ │ │ │ │ └── MainActivity.java
│ │ │ │ │ │ └── res
│ │ │ │ │ │ │ ├── drawable-v21
│ │ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ │ ├── drawable
│ │ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── values-night
│ │ │ │ │ │ │ └── styles.xml
│ │ │ │ │ │ │ └── values
│ │ │ │ │ │ │ └── styles.xml
│ │ │ │ │ │ └── profile
│ │ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── build.gradle
│ │ │ │ ├── gradle.properties
│ │ │ │ ├── gradle
│ │ │ │ │ └── wrapper
│ │ │ │ │ │ └── gradle-wrapper.properties
│ │ │ │ └── settings.gradle
│ │ │ ├── ios
│ │ │ │ ├── .gitignore
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ └── Release.xcconfig
│ │ │ │ ├── Podfile
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.h
│ │ │ │ │ ├── AppDelegate.m
│ │ │ │ │ ├── AppDelegate.swift
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ │ │ └── LaunchImage.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── LaunchImage.png
│ │ │ │ │ │ ├── LaunchImage@2x.png
│ │ │ │ │ │ ├── LaunchImage@3x.png
│ │ │ │ │ │ └── README.md
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ ├── Runner-Bridging-Header.h
│ │ │ │ │ └── main.m
│ │ │ ├── lib
│ │ │ │ └── main.dart
│ │ │ ├── macos
│ │ │ │ ├── .gitignore
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── Flutter-Debug.xcconfig
│ │ │ │ │ └── Flutter-Release.xcconfig
│ │ │ │ ├── Podfile
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.swift
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ └── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── app_icon_1024.png
│ │ │ │ │ │ ├── app_icon_128.png
│ │ │ │ │ │ ├── app_icon_16.png
│ │ │ │ │ │ ├── app_icon_256.png
│ │ │ │ │ │ ├── app_icon_32.png
│ │ │ │ │ │ ├── app_icon_512.png
│ │ │ │ │ │ └── app_icon_64.png
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ └── MainMenu.xib
│ │ │ │ │ ├── Configs
│ │ │ │ │ ├── AppInfo.xcconfig
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ ├── Release.xcconfig
│ │ │ │ │ └── Warnings.xcconfig
│ │ │ │ │ ├── DebugProfile.entitlements
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ ├── MainFlutterWindow.swift
│ │ │ │ │ └── Release.entitlements
│ │ │ └── pubspec.yaml
│ │ ├── ios
│ │ │ ├── .gitignore
│ │ │ ├── Assets
│ │ │ │ └── .gitkeep
│ │ │ ├── Classes
│ │ │ │ ├── FirebaseModelDownloaderPlugin.h
│ │ │ │ ├── FirebaseModelDownloaderPlugin.m
│ │ │ │ └── FirebaseModelDownloaderPlugin.swift
│ │ │ └── firebase_ml_model_downloader.podspec
│ │ ├── lib
│ │ │ ├── firebase_ml_model_downloader.dart
│ │ │ └── src
│ │ │ │ └── firebase_ml_model_downloader.dart
│ │ ├── macos
│ │ │ ├── Classes
│ │ │ │ ├── FirebaseModelDownloaderPlugin.h
│ │ │ │ ├── FirebaseModelDownloaderPlugin.m
│ │ │ │ └── FirebaseModelDownloaderPlugin.swift
│ │ │ └── firebase_ml_model_downloader.podspec
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ ├── firebase_ml_model_downloader_test.dart
│ │ │ └── mock.dart
│ └── firebase_ml_model_downloader_platform_interface
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── lib
│ │ ├── firebase_ml_model_downloader_platform_interface.dart
│ │ └── src
│ │ │ ├── custom_model.dart
│ │ │ ├── download_conditions.dart
│ │ │ ├── download_type.dart
│ │ │ ├── method_channel
│ │ │ ├── method_channel_firebase_ml_model_downloader.dart
│ │ │ └── utils
│ │ │ │ └── exception.dart
│ │ │ └── platform_interface
│ │ │ └── platform_interface_firebase_ml_model_downloader.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ ├── method_channel_tests
│ │ └── method_channel_firebase_ml_model_downloader_test.dart
│ │ ├── mock.dart
│ │ └── platform_interface_tests
│ │ └── platform_interface_firebase_ml_model_downloader_test.dart
├── firebase_ml_vision
│ └── README.md
├── firebase_performance
│ ├── firebase_performance
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── android
│ │ │ ├── build.gradle
│ │ │ ├── settings.gradle
│ │ │ ├── src
│ │ │ │ └── main
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ └── java
│ │ │ │ │ └── io
│ │ │ │ │ └── flutter
│ │ │ │ │ └── plugins
│ │ │ │ │ └── firebase
│ │ │ │ │ └── performance
│ │ │ │ │ ├── FlutterFirebaseAppRegistrar.java
│ │ │ │ │ ├── FlutterFirebasePerformance.java
│ │ │ │ │ ├── FlutterFirebasePerformancePlugin.java
│ │ │ │ │ ├── FlutterHttpMetric.java
│ │ │ │ │ └── FlutterTrace.java
│ │ │ └── user-agent.gradle
│ │ ├── example
│ │ │ ├── .firebaserc
│ │ │ ├── .gitignore
│ │ │ ├── .metadata
│ │ │ ├── README.md
│ │ │ ├── analysis_options.yaml
│ │ │ ├── android
│ │ │ │ ├── app
│ │ │ │ │ ├── build.gradle
│ │ │ │ │ ├── google-services.json
│ │ │ │ │ ├── gradle
│ │ │ │ │ │ └── wrapper
│ │ │ │ │ │ │ └── gradle-wrapper.properties
│ │ │ │ │ └── src
│ │ │ │ │ │ └── main
│ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ └── res
│ │ │ │ │ │ ├── drawable
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ └── values
│ │ │ │ │ │ └── styles.xml
│ │ │ │ ├── build.gradle
│ │ │ │ ├── gradle.properties
│ │ │ │ ├── gradle
│ │ │ │ │ └── wrapper
│ │ │ │ │ │ └── gradle-wrapper.properties
│ │ │ │ └── settings.gradle
│ │ │ ├── firebase.json
│ │ │ ├── ios
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ └── Release.xcconfig
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ └── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.h
│ │ │ │ │ ├── AppDelegate.m
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ │ │ └── LaunchImage.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── LaunchImage.png
│ │ │ │ │ │ ├── LaunchImage@2x.png
│ │ │ │ │ │ ├── LaunchImage@3x.png
│ │ │ │ │ │ └── README.md
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ └── main.m
│ │ │ ├── lib
│ │ │ │ ├── firebase_config.dart
│ │ │ │ └── main.dart
│ │ │ ├── pubspec.yaml
│ │ │ ├── test_driver
│ │ │ │ ├── firebase_performance_e2e.dart
│ │ │ │ └── firebase_performance_e2e_test.dart
│ │ │ └── web
│ │ │ │ ├── first-input-delay.js
│ │ │ │ └── index.html
│ │ ├── ios
│ │ │ ├── Assets
│ │ │ │ └── .gitkeep
│ │ │ ├── Classes
│ │ │ │ ├── FLTFirebasePerformance.m
│ │ │ │ ├── FLTFirebasePerformancePlugin+Internal.h
│ │ │ │ ├── FLTFirebasePerformancePlugin.h
│ │ │ │ ├── FLTFirebasePerformancePlugin.m
│ │ │ │ ├── FLTHttpMetric.m
│ │ │ │ └── FLTTrace.m
│ │ │ └── firebase_performance.podspec
│ │ ├── lib
│ │ │ ├── firebase_performance.dart
│ │ │ └── src
│ │ │ │ ├── firebase_performance.dart
│ │ │ │ ├── http_metric.dart
│ │ │ │ └── trace.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ ├── firebase_performance_test.dart
│ │ │ └── mock.dart
│ ├── firebase_performance_platform_interface
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── lib
│ │ │ ├── firebase_performance_platform_interface.dart
│ │ │ └── src
│ │ │ │ ├── method_channel
│ │ │ │ ├── method_channel_firebase_performance.dart
│ │ │ │ ├── method_channel_http_metric.dart
│ │ │ │ ├── method_channel_trace.dart
│ │ │ │ └── utils
│ │ │ │ │ └── exception.dart
│ │ │ │ └── platform_interface
│ │ │ │ ├── platform_interface_firebase_performance.dart
│ │ │ │ ├── platform_interface_http_metric.dart
│ │ │ │ └── platform_interface_trace.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ ├── method_channel_tests
│ │ │ ├── method_channel_firebase_performance_test.dart
│ │ │ ├── method_channel_http_metric_test.dart
│ │ │ └── method_channel_trace_test.dart
│ │ │ ├── mock.dart
│ │ │ └── platform_interface_tests
│ │ │ ├── platform_interface_firebase_performance_test.dart
│ │ │ ├── platform_interface_http_metric_test.dart
│ │ │ └── platform_interface_trace_test.dart
│ └── firebase_performance_web
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── lib
│ │ ├── firebase_performance_web.dart
│ │ └── src
│ │ │ ├── internals.dart
│ │ │ ├── interop
│ │ │ ├── firebase_interop.dart
│ │ │ ├── performance.dart
│ │ │ └── performance_interop.dart
│ │ │ └── trace.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ └── firebase_performance_web_test.dart
├── firebase_remote_config
│ ├── firebase_remote_config
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── android
│ │ │ ├── build.gradle
│ │ │ ├── gradle.properties
│ │ │ ├── settings.gradle
│ │ │ ├── src
│ │ │ │ └── main
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ └── java
│ │ │ │ │ └── io
│ │ │ │ │ └── flutter
│ │ │ │ │ └── plugins
│ │ │ │ │ └── firebase
│ │ │ │ │ └── firebaseremoteconfig
│ │ │ │ │ ├── FirebaseRemoteConfigPlugin.java
│ │ │ │ │ └── FlutterFirebaseAppRegistrar.java
│ │ │ └── user-agent.gradle
│ │ ├── example
│ │ │ ├── .metadata
│ │ │ ├── README.md
│ │ │ ├── analysis_options.yaml
│ │ │ ├── android
│ │ │ │ ├── app
│ │ │ │ │ ├── build.gradle
│ │ │ │ │ ├── google-services.json
│ │ │ │ │ ├── gradle
│ │ │ │ │ │ └── wrapper
│ │ │ │ │ │ │ └── gradle-wrapper.properties
│ │ │ │ │ └── src
│ │ │ │ │ │ └── main
│ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ └── res
│ │ │ │ │ │ ├── drawable
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ └── values
│ │ │ │ │ │ └── styles.xml
│ │ │ │ ├── build.gradle
│ │ │ │ ├── gradle.properties
│ │ │ │ ├── gradle
│ │ │ │ │ └── wrapper
│ │ │ │ │ │ └── gradle-wrapper.properties
│ │ │ │ └── settings.gradle
│ │ │ ├── ios
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ └── Release.xcconfig
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ └── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ └── contents.xcworkspacedata
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.h
│ │ │ │ │ ├── AppDelegate.m
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ │ │ └── LaunchImage.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── LaunchImage.png
│ │ │ │ │ │ ├── LaunchImage@2x.png
│ │ │ │ │ │ ├── LaunchImage@3x.png
│ │ │ │ │ │ └── README.md
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ └── main.m
│ │ │ ├── lib
│ │ │ │ └── main.dart
│ │ │ ├── macos
│ │ │ │ ├── .gitignore
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── Flutter-Debug.xcconfig
│ │ │ │ │ └── Flutter-Release.xcconfig
│ │ │ │ ├── Podfile
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.swift
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ └── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── app_icon_1024.png
│ │ │ │ │ │ ├── app_icon_128.png
│ │ │ │ │ │ ├── app_icon_16.png
│ │ │ │ │ │ ├── app_icon_256.png
│ │ │ │ │ │ ├── app_icon_32.png
│ │ │ │ │ │ ├── app_icon_512.png
│ │ │ │ │ │ └── app_icon_64.png
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ └── MainMenu.xib
│ │ │ │ │ ├── Configs
│ │ │ │ │ ├── AppInfo.xcconfig
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ ├── Release.xcconfig
│ │ │ │ │ └── Warnings.xcconfig
│ │ │ │ │ ├── DebugProfile.entitlements
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ ├── MainFlutterWindow.swift
│ │ │ │ │ └── Release.entitlements
│ │ │ ├── pubspec.yaml
│ │ │ └── web
│ │ │ │ └── index.html
│ │ ├── ios
│ │ │ ├── Assets
│ │ │ │ └── .gitkeep
│ │ │ ├── Classes
│ │ │ │ ├── FLTFirebaseRemoteConfigPlugin.h
│ │ │ │ ├── FLTFirebaseRemoteConfigPlugin.m
│ │ │ │ ├── FLTFirebaseRemoteConfigUtils.h
│ │ │ │ └── FLTFirebaseRemoteConfigUtils.m
│ │ │ └── firebase_remote_config.podspec
│ │ ├── lib
│ │ │ ├── firebase_remote_config.dart
│ │ │ └── src
│ │ │ │ └── firebase_remote_config.dart
│ │ ├── macos
│ │ │ ├── Assets
│ │ │ │ └── .gitkeep
│ │ │ ├── Classes
│ │ │ │ ├── FLTFirebaseRemoteConfigPlugin.h
│ │ │ │ ├── FLTFirebaseRemoteConfigPlugin.m
│ │ │ │ ├── FLTFirebaseRemoteConfigUtils.h
│ │ │ │ └── FLTFirebaseRemoteConfigUtils.m
│ │ │ └── firebase_remote_config.podspec
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ ├── firebase_remote_config_test.dart
│ │ │ └── mock.dart
│ ├── firebase_remote_config_platform_interface
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── lib
│ │ │ ├── firebase_remote_config_platform_interface.dart
│ │ │ └── src
│ │ │ │ ├── method_channel
│ │ │ │ ├── method_channel_firebase_remote_config.dart
│ │ │ │ └── utils
│ │ │ │ │ └── exception.dart
│ │ │ │ ├── platform_interface
│ │ │ │ └── platform_interface_firebase_remote_config.dart
│ │ │ │ ├── remote_config_settings.dart
│ │ │ │ ├── remote_config_status.dart
│ │ │ │ └── remote_config_value.dart
│ │ └── pubspec.yaml
│ └── firebase_remote_config_web
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── lib
│ │ ├── firebase_remote_config_web.dart
│ │ └── src
│ │ │ └── interop
│ │ │ ├── firebase_interop.dart
│ │ │ ├── firebase_remote_config.dart
│ │ │ └── firebase_remote_config_interop.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ └── firebase_remote_config_web_test.dart
├── firebase_storage
│ ├── all_lint_rules.yaml
│ ├── analysis_options.yaml
│ ├── firebase_storage
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── android
│ │ │ ├── build.gradle
│ │ │ ├── gradle.properties
│ │ │ ├── settings.gradle
│ │ │ ├── src
│ │ │ │ └── main
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ └── java
│ │ │ │ │ └── io
│ │ │ │ │ └── flutter
│ │ │ │ │ └── plugins
│ │ │ │ │ └── firebase
│ │ │ │ │ └── storage
│ │ │ │ │ ├── FlutterFirebaseAppRegistrar.java
│ │ │ │ │ ├── FlutterFirebaseStorageException.java
│ │ │ │ │ ├── FlutterFirebaseStoragePlugin.java
│ │ │ │ │ └── FlutterFirebaseStorageTask.java
│ │ │ └── user-agent.gradle
│ │ ├── example
│ │ │ ├── README.md
│ │ │ ├── analysis_options.yaml
│ │ │ ├── android
│ │ │ │ ├── app
│ │ │ │ │ ├── build.gradle
│ │ │ │ │ ├── gradle
│ │ │ │ │ │ └── wrapper
│ │ │ │ │ │ │ └── gradle-wrapper.properties
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── androidTest
│ │ │ │ │ │ └── java
│ │ │ │ │ │ │ └── io
│ │ │ │ │ │ │ └── flutter
│ │ │ │ │ │ │ └── plugins
│ │ │ │ │ │ │ └── firebasestorageexample
│ │ │ │ │ │ │ └── MainActivityTest.java
│ │ │ │ │ │ └── main
│ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ └── res
│ │ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ └── mipmap-xxxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ ├── build.gradle
│ │ │ │ ├── gradle.properties
│ │ │ │ ├── gradle
│ │ │ │ │ └── wrapper
│ │ │ │ │ │ └── gradle-wrapper.properties
│ │ │ │ └── settings.gradle
│ │ │ ├── assets
│ │ │ │ └── hello.txt
│ │ │ ├── cors.json
│ │ │ ├── ios
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ └── Release.xcconfig
│ │ │ │ ├── Podfile
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ └── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ └── contents.xcworkspacedata
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.h
│ │ │ │ │ ├── AppDelegate.m
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ └── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ └── main.m
│ │ │ ├── lib
│ │ │ │ ├── main.dart
│ │ │ │ └── save_as
│ │ │ │ │ ├── save_as.dart
│ │ │ │ │ ├── save_as_html.dart
│ │ │ │ │ └── save_as_interface.dart
│ │ │ ├── macos
│ │ │ │ ├── .gitignore
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── Flutter-Debug.xcconfig
│ │ │ │ │ └── Flutter-Release.xcconfig
│ │ │ │ ├── Podfile
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ ├── project.pbxproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── xcschemes
│ │ │ │ │ │ └── Runner.xcscheme
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ └── Runner
│ │ │ │ │ ├── AppDelegate.swift
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ └── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── app_icon_1024.png
│ │ │ │ │ │ ├── app_icon_128.png
│ │ │ │ │ │ ├── app_icon_16.png
│ │ │ │ │ │ ├── app_icon_256.png
│ │ │ │ │ │ ├── app_icon_32.png
│ │ │ │ │ │ ├── app_icon_512.png
│ │ │ │ │ │ └── app_icon_64.png
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ └── MainMenu.xib
│ │ │ │ │ ├── Configs
│ │ │ │ │ ├── AppInfo.xcconfig
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ ├── Release.xcconfig
│ │ │ │ │ └── Warnings.xcconfig
│ │ │ │ │ ├── DebugProfile.entitlements
│ │ │ │ │ ├── GoogleService-Info.plist
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ ├── MainFlutterWindow.swift
│ │ │ │ │ └── Release.entitlements
│ │ │ ├── pubspec.yaml
│ │ │ └── web
│ │ │ │ └── index.html
│ │ ├── ios
│ │ │ ├── Assets
│ │ │ │ └── .gitkeep
│ │ │ ├── Classes
│ │ │ │ ├── FLTFirebaseStoragePlugin.h
│ │ │ │ └── FLTFirebaseStoragePlugin.m
│ │ │ └── firebase_storage.podspec
│ │ ├── lib
│ │ │ ├── firebase_storage.dart
│ │ │ └── src
│ │ │ │ ├── firebase_storage.dart
│ │ │ │ ├── list_result.dart
│ │ │ │ ├── reference.dart
│ │ │ │ ├── task.dart
│ │ │ │ ├── task_snapshot.dart
│ │ │ │ └── utils.dart
│ │ ├── macos
│ │ │ ├── Assets
│ │ │ │ └── .gitkeep
│ │ │ ├── Classes
│ │ │ │ ├── FLTFirebaseStoragePlugin.h
│ │ │ │ └── FLTFirebaseStoragePlugin.m
│ │ │ └── firebase_storage.podspec
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ ├── firebase_storage_test.dart
│ │ │ ├── list_result_test.dart
│ │ │ ├── mock.dart
│ │ │ ├── reference_test.dart
│ │ │ ├── task_snapshot_test.dart
│ │ │ ├── task_test.dart
│ │ │ └── utils_test.dart
│ ├── firebase_storage_platform_interface
│ │ ├── .gitignore
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── lib
│ │ │ ├── firebase_storage_platform_interface.dart
│ │ │ └── src
│ │ │ │ ├── full_metadata.dart
│ │ │ │ ├── internal
│ │ │ │ └── pointer.dart
│ │ │ │ ├── list_options.dart
│ │ │ │ ├── method_channel
│ │ │ │ ├── method_channel_firebase_storage.dart
│ │ │ │ ├── method_channel_list_result.dart
│ │ │ │ ├── method_channel_reference.dart
│ │ │ │ ├── method_channel_task.dart
│ │ │ │ ├── method_channel_task_snapshot.dart
│ │ │ │ └── utils
│ │ │ │ │ └── exception.dart
│ │ │ │ ├── platform_interface
│ │ │ │ ├── platform_interface_firebase_storage.dart
│ │ │ │ ├── platform_interface_list_result.dart
│ │ │ │ ├── platform_interface_reference.dart
│ │ │ │ ├── platform_interface_task.dart
│ │ │ │ └── platform_interface_task_snapshot.dart
│ │ │ │ ├── put_string_format.dart
│ │ │ │ ├── settable_metadata.dart
│ │ │ │ └── task_state.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ ├── method_channel_tests
│ │ │ ├── method_channel_firebase_storage_test.dart
│ │ │ ├── method_channel_list_result_test.dart
│ │ │ ├── method_channel_reference_test.dart
│ │ │ └── method_channel_task_test.dart
│ │ │ ├── mock.dart
│ │ │ └── platform_interface_tests
│ │ │ ├── platform_interface_firebase_storage_test.dart
│ │ │ ├── platform_interface_list_result_test.dart
│ │ │ ├── platform_interface_reference_test.dart
│ │ │ └── platform_interface_task_test.dart
│ └── firebase_storage_web
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── ios
│ │ └── firebase_storage_web.podspec
│ │ ├── lib
│ │ ├── firebase_storage_web.dart
│ │ └── src
│ │ │ ├── firebase_storage_web.dart
│ │ │ ├── interop
│ │ │ ├── firebase_interop.dart
│ │ │ ├── storage.dart
│ │ │ └── storage_interop.dart
│ │ │ ├── list_result_web.dart
│ │ │ ├── reference_web.dart
│ │ │ ├── task_snapshot_web.dart
│ │ │ ├── task_web.dart
│ │ │ └── utils
│ │ │ ├── errors.dart
│ │ │ ├── list.dart
│ │ │ ├── metadata.dart
│ │ │ ├── metadata_cache.dart
│ │ │ └── task.dart
│ │ ├── pubspec.yaml
│ │ └── test
│ │ └── metadata_cache_test.dart
└── flutterfire_ui
│ ├── .gitignore
│ ├── .metadata
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── assets
│ ├── config.json
│ ├── countries.json
│ ├── fonts
│ │ └── SocialIcons.ttf
│ └── icons
│ │ ├── apple_dark.svg
│ │ ├── apple_light.svg
│ │ ├── facebook.svg
│ │ ├── google.svg
│ │ └── twitter.svg
│ ├── example
│ ├── .firebaserc
│ ├── .gitignore
│ ├── .metadata
│ ├── README.md
│ ├── android
│ │ ├── .gitignore
│ │ ├── app
│ │ │ ├── build.gradle
│ │ │ └── src
│ │ │ │ ├── debug
│ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── kotlin
│ │ │ │ │ └── io
│ │ │ │ │ │ └── flutter
│ │ │ │ │ │ └── plugins
│ │ │ │ │ │ └── flutterfire_ui
│ │ │ │ │ │ └── flutterfire_ui_example
│ │ │ │ │ │ └── MainActivity.kt
│ │ │ │ └── res
│ │ │ │ │ ├── drawable-v21
│ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── drawable
│ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ ├── values-night
│ │ │ │ │ └── styles.xml
│ │ │ │ │ └── values
│ │ │ │ │ ├── strings.xml
│ │ │ │ │ └── styles.xml
│ │ │ │ └── profile
│ │ │ │ └── AndroidManifest.xml
│ │ ├── build.gradle
│ │ ├── gradle.properties
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ │ └── gradle-wrapper.properties
│ │ ├── settings.gradle
│ │ └── settings_aar.gradle
│ ├── assets
│ │ └── images
│ │ │ ├── firebase_logo.svg
│ │ │ └── flutterfire_logo.png
│ ├── firebase.json
│ ├── ios
│ │ ├── .gitignore
│ │ ├── Flutter
│ │ │ ├── AppFrameworkInfo.plist
│ │ │ ├── Debug.xcconfig
│ │ │ └── Release.xcconfig
│ │ ├── Podfile
│ │ ├── Runner.xcodeproj
│ │ │ ├── project.pbxproj
│ │ │ ├── project.xcworkspace
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ └── xcshareddata
│ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ └── xcshareddata
│ │ │ │ └── xcschemes
│ │ │ │ └── Runner.xcscheme
│ │ ├── Runner.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ └── WorkspaceSettings.xcsettings
│ │ └── Runner
│ │ │ ├── AppDelegate.swift
│ │ │ ├── Assets.xcassets
│ │ │ ├── AppIcon.appiconset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ └── LaunchImage.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── LaunchImage.png
│ │ │ │ ├── LaunchImage@2x.png
│ │ │ │ ├── LaunchImage@3x.png
│ │ │ │ └── README.md
│ │ │ ├── Base.lproj
│ │ │ ├── LaunchScreen.storyboard
│ │ │ └── Main.storyboard
│ │ │ ├── GoogleService-Info.plist
│ │ │ ├── Info.plist
│ │ │ └── Runner-Bridging-Header.h
│ ├── lib
│ │ ├── config.dart
│ │ ├── decorations.dart
│ │ ├── firebase_options.dart
│ │ ├── init.dart
│ │ ├── io_init.dart
│ │ ├── main.dart
│ │ ├── pages
│ │ │ └── auth_resolver.dart
│ │ ├── stories.dart
│ │ ├── stories
│ │ │ ├── screens
│ │ │ │ ├── email_link_sign_in_screen.dart
│ │ │ │ ├── forgot_password_screen.dart
│ │ │ │ ├── phone_input_screen.dart
│ │ │ │ ├── profile_screen.dart
│ │ │ │ ├── register_screen.dart
│ │ │ │ ├── sign_in_screen.dart
│ │ │ │ └── sms_code_input_screen.dart
│ │ │ ├── stories_lib
│ │ │ │ └── story.dart
│ │ │ ├── views
│ │ │ │ ├── email_link_sign_in_view.dart
│ │ │ │ ├── forgot_password_view.dart
│ │ │ │ ├── login_view.dart
│ │ │ │ ├── phone_input_view.dart
│ │ │ │ └── sms_code_input_view.dart
│ │ │ └── widgets
│ │ │ │ ├── apple_sign_in_button.dart
│ │ │ │ ├── email_form.dart
│ │ │ │ ├── facebook_sign_in_button.dart
│ │ │ │ ├── firebase_database_list_view.dart
│ │ │ │ ├── firebase_table.dart
│ │ │ │ ├── firestore_list_view.dart
│ │ │ │ ├── firestore_table.dart
│ │ │ │ ├── google_sign_in_button.dart
│ │ │ │ ├── oauth_provider_button.dart
│ │ │ │ ├── phone_input.dart
│ │ │ │ ├── sign_out_button.dart
│ │ │ │ ├── sms_code_input.dart
│ │ │ │ ├── twitter_sign_in_button.dart
│ │ │ │ └── user_avatar.dart
│ │ └── web_init.dart
│ ├── macos
│ │ ├── .gitignore
│ │ ├── Flutter
│ │ │ ├── Flutter-Debug.xcconfig
│ │ │ └── Flutter-Release.xcconfig
│ │ ├── Podfile
│ │ ├── Runner.xcodeproj
│ │ │ ├── project.pbxproj
│ │ │ ├── project.xcworkspace
│ │ │ │ └── xcshareddata
│ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ └── xcshareddata
│ │ │ │ └── xcschemes
│ │ │ │ └── Runner.xcscheme
│ │ ├── Runner.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ │ └── IDEWorkspaceChecks.plist
│ │ └── Runner
│ │ │ ├── AppDelegate.swift
│ │ │ ├── Assets.xcassets
│ │ │ └── AppIcon.appiconset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── app_icon_1024.png
│ │ │ │ ├── app_icon_128.png
│ │ │ │ ├── app_icon_16.png
│ │ │ │ ├── app_icon_256.png
│ │ │ │ ├── app_icon_32.png
│ │ │ │ ├── app_icon_512.png
│ │ │ │ └── app_icon_64.png
│ │ │ ├── Base.lproj
│ │ │ └── MainMenu.xib
│ │ │ ├── Configs
│ │ │ ├── AppInfo.xcconfig
│ │ │ ├── Debug.xcconfig
│ │ │ ├── Release.xcconfig
│ │ │ └── Warnings.xcconfig
│ │ │ ├── DebugProfile.entitlements
│ │ │ ├── GoogleService-Info.plist
│ │ │ ├── GoogleSignInMacOS.swift
│ │ │ ├── Info.plist
│ │ │ ├── MainFlutterWindow.swift
│ │ │ └── Release.entitlements
│ ├── pubspec.yaml
│ ├── test
│ │ └── widget_test.dart
│ ├── test_driver
│ │ ├── firestore_list_view_test.dart
│ │ ├── firestore_query_builder_test.dart
│ │ ├── flutterfire_ui_e2e.dart
│ │ ├── flutterfire_ui_e2e_test.dart
│ │ └── utils.dart
│ └── web
│ │ ├── favicon.png
│ │ ├── icons
│ │ ├── Icon-192.png
│ │ └── Icon-512.png
│ │ ├── index.html
│ │ └── manifest.json
│ ├── lib
│ ├── auth.dart
│ ├── database.dart
│ ├── firestore.dart
│ ├── i10n.dart
│ └── src
│ │ ├── auth
│ │ ├── actions.dart
│ │ ├── auth_controller.dart
│ │ ├── auth_flow.dart
│ │ ├── auth_state.dart
│ │ ├── configs
│ │ │ ├── countries.dart
│ │ │ ├── default_provider_config_factory.dart
│ │ │ ├── email_link_provider_configuration.dart
│ │ │ ├── email_provider_configuration.dart
│ │ │ ├── oauth_provider_configuration.dart
│ │ │ ├── phone_provider_configuration.dart
│ │ │ └── provider_configuration.dart
│ │ ├── flows
│ │ │ ├── email_flow.dart
│ │ │ ├── email_link_flow.dart
│ │ │ ├── oauth_flow.dart
│ │ │ └── phone_auth_flow.dart
│ │ ├── navigation
│ │ │ ├── authentication.dart
│ │ │ ├── forgot_password.dart
│ │ │ └── phone_verification.dart
│ │ ├── oauth
│ │ │ ├── oauth_providers.dart
│ │ │ ├── provider_resolvers.dart
│ │ │ ├── providers
│ │ │ │ ├── apple_provider.dart
│ │ │ │ ├── facebook_provider.dart
│ │ │ │ ├── google_provider.dart
│ │ │ │ └── twitter_provider.dart
│ │ │ └── social_icons.dart
│ │ ├── screens
│ │ │ ├── email_link_sign_in_screen.dart
│ │ │ ├── forgot_password_screen.dart
│ │ │ ├── internal
│ │ │ │ ├── login_screen.dart
│ │ │ │ ├── multi_provider_screen.dart
│ │ │ │ ├── provider_screen.dart
│ │ │ │ └── responsive_page.dart
│ │ │ ├── phone_input_screen.dart
│ │ │ ├── profile_screen.dart
│ │ │ ├── register_screen.dart
│ │ │ ├── sign_in_screen.dart
│ │ │ ├── sms_code_input_screen.dart
│ │ │ └── universal_email_sign_in_screen.dart
│ │ ├── validators.dart
│ │ ├── views
│ │ │ ├── different_method_sign_in_view.dart
│ │ │ ├── email_link_sign_in_view.dart
│ │ │ ├── find_providers_for_email_view.dart
│ │ │ ├── forgot_password_view.dart
│ │ │ ├── login_view.dart
│ │ │ ├── phone_input_view.dart
│ │ │ ├── reauthenticate_view.dart
│ │ │ └── sms_code_input_view.dart
│ │ └── widgets
│ │ │ ├── apple_sign_in_button.dart
│ │ │ ├── auth_flow_builder.dart
│ │ │ ├── delete_account_button.dart
│ │ │ ├── different_method_sign_in_dialog.dart
│ │ │ ├── editable_user_display_name.dart
│ │ │ ├── email_form.dart
│ │ │ ├── email_input.dart
│ │ │ ├── email_link_sign_in_button.dart
│ │ │ ├── email_sign_up_dialog.dart
│ │ │ ├── error_text.dart
│ │ │ ├── facebook_sign_in_button.dart
│ │ │ ├── forgot_password_button.dart
│ │ │ ├── google_sign_in_button.dart
│ │ │ ├── internal
│ │ │ ├── keyboard_appearence_listener.dart
│ │ │ ├── loading_button.dart
│ │ │ ├── oauth_provider_button.dart
│ │ │ ├── oauth_provider_button_style.dart
│ │ │ ├── platform_widget.dart
│ │ │ ├── rebuild_scope.dart
│ │ │ ├── subtitle.dart
│ │ │ ├── title.dart
│ │ │ ├── universal_button.dart
│ │ │ ├── universal_page_route.dart
│ │ │ ├── universal_scaffold.dart
│ │ │ └── universal_text_form_field.dart
│ │ │ ├── password_input.dart
│ │ │ ├── phone_input.dart
│ │ │ ├── phone_verification_button.dart
│ │ │ ├── reauthenticate_dialog.dart
│ │ │ ├── sign_out_button.dart
│ │ │ ├── sms_code_input.dart
│ │ │ ├── twitter_sign_in_button.dart
│ │ │ └── user_avatar.dart
│ │ ├── firebase_database
│ │ ├── query_builder.dart
│ │ └── table_builder.dart
│ │ ├── firestore
│ │ ├── query_builder.dart
│ │ └── table_builder.dart
│ │ ├── i10n
│ │ ├── default_localizations.dart
│ │ ├── i10n.dart
│ │ └── lang
│ │ │ ├── ar.dart
│ │ │ ├── de.dart
│ │ │ ├── en.dart
│ │ │ ├── es.dart
│ │ │ ├── fr.dart
│ │ │ ├── hi.dart
│ │ │ ├── id.dart
│ │ │ ├── it.dart
│ │ │ ├── nl.dart
│ │ │ ├── pt.dart
│ │ │ └── tr.dart
│ │ └── loading_indicator.dart
│ ├── pubspec.yaml
│ └── test
│ └── firebase_ui_test.dart
├── resources
└── flutter_favorite.png
├── tests
├── .gitignore
├── .metadata
├── README.md
├── android
│ ├── .gitignore
│ ├── app
│ │ ├── build.gradle
│ │ └── src
│ │ │ ├── debug
│ │ │ └── AndroidManifest.xml
│ │ │ ├── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── io
│ │ │ │ │ └── flutter
│ │ │ │ │ └── app
│ │ │ │ │ └── FlutterMultiDexApplication.java
│ │ │ ├── kotlin
│ │ │ │ └── io
│ │ │ │ │ └── flutter
│ │ │ │ │ └── plugins
│ │ │ │ │ └── firebase
│ │ │ │ │ └── tests
│ │ │ │ │ └── MainActivity.kt
│ │ │ └── res
│ │ │ │ ├── drawable-v21
│ │ │ │ └── launch_background.xml
│ │ │ │ ├── drawable
│ │ │ │ └── launch_background.xml
│ │ │ │ ├── mipmap-hdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-mdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── values-night
│ │ │ │ └── styles.xml
│ │ │ │ └── values
│ │ │ │ └── styles.xml
│ │ │ └── profile
│ │ │ └── AndroidManifest.xml
│ ├── build.gradle
│ ├── gradle.properties
│ ├── gradle
│ │ └── wrapper
│ │ │ └── gradle-wrapper.properties
│ └── settings.gradle
├── ios
│ ├── .gitignore
│ ├── Flutter
│ │ ├── AppFrameworkInfo.plist
│ │ ├── Debug.xcconfig
│ │ └── Release.xcconfig
│ ├── Podfile
│ ├── Runner.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ └── WorkspaceSettings.xcsettings
│ │ └── xcshareddata
│ │ │ └── xcschemes
│ │ │ └── Runner.xcscheme
│ ├── Runner.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ └── Runner
│ │ ├── AppDelegate.swift
│ │ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── Contents.json
│ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ ├── Icon-App-20x20@1x.png
│ │ │ ├── Icon-App-20x20@2x.png
│ │ │ ├── Icon-App-20x20@3x.png
│ │ │ ├── Icon-App-29x29@1x.png
│ │ │ ├── Icon-App-29x29@2x.png
│ │ │ ├── Icon-App-29x29@3x.png
│ │ │ ├── Icon-App-40x40@1x.png
│ │ │ ├── Icon-App-40x40@2x.png
│ │ │ ├── Icon-App-40x40@3x.png
│ │ │ ├── Icon-App-60x60@2x.png
│ │ │ ├── Icon-App-60x60@3x.png
│ │ │ ├── Icon-App-76x76@1x.png
│ │ │ ├── Icon-App-76x76@2x.png
│ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ └── LaunchImage.imageset
│ │ │ ├── Contents.json
│ │ │ ├── LaunchImage.png
│ │ │ ├── LaunchImage@2x.png
│ │ │ ├── LaunchImage@3x.png
│ │ │ └── README.md
│ │ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ │ ├── Info.plist
│ │ └── Runner-Bridging-Header.h
├── lib
│ ├── firebase_default_options.dart
│ └── main.dart
├── macos
│ ├── .gitignore
│ ├── Flutter
│ │ ├── Flutter-Debug.xcconfig
│ │ └── Flutter-Release.xcconfig
│ ├── Podfile
│ ├── Runner.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ └── xcshareddata
│ │ │ │ └── IDEWorkspaceChecks.plist
│ │ └── xcshareddata
│ │ │ └── xcschemes
│ │ │ └── Runner.xcscheme
│ ├── Runner.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ └── Runner
│ │ ├── AppDelegate.swift
│ │ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ ├── Contents.json
│ │ │ ├── app_icon_1024.png
│ │ │ ├── app_icon_128.png
│ │ │ ├── app_icon_16.png
│ │ │ ├── app_icon_256.png
│ │ │ ├── app_icon_32.png
│ │ │ ├── app_icon_512.png
│ │ │ └── app_icon_64.png
│ │ ├── Base.lproj
│ │ └── MainMenu.xib
│ │ ├── Configs
│ │ ├── AppInfo.xcconfig
│ │ ├── Debug.xcconfig
│ │ ├── Release.xcconfig
│ │ └── Warnings.xcconfig
│ │ ├── DebugProfile.entitlements
│ │ ├── Info.plist
│ │ ├── MainFlutterWindow.swift
│ │ └── Release.entitlements
├── pubspec.yaml
├── test_driver
│ ├── cloud_functions
│ │ ├── cloud_functions_e2e.dart
│ │ └── sample_data.dart
│ ├── driver_e2e.dart
│ ├── driver_e2e_test.dart
│ ├── firebase_analytics
│ │ └── firebase_analytics_e2e.dart
│ ├── firebase_app_check
│ │ └── firebase_app_check_e2e.dart
│ ├── firebase_app_installations
│ │ └── firebase_app_installations_e2e.dart
│ ├── firebase_auth
│ │ ├── firebase_auth_e2e.dart
│ │ ├── firebase_auth_instance_e2e.dart
│ │ ├── firebase_auth_user_e2e.dart
│ │ └── test_utils.dart
│ ├── firebase_core
│ │ └── firebase_core_e2e.dart
│ ├── firebase_crashlytics
│ │ └── firebase_crashlytics_e2e.dart
│ ├── firebase_database
│ │ ├── data_snapshot_e2e.dart
│ │ ├── database_e2e.dart
│ │ ├── database_reference_e2e.dart
│ │ ├── firebase_database_configuration_e2e.dart
│ │ ├── firebase_database_e2e.dart
│ │ ├── on_disconnect_e2e.dart
│ │ └── query_e2e.dart
│ ├── firebase_default_options.dart
│ ├── firebase_dynamic_links
│ │ └── firebase_dynamic_links_e2e.dart
│ ├── firebase_in_app_messaging
│ │ └── firebase_in_app_messaging_e2e.dart
│ ├── firebase_messaging
│ │ └── firebase_messaging_e2e.dart
│ ├── firebase_ml_model_downloader
│ │ └── firebase_ml_model_downloader_e2e.dart
│ ├── firebase_remote_config
│ │ └── firebase_remote_config_e2e.dart
│ └── firebase_storage
│ │ ├── firebase_storage_e2e.dart
│ │ ├── instance_e2e.dart
│ │ ├── list_result_e2e.dart
│ │ ├── reference_e2e.dart
│ │ ├── task_e2e.dart
│ │ └── test_utils.dart
└── web
│ ├── favicon.png
│ ├── icons
│ ├── Icon-192.png
│ ├── Icon-512.png
│ ├── Icon-maskable-192.png
│ └── Icon-maskable-512.png
│ ├── index.html
│ └── manifest.json
└── website
├── .eslintignore
├── .eslintrc
├── .firebaserc
├── .gitignore
├── .prettierignore
├── .prettierrc
├── README.md
├── api.js
├── dictionary.js
├── docusaurus-plugins
├── favicon-tags.js
├── source-api-reference.js
├── source-ui-widgets.js
└── source-versions.js
├── docusaurus.config.js
├── firebase.json
├── package.json
├── plugins.js
├── src
├── components
│ └── Triangle.tsx
├── pages
│ ├── docs.tsx
│ ├── index.tsx
│ └── styles.module.scss
├── styles.scss
├── theme
│ └── MDXComponents
│ │ ├── index.tsx
│ │ └── styles.module.scss
├── types.d.ts
└── utils.ts
├── static
├── .nojekyll
├── CNAME
├── favicon
│ ├── android-chrome-192x192.png
│ ├── android-chrome-512x512.png
│ ├── apple-touch-icon.png
│ ├── browserconfig.xml
│ ├── favicon-16x16.png
│ ├── favicon-32x32.png
│ ├── favicon.ico
│ ├── mstile-150x150.png
│ ├── safari-pinned-tab.svg
│ └── site.webmanifest
└── img
│ ├── dart-logo.png
│ ├── favicon.ico
│ ├── firebase-logo.png
│ ├── flutterfire.svg
│ ├── flutterfire_1200x.png
│ ├── flutterfire_300x.png
│ ├── flutterfire_600x.png
│ └── link-icon.svg
├── tsconfig.json
└── yarn.lock
/.editorconfig:
--------------------------------------------------------------------------------
1 | # editorconfig
2 | root = true
3 |
4 | [*]
5 | indent_style = space
6 | indent_size = 2
7 | end_of_line = lf
8 | charset = utf-8
9 | trim_trailing_whitespace = true
10 | insert_final_newline = true
11 | quote_type = single
--------------------------------------------------------------------------------
/.github/workflows/scripts/.firebaserc:
--------------------------------------------------------------------------------
1 | {
2 | "projects": {
3 | "default": "flutterfire-e2e-tests"
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/.github/workflows/scripts/functions/.gitignore:
--------------------------------------------------------------------------------
1 | ## Compiled JavaScript files
2 | **/*.js
3 | **/*.js.map
4 | # Typescript v1 declaration files
5 | typings/
6 |
7 | node_modules/
8 |
9 | .idea
10 | *.log
11 |
--------------------------------------------------------------------------------
/.github/workflows/scripts/install-flutter.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | BRANCH=$1
4 | git clone https://github.com/flutter/flutter.git --depth 1 -b $BRANCH "$GITHUB_WORKSPACE/_flutter"
5 | echo "$GITHUB_WORKSPACE/_flutter/bin" >> $GITHUB_PATH
6 |
--------------------------------------------------------------------------------
/.github/workflows/scripts/reset-firestore-emulator.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | curl -v -X DELETE "http://localhost:8080/emulator/v1/projects/react-native-firebase-testing/databases/(default)/documents"
--------------------------------------------------------------------------------
/.swiftformat:
--------------------------------------------------------------------------------
1 | --indent 2
2 | --maxwidth 100
3 | --wrapparameters afterfirst
4 | --disable sortedImports,unusedArguments,wrapMultilineStatementBraces
5 | --exclude Pods,**/MainFlutterWindow.swift,**/AppDelegate.swift,**/.symlinks/**
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "dart.runPubGetOnPubspecChanges": false,
3 | }
4 |
--------------------------------------------------------------------------------
/docs/_assets/crashlytics-example-detail.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/crashlytics-example-detail.png
--------------------------------------------------------------------------------
/docs/_assets/crashlytics-example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/crashlytics-example.png
--------------------------------------------------------------------------------
/docs/_assets/crashlytics-filter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/crashlytics-filter.png
--------------------------------------------------------------------------------
/docs/_assets/crashlytics-init.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/crashlytics-init.png
--------------------------------------------------------------------------------
/docs/_assets/dl-apple-configure.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/dl-apple-configure.jpg
--------------------------------------------------------------------------------
/docs/_assets/dl-apple-provision.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/dl-apple-provision.jpg
--------------------------------------------------------------------------------
/docs/_assets/dl-apple-signing.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/dl-apple-signing.jpg
--------------------------------------------------------------------------------
/docs/_assets/dl-apple-urlscheme.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/dl-apple-urlscheme.jpg
--------------------------------------------------------------------------------
/docs/_assets/dl-prefix.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/dl-prefix.png
--------------------------------------------------------------------------------
/docs/_assets/enable-firebase-crashlytics.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/enable-firebase-crashlytics.png
--------------------------------------------------------------------------------
/docs/_assets/ios-add-files-via-xcode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ios-add-files-via-xcode.png
--------------------------------------------------------------------------------
/docs/_assets/ios-apple-dev-copy-download.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ios-apple-dev-copy-download.png
--------------------------------------------------------------------------------
/docs/_assets/ios-apple-dev-enable-apns.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ios-apple-dev-enable-apns.png
--------------------------------------------------------------------------------
/docs/_assets/ios-apple-dev-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ios-apple-dev-menu.png
--------------------------------------------------------------------------------
/docs/_assets/ios-apple-dev-select-app-id.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ios-apple-dev-select-app-id.png
--------------------------------------------------------------------------------
/docs/_assets/ios-enable-background-capability.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ios-enable-background-capability.png
--------------------------------------------------------------------------------
/docs/_assets/ios-enable-push-notifications.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ios-enable-push-notifications.png
--------------------------------------------------------------------------------
/docs/_assets/ios-notification-images-step-1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ios-notification-images-step-1.gif
--------------------------------------------------------------------------------
/docs/_assets/ios-notification-images-step-2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ios-notification-images-step-2.gif
--------------------------------------------------------------------------------
/docs/_assets/ios-notification-images-step-3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ios-notification-images-step-3.gif
--------------------------------------------------------------------------------
/docs/_assets/ios-provisional-notification.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ios-provisional-notification.jpg
--------------------------------------------------------------------------------
/docs/_assets/ios-signing-capabilities.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ios-signing-capabilities.png
--------------------------------------------------------------------------------
/docs/_assets/ios-xcode-assign-provisioning-profile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ios-xcode-assign-provisioning-profile.png
--------------------------------------------------------------------------------
/docs/_assets/ios-xcode-bundle-id.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ios-xcode-bundle-id.png
--------------------------------------------------------------------------------
/docs/_assets/ios-xcode-copy-items.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ios-xcode-copy-items.png
--------------------------------------------------------------------------------
/docs/_assets/recaptcha-widget-inline.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/recaptcha-widget-inline.jpg
--------------------------------------------------------------------------------
/docs/_assets/recaptcha-widget.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/recaptcha-widget.jpg
--------------------------------------------------------------------------------
/docs/_assets/ui-apple-provider.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ui-apple-provider.jpg
--------------------------------------------------------------------------------
/docs/_assets/ui-email-provider.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ui-email-provider.jpg
--------------------------------------------------------------------------------
/docs/_assets/ui-facebook-provider.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ui-facebook-provider.jpg
--------------------------------------------------------------------------------
/docs/_assets/ui-google-provider.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ui-google-provider.jpg
--------------------------------------------------------------------------------
/docs/_assets/ui-phone-provider.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ui-phone-provider.jpg
--------------------------------------------------------------------------------
/docs/_assets/ui-twitter-provider.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ui-twitter-provider.jpg
--------------------------------------------------------------------------------
/docs/_assets/ui/ui-auth-desktop-side-content.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ui/ui-auth-desktop-side-content.png
--------------------------------------------------------------------------------
/docs/_assets/ui/ui-auth-email-google-provider.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ui/ui-auth-email-google-provider.png
--------------------------------------------------------------------------------
/docs/_assets/ui/ui-auth-email-provider.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ui/ui-auth-email-provider.png
--------------------------------------------------------------------------------
/docs/_assets/ui/ui-auth-forgot-password.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ui/ui-auth-forgot-password.png
--------------------------------------------------------------------------------
/docs/_assets/ui/ui-auth-google-email-provider.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ui/ui-auth-google-email-provider.png
--------------------------------------------------------------------------------
/docs/_assets/ui/ui-auth-no-providers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ui/ui-auth-no-providers.png
--------------------------------------------------------------------------------
/docs/_assets/ui/ui-auth-phone-input-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ui/ui-auth-phone-input-screen.png
--------------------------------------------------------------------------------
/docs/_assets/ui/ui-auth-profile-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ui/ui-auth-profile-screen.png
--------------------------------------------------------------------------------
/docs/_assets/ui/ui-auth-register.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ui/ui-auth-register.png
--------------------------------------------------------------------------------
/docs/_assets/ui/ui-auth-signin-header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ui/ui-auth-signin-header.png
--------------------------------------------------------------------------------
/docs/_assets/ui/ui-auth-signin-subtitle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ui/ui-auth-signin-subtitle.png
--------------------------------------------------------------------------------
/docs/_assets/ui/ui-auth-theming-button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ui/ui-auth-theming-button.png
--------------------------------------------------------------------------------
/docs/_assets/ui/ui-auth-theming-default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ui/ui-auth-theming-default.png
--------------------------------------------------------------------------------
/docs/_assets/ui/ui-auth-theming-outline-border.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ui/ui-auth-theming-outline-border.png
--------------------------------------------------------------------------------
/docs/_assets/ui/ui-email-link-provider.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ui/ui-email-link-provider.png
--------------------------------------------------------------------------------
/docs/_assets/ui/ui-facebook-client-id.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ui/ui-facebook-client-id.png
--------------------------------------------------------------------------------
/docs/_assets/ui/ui-google-provider-client-id.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ui/ui-google-provider-client-id.png
--------------------------------------------------------------------------------
/docs/_assets/ui/ui-twitter-app-id.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vandadnp/flutterfire/945a53b6da9d9b5be34c25a31245370e39ecd2fa/docs/_assets/ui/ui-twitter-app-id.png
--------------------------------------------------------------------------------
/docs/ui/widgets.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Widget Catalog
3 | hide_table_of_contents: true
4 | ---
5 |
6 | import { Widgets } from './Widgets';
7 |
8 | This page contains all the widgets available from the `flutterfire_ui` package.
9 |
10 |