gitextract_ck59hnj4/ ├── .crowdin/ │ ├── location_names.csv │ ├── strings.pot │ └── weather_station_names.csv ├── .cursorrules ├── .github/ │ ├── CODEOWNERS │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── Bug.yml │ │ └── Idea.md │ ├── pull_request_template.md │ └── workflows/ │ ├── android.yml │ ├── claude-code-review.yml │ ├── claude.yml │ ├── ios.yml │ └── lock.yml ├── .gitignore ├── .idx/ │ └── dev.nix ├── .metadata ├── CHANGELOG.md ├── CLAUDE.md ├── CODE_OF_CONDUCT.md ├── LICENSE ├── README.md ├── analysis_options.yaml ├── android/ │ ├── .gitignore │ ├── app/ │ │ ├── build.gradle │ │ ├── google-services.json │ │ └── src/ │ │ ├── debug/ │ │ │ └── AndroidManifest.xml │ │ ├── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── kotlin/ │ │ │ │ └── com/ │ │ │ │ └── exptech/ │ │ │ │ └── dpip/ │ │ │ │ └── MainActivity.kt │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ └── launch_background.xml │ │ │ ├── mipmap-anydpi-v26/ │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ ├── raw/ │ │ │ │ ├── eew.ogg │ │ │ │ ├── eew_alert.ogg │ │ │ │ ├── eq.ogg │ │ │ │ ├── info.ogg │ │ │ │ ├── normal.ogg │ │ │ │ ├── rain.ogg │ │ │ │ ├── report.ogg │ │ │ │ ├── tsunami.ogg │ │ │ │ ├── warn.ogg │ │ │ │ └── weather.ogg │ │ │ ├── values/ │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ ├── values-ja/ │ │ │ │ └── strings.xml │ │ │ ├── values-ko/ │ │ │ │ └── strings.xml │ │ │ ├── values-night/ │ │ │ │ ├── colors.xml │ │ │ │ └── styles.xml │ │ │ ├── values-night-v31/ │ │ │ │ └── styles.xml │ │ │ ├── values-sw600dp/ │ │ │ │ └── styles.xml │ │ │ ├── values-v31/ │ │ │ │ └── styles.xml │ │ │ ├── values-zh/ │ │ │ │ └── strings.xml │ │ │ ├── values-zh-rTW/ │ │ │ │ └── strings.xml │ │ │ └── xml/ │ │ │ └── shortcuts.xml │ │ └── profile/ │ │ └── AndroidManifest.xml │ ├── build.gradle │ ├── gradle/ │ │ └── wrapper/ │ │ └── gradle-wrapper.properties │ ├── gradle.properties │ └── settings.gradle ├── assets/ │ ├── box.json │ ├── map/ │ │ └── town.json.zst │ ├── notify_test.json │ └── translations/ │ ├── en.po │ ├── ja.po │ ├── ko.po │ ├── location_names.csv │ ├── ru.po │ ├── vi.po │ ├── weather_station_names.csv │ ├── zh-Hans.po │ └── zh-Hant.po ├── crowdin.yml ├── devtools_options.yaml ├── docs/ │ └── sound.mdx ├── ios/ │ ├── .gitignore │ ├── Flutter/ │ │ ├── AppFrameworkInfo.plist │ │ ├── Debug.xcconfig │ │ ├── Profile.xcconfig │ │ └── Release.xcconfig │ ├── Podfile │ ├── Runner/ │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets/ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ ├── 256.heic │ │ │ │ ├── 512.heic │ │ │ │ ├── Contents.json │ │ │ │ └── Icon-App-1024x1024.heic │ │ │ └── LaunchImage.imageset/ │ │ │ ├── Contents.json │ │ │ └── README.md │ │ ├── Base.lproj/ │ │ │ ├── InfoPlist.strings │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── GoogleService-Info.plist │ │ ├── Info.plist │ │ ├── Runner-Bridging-Header.h │ │ ├── Runner.entitlements │ │ ├── RunnerProfile.entitlements │ │ ├── eew.aiff │ │ ├── eew_alert.aiff │ │ ├── en.lproj/ │ │ │ └── Monitor.strings │ │ ├── eq.aiff │ │ ├── info.aiff │ │ ├── ja.lproj/ │ │ │ ├── InfoPlist.strings │ │ │ └── Monitor.strings │ │ ├── ko.lproj/ │ │ │ ├── InfoPlist.strings │ │ │ └── Monitor.strings │ │ ├── normal.aiff │ │ ├── rain.aiff │ │ ├── report.aiff │ │ ├── tsunami.aiff │ │ ├── warn.aiff │ │ ├── weather.aiff │ │ ├── zh.lproj/ │ │ │ └── InfoPlist.strings │ │ └── zh_TW.lproj/ │ │ ├── InfoPlist.strings │ │ └── Monitor.intentdefinition │ ├── 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 │ └── RunnerTests/ │ └── RunnerTests.swift ├── lib/ │ ├── api/ │ │ ├── _client.dart │ │ ├── endpoints/ │ │ │ ├── app.dart │ │ │ ├── device.dart │ │ │ ├── earthquake.dart │ │ │ ├── history.dart │ │ │ ├── station.dart │ │ │ ├── tsunami.dart │ │ │ └── weather.dart │ │ ├── exptech.dart │ │ ├── model/ │ │ │ ├── announcement.dart │ │ │ ├── changelog/ │ │ │ │ └── changelog.dart │ │ │ ├── crowdin/ │ │ │ │ └── localization_progress.dart │ │ │ ├── eew.dart │ │ │ ├── eew_info.dart │ │ │ ├── history/ │ │ │ │ ├── history.dart │ │ │ │ ├── intensity_history.dart │ │ │ │ └── report_history.dart │ │ │ ├── intensity_listing.dart │ │ │ ├── location/ │ │ │ │ └── location.dart │ │ │ ├── meteor_station.dart │ │ │ ├── notification_record.dart │ │ │ ├── notify/ │ │ │ │ └── notify_settings.dart │ │ │ ├── received_notification.dart │ │ │ ├── report/ │ │ │ │ ├── area_intensity.dart │ │ │ │ ├── earthquake_report.dart │ │ │ │ └── partial_earthquake_report.dart │ │ │ ├── rts/ │ │ │ │ ├── rts.dart │ │ │ │ ├── rts_intensity.dart │ │ │ │ └── rts_station.dart │ │ │ ├── server_status.dart │ │ │ ├── station.dart │ │ │ ├── station_info.dart │ │ │ ├── station_intensity.dart │ │ │ ├── tsunami/ │ │ │ │ ├── tsunami.dart │ │ │ │ ├── tsunami_actual.dart │ │ │ │ ├── tsunami_earthquake.dart │ │ │ │ ├── tsunami_estimate.dart │ │ │ │ ├── tsunami_info.dart │ │ │ │ └── tsunami_list.dart │ │ │ ├── wave_time.dart │ │ │ ├── weather/ │ │ │ │ ├── lightning.dart │ │ │ │ ├── rain.dart │ │ │ │ └── weather.dart │ │ │ └── weather_schema.dart │ │ └── route.dart │ ├── app/ │ │ ├── changelog/ │ │ │ ├── _widgets/ │ │ │ │ └── update_card.dart │ │ │ └── page.dart │ │ ├── debug/ │ │ │ └── logs/ │ │ │ └── page.dart │ │ ├── home/ │ │ │ ├── _models/ │ │ │ │ └── home_location.dart │ │ │ ├── _widgets/ │ │ │ │ ├── blurred_button.dart │ │ │ │ ├── date_timeline_item.dart │ │ │ │ ├── eew_card.dart │ │ │ │ ├── forecast_card.dart │ │ │ │ ├── hero_weather.dart │ │ │ │ ├── history_timeline_item.dart │ │ │ │ ├── location_button.dart │ │ │ │ ├── location_not_set_card.dart │ │ │ │ ├── location_out_of_service.dart │ │ │ │ ├── mode_toggle_button.dart │ │ │ │ ├── radar_card.dart │ │ │ │ ├── thunderstorm_card.dart │ │ │ │ ├── weather_header.dart │ │ │ │ └── wind_card.dart │ │ │ ├── layout.dart │ │ │ └── page.dart │ │ ├── map/ │ │ │ ├── _lib/ │ │ │ │ ├── manager.dart │ │ │ │ ├── managers/ │ │ │ │ │ ├── lightning.dart │ │ │ │ │ ├── monitor.dart │ │ │ │ │ ├── precipitation.dart │ │ │ │ │ ├── radar.dart │ │ │ │ │ ├── report.dart │ │ │ │ │ ├── temperature.dart │ │ │ │ │ ├── tsunami.dart │ │ │ │ │ └── wind.dart │ │ │ │ └── utils.dart │ │ │ ├── _widgets/ │ │ │ │ ├── layer_toggle.dart │ │ │ │ ├── layer_toggle_sheet.dart │ │ │ │ ├── map_legend.dart │ │ │ │ ├── sheet.dart │ │ │ │ ├── tos_sheet.dart │ │ │ │ └── ui/ │ │ │ │ ├── positioned_back_button.dart │ │ │ │ └── positioned_layer_button.dart │ │ │ └── page.dart │ │ ├── settings/ │ │ │ ├── _widgets/ │ │ │ │ └── settings_header.dart │ │ │ ├── donate/ │ │ │ │ └── page.dart │ │ │ ├── experimental/ │ │ │ │ └── page.dart │ │ │ ├── layout/ │ │ │ │ └── page.dart │ │ │ ├── layout.dart │ │ │ ├── locale/ │ │ │ │ ├── page.dart │ │ │ │ └── select/ │ │ │ │ └── page.dart │ │ │ ├── location/ │ │ │ │ ├── page.dart │ │ │ │ └── select/ │ │ │ │ ├── [city]/ │ │ │ │ │ └── page.dart │ │ │ │ └── page.dart │ │ │ ├── map/ │ │ │ │ └── page.dart │ │ │ ├── notify/ │ │ │ │ ├── (1.eew)/ │ │ │ │ │ └── eew/ │ │ │ │ │ └── page.dart │ │ │ │ ├── (2.earthquake)/ │ │ │ │ │ ├── intensity/ │ │ │ │ │ │ └── page.dart │ │ │ │ │ ├── monitor/ │ │ │ │ │ │ └── page.dart │ │ │ │ │ └── report/ │ │ │ │ │ └── page.dart │ │ │ │ ├── (3.weather)/ │ │ │ │ │ ├── advisory/ │ │ │ │ │ │ └── page.dart │ │ │ │ │ ├── evacuation/ │ │ │ │ │ │ └── page.dart │ │ │ │ │ └── thunderstorm/ │ │ │ │ │ └── page.dart │ │ │ │ ├── (4.tsunami)/ │ │ │ │ │ └── tsunami/ │ │ │ │ │ └── page.dart │ │ │ │ ├── (5.basic)/ │ │ │ │ │ └── announcement/ │ │ │ │ │ └── page.dart │ │ │ │ ├── _lib/ │ │ │ │ │ └── utils.dart │ │ │ │ ├── _widgets/ │ │ │ │ │ ├── basic_notify_section.dart │ │ │ │ │ ├── earthquake_notify_section.dart │ │ │ │ │ ├── eew_notify_section.dart │ │ │ │ │ ├── sound_list_tile.dart │ │ │ │ │ ├── tsunami_notify_section.dart │ │ │ │ │ └── weather_notify_section.dart │ │ │ │ └── page.dart │ │ │ ├── page.dart │ │ │ ├── proxy/ │ │ │ │ └── page.dart │ │ │ ├── theme/ │ │ │ │ ├── color/ │ │ │ │ │ └── page.dart │ │ │ │ ├── mode/ │ │ │ │ │ └── page.dart │ │ │ │ └── page.dart │ │ │ └── unit/ │ │ │ └── page.dart │ │ └── welcome/ │ │ ├── 1-about/ │ │ │ └── page.dart │ │ ├── 2-exptech/ │ │ │ └── page.dart │ │ ├── 3-notice/ │ │ │ └── page.dart │ │ ├── 4-permissions/ │ │ │ └── page.dart │ │ └── layout.dart │ ├── app.dart │ ├── app_old/ │ │ └── page/ │ │ ├── map/ │ │ │ ├── map.dart │ │ │ ├── meteor.dart │ │ │ ├── tsunami/ │ │ │ │ ├── tsunami_estimate_list.dart │ │ │ │ └── tsunami_observed_list.dart │ │ │ ├── typhoon/ │ │ │ │ └── typhoon.dart │ │ │ └── weather/ │ │ │ ├── humidity.dart │ │ │ └── pressure.dart │ │ ├── me/ │ │ │ ├── developer.dart │ │ │ └── me.dart │ │ └── more/ │ │ ├── more.dart │ │ ├── ranking/ │ │ │ ├── ranking.dart │ │ │ └── tabs/ │ │ │ ├── precipitation.dart │ │ │ ├── temperature.dart │ │ │ └── wind.dart │ │ └── report_list/ │ │ └── report_list.dart │ ├── core/ │ │ ├── compass.dart │ │ ├── device_info.dart │ │ ├── eew.dart │ │ ├── fcm.dart │ │ ├── gps_location.dart │ │ ├── i18n.dart │ │ ├── notify.dart │ │ ├── preference.dart │ │ ├── providers.dart │ │ ├── rts.dart │ │ ├── service.dart │ │ └── update.dart │ ├── dialog/ │ │ └── welcome/ │ │ ├── announcement.dart │ │ └── changelog.dart │ ├── global.dart │ ├── main.dart │ ├── models/ │ │ ├── data.dart │ │ ├── map/ │ │ │ └── earthquake.dart │ │ └── settings/ │ │ ├── location.dart │ │ ├── map.dart │ │ ├── notify.dart │ │ └── ui.dart │ ├── route/ │ │ ├── announcement/ │ │ │ └── announcement.dart │ │ ├── event_viewer/ │ │ │ ├── intensity.dart │ │ │ └── thunderstorm.dart │ │ ├── image_viewer/ │ │ │ └── image_viewer.dart │ │ ├── log/ │ │ │ └── log.dart │ │ ├── notification/ │ │ │ └── notification.dart │ │ ├── report/ │ │ │ ├── report.dart │ │ │ └── report_sheet_content.dart │ │ └── status/ │ │ └── status.dart │ ├── router.dart │ ├── utils/ │ │ ├── constants.dart │ │ ├── depth_color.dart │ │ ├── extensions/ │ │ │ ├── asset_bundle.dart │ │ │ ├── build_context.dart │ │ │ ├── color.dart │ │ │ ├── color_scheme.dart │ │ │ ├── datetime.dart │ │ │ ├── go_router.dart │ │ │ ├── iterable.dart │ │ │ ├── latlng.dart │ │ │ ├── locale.dart │ │ │ ├── maplibre.dart │ │ │ ├── number.dart │ │ │ ├── preference.dart │ │ │ ├── product_detail.dart │ │ │ ├── string.dart │ │ │ └── theme.dart │ │ ├── functions.dart │ │ ├── geojson.dart │ │ ├── instrumental_intensity_color.dart │ │ ├── intensity_color.dart │ │ ├── intervals.dart │ │ ├── list_icon.dart │ │ ├── log.dart │ │ ├── magnitude_color.dart │ │ ├── map_utils.dart │ │ ├── need_location.dart │ │ ├── page_route_builder/ │ │ │ └── forward_back.dart │ │ ├── radar_color.dart │ │ ├── serialization.dart │ │ ├── shader_selector.dart │ │ ├── toast.dart │ │ ├── wallpaper_selector.dart │ │ └── weather_icon.dart │ └── widgets/ │ ├── blurred_container.dart │ ├── chip/ │ │ └── label_chip.dart │ ├── error/ │ │ └── region_out_of_service.dart │ ├── fog_shader_background.dart │ ├── home/ │ │ ├── event_list_route.dart │ │ └── forecast_weather_card.dart │ ├── layout.dart │ ├── list/ │ │ ├── detail_field_tile.dart │ │ ├── rain_time_selector.dart │ │ ├── segmented_list.dart │ │ ├── tile_group_header.dart │ │ ├── time_selector.dart │ │ ├── timeline_tile.dart │ │ └── typhoon_time_selector.dart │ ├── map/ │ │ ├── intensity_legend.dart │ │ ├── latlng_altitude.dart │ │ ├── legend.dart │ │ ├── map.dart │ │ └── style.dart │ ├── markdown.dart │ ├── report/ │ │ ├── enlargeable_image.dart │ │ ├── intensity_box.dart │ │ └── list_item.dart │ ├── responsive/ │ │ └── responsive_container.dart │ ├── settings/ │ │ └── theme/ │ │ └── theme_radio_tile.dart │ ├── sheet/ │ │ ├── bottom_sheet_drag_handle.dart │ │ ├── morphing_sheet.dart │ │ ├── morphing_sheet_controller.dart │ │ └── sheet_container.dart │ ├── shell_wrapper.dart │ ├── thunderstorm_shader_background.dart │ ├── typography.dart │ └── ui/ │ ├── color_picker.dart │ ├── icon_container.dart │ ├── labeled_divider.dart │ └── loading_icon.dart ├── pubspec.yaml ├── shaders/ │ ├── fog.frag │ └── thunderstorm.frag └── tools/ └── update_translations.sh