From a4dc407056c47606f7b3af420b3ebcb97e5a92dd Mon Sep 17 00:00:00 2001 From: wehub-resource-sync Date: Mon, 13 Jul 2026 12:26:32 +0800 Subject: [PATCH] chore: import upstream snapshot with attribution --- .claude/skills/add-locale/SKILL.md | 101 ++ .claude/skills/create-pr/SKILL.md | 113 +++ .editorconfig | 8 + .github/ISSUE_TEMPLATE/bug_report.yml | 67 ++ .github/ISSUE_TEMPLATE/feature_request.yml | 45 + .github/how_to_release.md | 42 + .github/pull_request_template.md | 28 + .gitignore | 25 + CLAUDE.md | 52 + CONTRIBUTING.md | 189 ++++ LICENSE | 176 ++++ README.md | 60 ++ README.wehub.md | 7 + RunCat365.sln | 57 ++ RunCat365/App.config | 30 + RunCat365/App.manifest | 25 + RunCat365/BalloonTipType.cs | 44 + RunCat365/BitmapExtension.cs | 103 ++ RunCat365/ByteFormatter.cs | 32 + RunCat365/CPURepository.cs | 183 ++++ RunCat365/Cat.cs | 119 +++ RunCat365/ContextMenuManager.cs | 508 ++++++++++ RunCat365/ContextMenuRenderer.cs | 40 + RunCat365/CustomRunnerForm.cs | 900 ++++++++++++++++++ RunCat365/CustomRunnerProfile.cs | 27 + RunCat365/CustomRunnerRepository.cs | 233 +++++ RunCat365/CustomToolStripMenuItem.cs | 110 +++ RunCat365/EndlessGameForm.cs | 318 +++++++ RunCat365/EndlessGameForm.resx | 120 +++ RunCat365/FPSMaxLimit.cs | 76 ++ RunCat365/FlatTrackBar.cs | 179 ++++ RunCat365/FrameAnimationView.cs | 123 +++ RunCat365/GPURepository.cs | 122 +++ RunCat365/GameStatus.cs | 23 + RunCat365/InstancedPerformanceCounters.cs | 130 +++ RunCat365/LaunchAtStartupManager.cs | 137 +++ RunCat365/MemoryRepository.cs | 94 ++ RunCat365/NetworkRepository.cs | 122 +++ RunCat365/Program.cs | 404 ++++++++ RunCat365/Properties/Resources.Designer.cs | 483 ++++++++++ RunCat365/Properties/Resources.resx | 247 +++++ RunCat365/Properties/Strings.Designer.cs | 531 +++++++++++ RunCat365/Properties/Strings.de.resx | 303 ++++++ RunCat365/Properties/Strings.es.resx | 303 ++++++ RunCat365/Properties/Strings.fr.resx | 303 ++++++ RunCat365/Properties/Strings.ja.resx | 303 ++++++ RunCat365/Properties/Strings.ko.resx | 303 ++++++ RunCat365/Properties/Strings.resx | 303 ++++++ RunCat365/Properties/Strings.zh-CN.resx | 303 ++++++ RunCat365/Properties/Strings.zh-TW.resx | 303 ++++++ RunCat365/Properties/UserSettings.Designer.cs | 122 +++ RunCat365/Properties/UserSettings.settings | 30 + RunCat365/Road.cs | 39 + RunCat365/RunCat365.csproj | 77 ++ RunCat365/Runner.cs | 61 ++ RunCat365/SpeedSource.cs | 62 ++ RunCat365/StorageRepository.cs | 129 +++ RunCat365/SupportedLanguage.cs | 100 ++ RunCat365/TemperatureRepository.cs | 130 +++ RunCat365/TemperatureUnit.cs | 61 ++ RunCat365/Theme.cs | 49 + RunCat365/TreeFormatter.cs | 44 + RunCat365/resources/app_icon.ico | Bin 0 -> 285478 bytes RunCat365/resources/game/cat_jumping_0.png | Bin 0 -> 3028 bytes RunCat365/resources/game/cat_jumping_1.png | Bin 0 -> 2827 bytes RunCat365/resources/game/cat_jumping_2.png | Bin 0 -> 2963 bytes RunCat365/resources/game/cat_jumping_3.png | Bin 0 -> 2952 bytes RunCat365/resources/game/cat_jumping_4.png | Bin 0 -> 3229 bytes RunCat365/resources/game/cat_jumping_5.png | Bin 0 -> 3341 bytes RunCat365/resources/game/cat_jumping_6.png | Bin 0 -> 2958 bytes RunCat365/resources/game/cat_jumping_7.png | Bin 0 -> 3396 bytes RunCat365/resources/game/cat_jumping_8.png | Bin 0 -> 2984 bytes RunCat365/resources/game/cat_jumping_9.png | Bin 0 -> 3219 bytes RunCat365/resources/game/cat_running_0.png | Bin 0 -> 3027 bytes RunCat365/resources/game/cat_running_1.png | Bin 0 -> 3060 bytes RunCat365/resources/game/cat_running_2.png | Bin 0 -> 3344 bytes RunCat365/resources/game/cat_running_3.png | Bin 0 -> 3357 bytes RunCat365/resources/game/cat_running_4.png | Bin 0 -> 3115 bytes RunCat365/resources/game/road_crater.png | Bin 0 -> 1158 bytes RunCat365/resources/game/road_flat.png | Bin 0 -> 1112 bytes RunCat365/resources/game/road_hill.png | Bin 0 -> 1197 bytes RunCat365/resources/game/road_sprout.png | Bin 0 -> 1481 bytes RunCat365/resources/rabbit.png | Bin 0 -> 525 bytes RunCat365/resources/runners/cat/cat_0.png | Bin 0 -> 1797 bytes RunCat365/resources/runners/cat/cat_1.png | Bin 0 -> 1775 bytes RunCat365/resources/runners/cat/cat_2.png | Bin 0 -> 1766 bytes RunCat365/resources/runners/cat/cat_3.png | Bin 0 -> 1826 bytes RunCat365/resources/runners/cat/cat_4.png | Bin 0 -> 1734 bytes RunCat365/resources/runners/horse/horse_0.png | Bin 0 -> 1836 bytes RunCat365/resources/runners/horse/horse_1.png | Bin 0 -> 1782 bytes RunCat365/resources/runners/horse/horse_2.png | Bin 0 -> 1890 bytes RunCat365/resources/runners/horse/horse_3.png | Bin 0 -> 1881 bytes RunCat365/resources/runners/horse/horse_4.png | Bin 0 -> 1838 bytes .../resources/runners/parrot/parrot_0.png | Bin 0 -> 1865 bytes .../resources/runners/parrot/parrot_1.png | Bin 0 -> 1887 bytes .../resources/runners/parrot/parrot_2.png | Bin 0 -> 1849 bytes .../resources/runners/parrot/parrot_3.png | Bin 0 -> 1895 bytes .../resources/runners/parrot/parrot_4.png | Bin 0 -> 1855 bytes .../resources/runners/parrot/parrot_5.png | Bin 0 -> 1884 bytes .../resources/runners/parrot/parrot_6.png | Bin 0 -> 1886 bytes .../resources/runners/parrot/parrot_7.png | Bin 0 -> 1859 bytes .../resources/runners/parrot/parrot_8.png | Bin 0 -> 1889 bytes .../resources/runners/parrot/parrot_9.png | Bin 0 -> 1894 bytes RunCat365/resources/turtle.png | Bin 0 -> 492 bytes WapForStore/AppPackages/rm-wap-for-store.sh | 6 + WapForStore/Images/LargeTile.scale-100.png | Bin 0 -> 4873 bytes WapForStore/Images/LargeTile.scale-125.png | Bin 0 -> 6203 bytes WapForStore/Images/LargeTile.scale-150.png | Bin 0 -> 7686 bytes WapForStore/Images/LargeTile.scale-200.png | Bin 0 -> 10992 bytes WapForStore/Images/LargeTile.scale-400.png | Bin 0 -> 26600 bytes .../Images/LockScreenLogo.scale-200.png | Bin 0 -> 1430 bytes WapForStore/Images/SmallTile.scale-100.png | Bin 0 -> 1460 bytes WapForStore/Images/SmallTile.scale-125.png | Bin 0 -> 1854 bytes WapForStore/Images/SmallTile.scale-150.png | Bin 0 -> 2144 bytes WapForStore/Images/SmallTile.scale-200.png | Bin 0 -> 2896 bytes WapForStore/Images/SmallTile.scale-400.png | Bin 0 -> 6010 bytes WapForStore/Images/SplashScreen.scale-100.png | Bin 0 -> 5432 bytes WapForStore/Images/SplashScreen.scale-125.png | Bin 0 -> 6904 bytes WapForStore/Images/SplashScreen.scale-150.png | Bin 0 -> 8753 bytes WapForStore/Images/SplashScreen.scale-200.png | Bin 0 -> 12678 bytes WapForStore/Images/SplashScreen.scale-400.png | Bin 0 -> 32565 bytes .../Images/Square150x150Logo.scale-100.png | Bin 0 -> 2298 bytes .../Images/Square150x150Logo.scale-125.png | Bin 0 -> 2823 bytes .../Images/Square150x150Logo.scale-150.png | Bin 0 -> 3465 bytes .../Images/Square150x150Logo.scale-200.png | Bin 0 -> 4788 bytes .../Images/Square150x150Logo.scale-400.png | Bin 0 -> 10587 bytes ...go.altform-lightunplated_targetsize-16.png | Bin 0 -> 617 bytes ...go.altform-lightunplated_targetsize-24.png | Bin 0 -> 888 bytes ...o.altform-lightunplated_targetsize-256.png | Bin 0 -> 9152 bytes ...go.altform-lightunplated_targetsize-32.png | Bin 0 -> 1148 bytes ...go.altform-lightunplated_targetsize-48.png | Bin 0 -> 1692 bytes ...x44Logo.altform-unplated_targetsize-16.png | Bin 0 -> 617 bytes ...44Logo.altform-unplated_targetsize-256.png | Bin 0 -> 9152 bytes ...x44Logo.altform-unplated_targetsize-32.png | Bin 0 -> 1148 bytes ...x44Logo.altform-unplated_targetsize-48.png | Bin 0 -> 1692 bytes .../Images/Square44x44Logo.scale-100.png | Bin 0 -> 1234 bytes .../Images/Square44x44Logo.scale-125.png | Bin 0 -> 1562 bytes .../Images/Square44x44Logo.scale-150.png | Bin 0 -> 1840 bytes .../Images/Square44x44Logo.scale-200.png | Bin 0 -> 2388 bytes .../Images/Square44x44Logo.scale-400.png | Bin 0 -> 4814 bytes .../Images/Square44x44Logo.targetsize-16.png | Bin 0 -> 511 bytes .../Images/Square44x44Logo.targetsize-24.png | Bin 0 -> 720 bytes ...x44Logo.targetsize-24_altform-unplated.png | Bin 0 -> 888 bytes .../Images/Square44x44Logo.targetsize-256.png | Bin 0 -> 7374 bytes .../Images/Square44x44Logo.targetsize-32.png | Bin 0 -> 939 bytes .../Images/Square44x44Logo.targetsize-48.png | Bin 0 -> 1361 bytes WapForStore/Images/StoreLogo.png | Bin 0 -> 1451 bytes WapForStore/Images/StoreLogo.scale-100.png | Bin 0 -> 1720 bytes WapForStore/Images/StoreLogo.scale-125.png | Bin 0 -> 2130 bytes WapForStore/Images/StoreLogo.scale-150.png | Bin 0 -> 2515 bytes WapForStore/Images/StoreLogo.scale-200.png | Bin 0 -> 3265 bytes WapForStore/Images/StoreLogo.scale-400.png | Bin 0 -> 6941 bytes .../Images/Wide310x150Logo.scale-100.png | Bin 0 -> 2488 bytes .../Images/Wide310x150Logo.scale-125.png | Bin 0 -> 3122 bytes .../Images/Wide310x150Logo.scale-150.png | Bin 0 -> 3907 bytes .../Images/Wide310x150Logo.scale-200.png | Bin 0 -> 5432 bytes .../Images/Wide310x150Logo.scale-400.png | Bin 0 -> 12678 bytes WapForStore/Package.StoreAssociation.xml | 371 ++++++++ WapForStore/Package.appxmanifest | 61 ++ WapForStore/PackageIcon.png | Bin 0 -> 8515 bytes WapForStore/WapForStore.wapproj | 142 +++ docs/README.md | 62 ++ docs/content.ja.md | 96 ++ docs/content.md | 95 ++ docs/images/app_icon.png | Bin 0 -> 3569 bytes docs/images/custom_runner.png | Bin 0 -> 15000 bytes docs/images/demo.gif | Bin 0 -> 8934 bytes .../download_from_microsoft_store_en.svg | 109 +++ .../download_from_microsoft_store_ja.svg | 109 +++ docs/images/endless_game.png | Bin 0 -> 12304 bytes docs/images/og_thumbnail.png | Bin 0 -> 33201 bytes docs/images/overview.png | Bin 0 -> 42293 bytes docs/index.html | 32 + docs/privacy_policy.html | 22 + docs/privacy_policy.ja.md | 46 + docs/privacy_policy.md | 46 + docs/style.css | 456 +++++++++ 177 files changed, 11414 insertions(+) create mode 100644 .claude/skills/add-locale/SKILL.md create mode 100644 .claude/skills/create-pr/SKILL.md create mode 100644 .editorconfig create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 .github/how_to_release.md create mode 100644 .github/pull_request_template.md create mode 100644 .gitignore create mode 100644 CLAUDE.md create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE create mode 100644 README.md create mode 100644 README.wehub.md create mode 100644 RunCat365.sln create mode 100644 RunCat365/App.config create mode 100644 RunCat365/App.manifest create mode 100644 RunCat365/BalloonTipType.cs create mode 100644 RunCat365/BitmapExtension.cs create mode 100644 RunCat365/ByteFormatter.cs create mode 100644 RunCat365/CPURepository.cs create mode 100644 RunCat365/Cat.cs create mode 100644 RunCat365/ContextMenuManager.cs create mode 100644 RunCat365/ContextMenuRenderer.cs create mode 100644 RunCat365/CustomRunnerForm.cs create mode 100644 RunCat365/CustomRunnerProfile.cs create mode 100644 RunCat365/CustomRunnerRepository.cs create mode 100644 RunCat365/CustomToolStripMenuItem.cs create mode 100644 RunCat365/EndlessGameForm.cs create mode 100644 RunCat365/EndlessGameForm.resx create mode 100644 RunCat365/FPSMaxLimit.cs create mode 100644 RunCat365/FlatTrackBar.cs create mode 100644 RunCat365/FrameAnimationView.cs create mode 100644 RunCat365/GPURepository.cs create mode 100644 RunCat365/GameStatus.cs create mode 100644 RunCat365/InstancedPerformanceCounters.cs create mode 100644 RunCat365/LaunchAtStartupManager.cs create mode 100644 RunCat365/MemoryRepository.cs create mode 100644 RunCat365/NetworkRepository.cs create mode 100644 RunCat365/Program.cs create mode 100644 RunCat365/Properties/Resources.Designer.cs create mode 100644 RunCat365/Properties/Resources.resx create mode 100644 RunCat365/Properties/Strings.Designer.cs create mode 100644 RunCat365/Properties/Strings.de.resx create mode 100644 RunCat365/Properties/Strings.es.resx create mode 100644 RunCat365/Properties/Strings.fr.resx create mode 100644 RunCat365/Properties/Strings.ja.resx create mode 100644 RunCat365/Properties/Strings.ko.resx create mode 100644 RunCat365/Properties/Strings.resx create mode 100644 RunCat365/Properties/Strings.zh-CN.resx create mode 100644 RunCat365/Properties/Strings.zh-TW.resx create mode 100644 RunCat365/Properties/UserSettings.Designer.cs create mode 100644 RunCat365/Properties/UserSettings.settings create mode 100644 RunCat365/Road.cs create mode 100644 RunCat365/RunCat365.csproj create mode 100644 RunCat365/Runner.cs create mode 100644 RunCat365/SpeedSource.cs create mode 100644 RunCat365/StorageRepository.cs create mode 100644 RunCat365/SupportedLanguage.cs create mode 100644 RunCat365/TemperatureRepository.cs create mode 100644 RunCat365/TemperatureUnit.cs create mode 100644 RunCat365/Theme.cs create mode 100644 RunCat365/TreeFormatter.cs create mode 100644 RunCat365/resources/app_icon.ico create mode 100644 RunCat365/resources/game/cat_jumping_0.png create mode 100644 RunCat365/resources/game/cat_jumping_1.png create mode 100644 RunCat365/resources/game/cat_jumping_2.png create mode 100644 RunCat365/resources/game/cat_jumping_3.png create mode 100644 RunCat365/resources/game/cat_jumping_4.png create mode 100644 RunCat365/resources/game/cat_jumping_5.png create mode 100644 RunCat365/resources/game/cat_jumping_6.png create mode 100644 RunCat365/resources/game/cat_jumping_7.png create mode 100644 RunCat365/resources/game/cat_jumping_8.png create mode 100644 RunCat365/resources/game/cat_jumping_9.png create mode 100644 RunCat365/resources/game/cat_running_0.png create mode 100644 RunCat365/resources/game/cat_running_1.png create mode 100644 RunCat365/resources/game/cat_running_2.png create mode 100644 RunCat365/resources/game/cat_running_3.png create mode 100644 RunCat365/resources/game/cat_running_4.png create mode 100644 RunCat365/resources/game/road_crater.png create mode 100644 RunCat365/resources/game/road_flat.png create mode 100644 RunCat365/resources/game/road_hill.png create mode 100644 RunCat365/resources/game/road_sprout.png create mode 100644 RunCat365/resources/rabbit.png create mode 100644 RunCat365/resources/runners/cat/cat_0.png create mode 100644 RunCat365/resources/runners/cat/cat_1.png create mode 100644 RunCat365/resources/runners/cat/cat_2.png create mode 100644 RunCat365/resources/runners/cat/cat_3.png create mode 100644 RunCat365/resources/runners/cat/cat_4.png create mode 100644 RunCat365/resources/runners/horse/horse_0.png create mode 100644 RunCat365/resources/runners/horse/horse_1.png create mode 100644 RunCat365/resources/runners/horse/horse_2.png create mode 100644 RunCat365/resources/runners/horse/horse_3.png create mode 100644 RunCat365/resources/runners/horse/horse_4.png create mode 100644 RunCat365/resources/runners/parrot/parrot_0.png create mode 100644 RunCat365/resources/runners/parrot/parrot_1.png create mode 100644 RunCat365/resources/runners/parrot/parrot_2.png create mode 100644 RunCat365/resources/runners/parrot/parrot_3.png create mode 100644 RunCat365/resources/runners/parrot/parrot_4.png create mode 100644 RunCat365/resources/runners/parrot/parrot_5.png create mode 100644 RunCat365/resources/runners/parrot/parrot_6.png create mode 100644 RunCat365/resources/runners/parrot/parrot_7.png create mode 100644 RunCat365/resources/runners/parrot/parrot_8.png create mode 100644 RunCat365/resources/runners/parrot/parrot_9.png create mode 100644 RunCat365/resources/turtle.png create mode 100755 WapForStore/AppPackages/rm-wap-for-store.sh create mode 100644 WapForStore/Images/LargeTile.scale-100.png create mode 100644 WapForStore/Images/LargeTile.scale-125.png create mode 100644 WapForStore/Images/LargeTile.scale-150.png create mode 100644 WapForStore/Images/LargeTile.scale-200.png create mode 100644 WapForStore/Images/LargeTile.scale-400.png create mode 100644 WapForStore/Images/LockScreenLogo.scale-200.png create mode 100644 WapForStore/Images/SmallTile.scale-100.png create mode 100644 WapForStore/Images/SmallTile.scale-125.png create mode 100644 WapForStore/Images/SmallTile.scale-150.png create mode 100644 WapForStore/Images/SmallTile.scale-200.png create mode 100644 WapForStore/Images/SmallTile.scale-400.png create mode 100644 WapForStore/Images/SplashScreen.scale-100.png create mode 100644 WapForStore/Images/SplashScreen.scale-125.png create mode 100644 WapForStore/Images/SplashScreen.scale-150.png create mode 100644 WapForStore/Images/SplashScreen.scale-200.png create mode 100644 WapForStore/Images/SplashScreen.scale-400.png create mode 100644 WapForStore/Images/Square150x150Logo.scale-100.png create mode 100644 WapForStore/Images/Square150x150Logo.scale-125.png create mode 100644 WapForStore/Images/Square150x150Logo.scale-150.png create mode 100644 WapForStore/Images/Square150x150Logo.scale-200.png create mode 100644 WapForStore/Images/Square150x150Logo.scale-400.png create mode 100644 WapForStore/Images/Square44x44Logo.altform-lightunplated_targetsize-16.png create mode 100644 WapForStore/Images/Square44x44Logo.altform-lightunplated_targetsize-24.png create mode 100644 WapForStore/Images/Square44x44Logo.altform-lightunplated_targetsize-256.png create mode 100644 WapForStore/Images/Square44x44Logo.altform-lightunplated_targetsize-32.png create mode 100644 WapForStore/Images/Square44x44Logo.altform-lightunplated_targetsize-48.png create mode 100644 WapForStore/Images/Square44x44Logo.altform-unplated_targetsize-16.png create mode 100644 WapForStore/Images/Square44x44Logo.altform-unplated_targetsize-256.png create mode 100644 WapForStore/Images/Square44x44Logo.altform-unplated_targetsize-32.png create mode 100644 WapForStore/Images/Square44x44Logo.altform-unplated_targetsize-48.png create mode 100644 WapForStore/Images/Square44x44Logo.scale-100.png create mode 100644 WapForStore/Images/Square44x44Logo.scale-125.png create mode 100644 WapForStore/Images/Square44x44Logo.scale-150.png create mode 100644 WapForStore/Images/Square44x44Logo.scale-200.png create mode 100644 WapForStore/Images/Square44x44Logo.scale-400.png create mode 100644 WapForStore/Images/Square44x44Logo.targetsize-16.png create mode 100644 WapForStore/Images/Square44x44Logo.targetsize-24.png create mode 100644 WapForStore/Images/Square44x44Logo.targetsize-24_altform-unplated.png create mode 100644 WapForStore/Images/Square44x44Logo.targetsize-256.png create mode 100644 WapForStore/Images/Square44x44Logo.targetsize-32.png create mode 100644 WapForStore/Images/Square44x44Logo.targetsize-48.png create mode 100644 WapForStore/Images/StoreLogo.png create mode 100644 WapForStore/Images/StoreLogo.scale-100.png create mode 100644 WapForStore/Images/StoreLogo.scale-125.png create mode 100644 WapForStore/Images/StoreLogo.scale-150.png create mode 100644 WapForStore/Images/StoreLogo.scale-200.png create mode 100644 WapForStore/Images/StoreLogo.scale-400.png create mode 100644 WapForStore/Images/Wide310x150Logo.scale-100.png create mode 100644 WapForStore/Images/Wide310x150Logo.scale-125.png create mode 100644 WapForStore/Images/Wide310x150Logo.scale-150.png create mode 100644 WapForStore/Images/Wide310x150Logo.scale-200.png create mode 100644 WapForStore/Images/Wide310x150Logo.scale-400.png create mode 100644 WapForStore/Package.StoreAssociation.xml create mode 100644 WapForStore/Package.appxmanifest create mode 100644 WapForStore/PackageIcon.png create mode 100644 WapForStore/WapForStore.wapproj create mode 100644 docs/README.md create mode 100644 docs/content.ja.md create mode 100644 docs/content.md create mode 100644 docs/images/app_icon.png create mode 100644 docs/images/custom_runner.png create mode 100644 docs/images/demo.gif create mode 100644 docs/images/download_from_microsoft_store_en.svg create mode 100644 docs/images/download_from_microsoft_store_ja.svg create mode 100644 docs/images/endless_game.png create mode 100644 docs/images/og_thumbnail.png create mode 100644 docs/images/overview.png create mode 100644 docs/index.html create mode 100644 docs/privacy_policy.html create mode 100644 docs/privacy_policy.ja.md create mode 100644 docs/privacy_policy.md create mode 100644 docs/style.css diff --git a/.claude/skills/add-locale/SKILL.md b/.claude/skills/add-locale/SKILL.md new file mode 100644 index 0000000..a7f8480 --- /dev/null +++ b/.claude/skills/add-locale/SKILL.md @@ -0,0 +1,101 @@ +--- +name: add-locale +description: Adds a new locale to RunCat365. Use when adding a new language, creating a Strings.{lc}.resx file, registering a CultureInfo, or extending SupportedLanguage.cs with a new entry. +argument-hint: +--- + +# Add a New Locale to RunCat365 + +Modify 3 files to add support for `$ARGUMENTS`. French (`fr`) is used as an example. + +## Steps + +### 1. Create `RunCat365/Properties/Strings.{lc}.resx` + +Read `RunCat365/Properties/Strings.resx` for all keys and their English values. +Use `Strings.es.resx` as the structural template. + +- File name: `Strings.{lc}.resx` (e.g. `Strings.fr.resx`) +- Copy the XML header, schema, and `` blocks verbatim from `Strings.es.resx` +- Include every key from `Strings.resx` — no more, no less — with each `` translated +- Keep all attribute names, XML structure, and `` content in English; translate only `` text +- Verify every key from `Strings.resx` is present in the new file + +### 2. Edit `RunCat365/SupportedLanguage.cs` + +Keep the `SupportedLanguage` enum and every `switch` arm sorted **alphabetically by enum identifier** (e.g. `French` before `German` before `Japanese`). Insert the new language at its alphabetical position in each location below — do not append. + +Add the language to the `SupportedLanguage` enum: + +```csharp +enum SupportedLanguage +{ + English, + French, + Japanese, + Spanish, +} +``` + +Add the ISO code to `GetCurrentLanguage()` (arms ordered by enum identifier, so `"fr"` appears before `"ja"` even though the ISO codes aren't themselves alphabetical): + +```csharp +return culture.TwoLetterISOLanguageName switch +{ + "fr" => SupportedLanguage.French, + "ja" => SupportedLanguage.Japanese, + "es" => SupportedLanguage.Spanish, + _ => SupportedLanguage.English, +}; +``` + +Add the culture to `GetDefaultCultureInfo()`: + +```csharp +return language switch +{ + SupportedLanguage.French => new CultureInfo("fr-FR"), + SupportedLanguage.Japanese => new CultureInfo("ja-JP"), + SupportedLanguage.Spanish => new CultureInfo("es-ES"), + _ => new CultureInfo("en-US"), +}; +``` + +Add the font to `GetFontName()` — use `"Consolas"` for Latin-script languages: + +```csharp +return language switch +{ + SupportedLanguage.French => "Consolas", + SupportedLanguage.Japanese => "Noto Sans JP", + SupportedLanguage.Spanish => "Consolas", + _ => "Consolas", +}; +``` + +Add the full-width flag to `IsFullWidth()` — use `false` for Latin-script languages: + +```csharp +return language switch +{ + SupportedLanguage.French => false, + SupportedLanguage.Japanese => true, + SupportedLanguage.Spanish => false, + _ => false, +}; +``` + +### 3. Update `README.md` + +Add the new language to the **Installation** → **Language:** list, preserving the existing alphabetical order by English display name (e.g. `French` between `English (default)` and `German`). Match the existing two-space indentation under the `- Language:` bullet. + +## Checklist + +- [ ] Created `Strings.{lc}.resx` with all keys translated +- [ ] Added language to the `SupportedLanguage` enum +- [ ] Added ISO code to `GetCurrentLanguage()` +- [ ] Added culture to `GetDefaultCultureInfo()` +- [ ] Added font to `GetFontName()` +- [ ] Added full-width flag to `IsFullWidth()` +- [ ] Added the language to the Installation language list in `README.md` +- [ ] Built in Visual Studio and verified UI with OS language set to the target language diff --git a/.claude/skills/create-pr/SKILL.md b/.claude/skills/create-pr/SKILL.md new file mode 100644 index 0000000..b813563 --- /dev/null +++ b/.claude/skills/create-pr/SKILL.md @@ -0,0 +1,113 @@ +--- +name: create-pr +description: Creates a GitHub Pull Request for RunCat365 following the project's PR template. Use this skill whenever the user wants to open, submit, or create a PR, pull request, or wants to propose changes to the main branch. +--- + +# Create a Pull Request for RunCat365 + +Follow these steps to create a PR that conforms to the `.github/pull_request_template.md`. + +## Step 1: Gather branch information + +Run these commands in parallel to understand the changes: + +```bash +git log main..HEAD --oneline +git diff main..HEAD --stat +git diff main..HEAD +``` + +Also check the current branch name: + +```bash +git branch --show-current +``` + +## Step 2: Determine the PR type + +Based on the diff, classify the change as exactly one of: + +| Type | When to use | +| --------------- | ---------------------------------------------------------------- | +| **Bug Fix** | Corrects incorrect behavior without adding new functionality | +| **Refactoring** | Improves code structure or readability without changing behavior | +| **New Feature** | Adds new user-visible functionality | +| **Others** | Documentation, CI changes, build config, etc. | + +If unsure, ask the user before proceeding. + +## Step 3: Draft the PR body + +**IMPORTANT: The entire PR body must be written in English, regardless of the language the user is communicating in.** + +Fill in the template below. Every section must be present — do not omit any. + +```markdown +## Context of Contribution + +- [x] Bug Fix ← check only the one that applies +- [ ] Refactoring +- [ ] New Feature +- [ ] Others + +## Summary of the Proposal + + + +## Reason for the new feature + + + + +## Checklist + +- [x] This PR does not contain commits of multiple contexts. +- [x] Code follows proper indentation and naming conventions. +- [x] Implemented using only APIs that can be submitted to the Microsoft Store. +- [x] Works correctly in both dark theme and light theme. +- [x] Works correctly on any device. +``` + +**Checklist rules:** + +- All checklist items default to `[x]` (checked). +- If you have reason to believe an item may **not** hold (e.g., the change is UI-only so dark/light theme was not verifiable), leave it as `[ ]` and note the concern in the Summary. +- The "multiple contexts" item is `[x]` only if all commits on this branch belong to a single topic. If they don't, warn the user before creating the PR. + +## Step 4: Generate a concise PR title + +- Under 70 characters +- Imperative form, e.g. "Add French localization" or "Fix CPU usage spike on wake" +- Do not prefix with a tag like `feat:` or `fix:` — this repo does not use Conventional Commits + +## Step 5: Confirm with the user + +Show the user: + +- The proposed **title** +- The full **body** (rendered as markdown if possible) + +Ask: "Does this look right? Any changes before I create the PR?" + +Make requested edits, then proceed only after the user confirms. + +## Step 6: Create the PR + +```bash +gh pr create \ + --title "" \ + --body "$(cat <<'EOF' +<body> +EOF +)" \ + --base main +``` + +Return the PR URL to the user. + +## Notes + +- Always target `main` as the base branch unless the user specifies otherwise. +- Do not push the branch yourself — assume it is already pushed. If `gh pr create` fails because the branch has no upstream, run `git push -u origin HEAD` first and inform the user. +- If the branch already has an open PR, use `gh pr edit` to update it instead of creating a duplicate. diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..096d622 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,8 @@ +root = true + +[*.cs] +# FlatTrackBar is instantiated only from code, never placed on the WinForms designer, +# so designer-serialization metadata is unnecessary on its properties. + +[FlatTrackBar.cs] +dotnet_diagnostic.WFO1000.severity = none diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..2a9ff05 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,67 @@ +name: Bug Report +description: File a bug report. +title: "[Bug]: " +labels: ["bug"] +body: + - type: markdown + attributes: + value: | + We do not accept issues in languages other than English. + + - type: input + id: version + attributes: + label: "App version" + validations: + required: true + + - type: textarea + id: bug-description + attributes: + label: "Describe the bug" + description: "A clear and concise description of what the bug is." + validations: + required: true + + - type: textarea + id: steps-to-reproduce + attributes: + label: "How to reproduce" + description: "Steps to reproduce the bug." + value: | + 1. + 2. + 3. + ... + validations: + required: true + + - type: textarea + id: expected-behavior + attributes: + label: "Expected behavior" + description: "A description of what you expected to happen." + validations: + required: true + + - type: textarea + id: screenshots + attributes: + label: "Screenshots" + description: "If possible, attach screenshots." + validations: + required: false + + - type: checkboxes + id: checklist + attributes: + label: "Check List" + options: + - label: "I have read the [CONTRIBUTING.md](https://github.com/runcat-dev/RunCat365/blob/main/CONTRIBUTING.md) and agree to follow it." + required: true + - label: "Uninstalled App." + required: true + - label: "Re-launched your computer." + required: true + - label: "Checked that no similar issues already exist." + required: true diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..29bed50 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,45 @@ +name: Feature Request +description: File a feature request. +title: "[Idea]: " +labels: ["enhancement"] +body: + - type: markdown + attributes: + value: | + We do not accept requests in languages other than English. + + - type: textarea + id: overview + attributes: + label: "Overview of the requested feature" + description: "Please provide a brief summary of the feature you're requesting." + validations: + required: true + + - type: textarea + id: reason + attributes: + label: "Reason for the request" + description: "Explain why this feature is needed and what motivated your request." + validations: + required: true + + - type: textarea + id: related-issues + attributes: + label: "Related Issues" + description: "Link to related issues, if applicable." + validations: + required: false + + - type: checkboxes + id: checklist + attributes: + label: "Check List" + options: + - label: "I have read the [CONTRIBUTING.md](https://github.com/runcat-dev/RunCat365/blob/main/CONTRIBUTING.md) and agree to follow it." + required: true + - label: "The proposed feature is beneficial to a wide range of users and not just a personal preference." + required: true + - label: "Checked that no similar requests already exist." + required: true diff --git a/.github/how_to_release.md b/.github/how_to_release.md new file mode 100644 index 0000000..4c052d9 --- /dev/null +++ b/.github/how_to_release.md @@ -0,0 +1,42 @@ +# How to Release a New Version to Microsoft Store + +This document is for code owners. + +## 1. Update Version Numbers + +Version numbers must be updated in **two** locations: + +1. **RunCat365/RunCat365.csproj** + - Update `<Version>X.Y.Z</Version>` (3-digit format) +2. **WapForStore/Package.appxmanifest** + - Update `Version="X.Y.Z.0"` in the `<Identity>` element (4-digit format) + +## 2. Build the App + +1. Open the solution in Visual Studio +2. Verify the build succeeds in Release configuration + +## 3. Create the Package + +1. In Visual Studio, right-click on the **WapForStore** project +2. Select **Publish** > **Create App Packages** +3. Choose **Microsoft Store as MSIX package** and sign in with your Microsoft account +4. Select the existing app "RunCat 365" +5. Configure package settings (x86, x64, arm64) +6. Generate the `.msixupload` file + +## 4. Submit to Partner Center + +1. Sign in to [Partner Center](https://partner.microsoft.com/dashboard) +2. Navigate to **Apps and games** > **RunCat 365** +3. Click **Start a new submission** +4. Update the following sections: + - **Packages**: Upload the generated `.msixupload` file + - **Store listings**: Update description/screenshots if needed + - **Release notes**: Describe changes in this version +5. Click **Submit to the Store** + +## 5. Wait for Certification + +- Certification typically takes 1-3 business days +- If issues are found, fix them and resubmit diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..c7e873c --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,28 @@ +## Context of Contribution + +<!-- Each pull request should fix only one issue or propose one feature. --> +<!-- Do not mix unrelated changes in a single PR. --> + +- [ ] Bug Fix +- [ ] Refactoring +- [ ] New Feature +- [ ] Others + +## Summary of the Proposal + +<!-- Provide a concise summary of what this pull request proposes. --> + +## Reason for the new feature + +<!-- If it's a new feature, explain why this feature is necessary. --> +<!-- Explain how important this feature is to many users. --> +<!-- Explain if the benefits of the new feature outweigh the maintenance cost. --> + +## Checklist + +- [ ] I have read the [CONTRIBUTING.md](../blob/main/CONTRIBUTING.md) and agree to follow it. +- [ ] This PR does not contain commits of multiple contexts. +- [ ] Code follows proper indentation and naming conventions. +- [ ] Implemented using only APIs that can be submitted to the Microsoft Store. +- [ ] Works correctly in both dark theme and light theme. +- [ ] Works correctly on any device. diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..226bdf6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,25 @@ +# Visual Studio +.vs/ +bin/ +obj/ +[Ll]og/ +[Ll]ogs/ +.DS_Store +TestResults + +/WapForStore/AppPackages/** +!/WapForStore/AppPackages/rm-wap-for-store.sh +BundleArtifacts/ + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# Wap +WapForStore/**/*.assets.cache + +# Claude Code +.claude/* +!.claude/skills/ diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..f10d569 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,52 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## You Must + +- Respond in the same language the user is writing in. +- Commit to Git only when instructed. +- If multiple requirements are given in a single instruction, divide the commits into appropriate sizes/granularities. +- When creating a pull request, use the `.claude/skills/create-pr` skill so the project's `.github/pull_request_template.md` is followed. + +## Project Overview + +Windows Forms application (.NET 9.0 / C#) distributed via the Microsoft Store. Runs as a system tray icon whose animation reflects system load. + +**Top-level layout:** + +- `RunCat365.sln` — Main solution +- `RunCat365/` — Main application project +- `WapForStore/` — Windows Application Packaging project for the Microsoft Store + +**Build:** Open `RunCat365.sln` in Visual Studio. Supported platforms: x64, x86, ARM64. Target framework: .NET 9.0 (Windows 10.0.26100.0). + +**Releasing — version numbers must be updated in two places:** + +1. `RunCat365/RunCat365.csproj` — `<Version>X.Y.Z</Version>` (3-digit) +2. `WapForStore/Package.appxmanifest` — `Version="X.Y.Z.0"` in `<Identity>` (4-digit) + +## Architecture (patterns, not file lists) + +- **Entry point:** `Program.cs` hosts the tray application context that owns the timers, the tray icon, and the context menu. +- **Repository pattern for system metrics:** Each metric has a `*Repository` class that produces a matching `*Info` struct (CPU / GPU / memory / storage / network / temperature). Add a new metric by adding a paired repository and info struct. +- **Animation loop:** A 1-second fetch timer refreshes the `*Info` structs; a separate animate timer advances frames at a rate derived from the `SpeedSource` setting. Theme-aware icon recoloring lives in `BitmapExtension`. +- **Custom runners:** User-defined animations are loaded from `profiles.json` and managed by the `CustomRunner*` classes; the active profile is stored in the `CustomRunnerName` setting. +- **EndlessGame:** Mini-game living in `EndlessGameForm` and its collaborator classes. +- **Settings & resources:** Persisted user preferences in `Properties/UserSettings.settings`; embedded images/icons in `Properties/Resources.resx`. + +## Localization + +- Localized strings live in `Properties/Strings.resx` (English default) and sibling `Properties/Strings.{locale}.resx` files. Any new string must be added to every variant. +- Per-locale font and culture settings live in `SupportedLanguage.cs`. +- When adding a brand-new locale (not just new strings), follow the `.claude/skills/add-locale` skill. + +## Coding Rules + +General contribution rules — indentation style, `var` usage, single-change PRs, English-only code, license, and the rest — are documented in [`CONTRIBUTING.md`](CONTRIBUTING.md). Follow those first. + +Project-specific additions: + +- Do not write comments within the source code. Use names that make intent obvious. +- Write abbreviations such as URL or ID in either all lowercase or all uppercase (do not use Upper Camel Case for them). +- Do not use abbreviations like `img` for `image` or `cnt` for `count`. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..8cff1e2 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,189 @@ +# Contributing to RunCat365 + +Thank you for your interest in contributing to **RunCat365** 🐈 +RunCat365 is a Windows system monitoring application represented as a running cat animation. + +All kinds of contributions are welcome: bug reports, feature requests, and code contributions. + +This document describes the rules, steps, and expectations for contributing to this project. + +--- + +## Before Getting Started + +- **Only contributions in English are accepted.** Any contribution in another language may be closed. +- **This project is Windows-only.** Issues or requests related to Linux, macOS, or other platforms will not be accepted. +- Always use the provided **Issue** and **Pull Request** templates. Submissions that do not follow the templates may be closed. +- Be respectful, constructive, and professional in all interactions. + +--- + +## Table of Contents + +- [Before Getting Started](#before-getting-started) +- [Issues](#issues) + - [Bug Reports](#bug-reports) + - [Feature Requests](#feature-requests) + - [Other Issues](#other-issues) +- [Pull Requests](#pull-requests) + - [Before Opening a Pull Request](#before-opening-a-pull-request) + - [Cloning and Working on the Repository](#cloning-and-working-on-the-repository) + - [Submitting a Pull Request](#submitting-a-pull-request) +- [Code Style Guidelines](#code-style-guidelines) +- [Review Process](#review-process) + - [Community Reviews](#community-reviews) + - [Responding to Review Comments](#responding-to-review-comments) +- [Thank You](#thank-you) + +--- + +## Issues + +### Bug Reports + +To report a bug: + +1. Make sure there is no existing issue reporting the same bug. + If one exists, add any additional relevant information as a comment instead of creating a new issue. +2. Click `New issue` and select the `Bug Report` template. +3. Follow all checklist steps and confirm that the bug still occurs. +4. Provide clear and complete information. More details help maintainers resolve the issue faster. +5. Submit the issue and stay attentive, as maintainers may request additional information. + +--- + +### Feature Requests + +To suggest a new feature: + +1. Check if a similar feature request already exists. + If so, please contribute to the existing discussion instead of opening a new one. +2. Ensure your suggestion benefits a broad range of users and is not only a personal preference. +3. Click `New issue` and select the `Feature Request` template. +4. Fill out the template as clearly and completely as possible. +5. Submit the issue and remain available for follow-up questions. + +--- + +### Other Issues + +> [!IMPORTANT] +> This option is only for issues that do not fit into the categories above. +> Issues that do not use the appropriate template will be closed without notice. + +1. Click `New issue` and select `Blank issue`. +2. Describe your request clearly and in detail. +3. Submit the issue and stay attentive to maintainer feedback. + +--- + +## Pull Requests + +### Before Opening a Pull Request + +- **.NET 9.0** is required. +- All code must be written in **English**. + Use the localization system for user-facing text in other languages. + If you use Claude Code, the `.claude/skills/add-locale` skill walks through every file that needs updating when introducing a new locale. +- Use the **[Allman indentation style](https://en.wikipedia.org/wiki/Indentation_style#Allman_style)**. +- Use `var` when the type is obvious from the assignment. +- Follow the existing formatting and conventions used in the codebase. +- Keep each pull request focused on **a single change or context**. + For multiple unrelated changes, create separate pull requests. +- Keep code clean, readable, and easy to understand. +- **Review the entire diff yourself before opening a pull request.** + This applies whether the code was hand-written or generated by an AI assistant — you are responsible for every line you submit. +- This repository is licensed under **Apache-2.0**. + +--- + +### Cloning and Working on the Repository + +1. Fork the `main` branch. +2. Make sure Git is installed. +3. Clone your fork locally: + + ```bash + git clone https://github.com/your-username/RunCat365.git + cd RunCat365 + ``` +4. Create a new branch: + + ```bash + git switch -c branch-name + ``` + + Use a short, descriptive branch name. +5. Make your changes using your preferred IDE + (Visual Studio is recommended). +6. Keep functions within their respective classes. +7. Verify that the project builds and runs without errors. +8. Ensure no unnecessary or accidental changes were made. +9. Stage your changes: + + ```bash + git add . + ``` +10. Commit your changes: + + ```bash + git commit -m "Clear and descriptive commit message" + ``` +11. Push the branch: + + ```bash + git push origin branch-name + ``` + +--- + +### Submitting a Pull Request + +1. Click **New pull request**. +2. Select the branch you worked on. +3. Choose the type of contribution. +4. Fill in all requested information clearly and completely. +5. Ensure all checklist items are satisfied. +6. Submit the pull request. + +--- + +## Code Style Guidelines + +* Follow existing project conventions. +* Use the [Allman indentation style](https://en.wikipedia.org/wiki/Indentation_style#Allman_style). +* Use meaningful and descriptive names. +* Avoid unnecessary complexity. +* Prefer readable and self-explanatory code over clever solutions. + +--- + +## Review Process + +* Pull requests are reviewed as time permits. +* Not all contributions are guaranteed to be accepted. +* Maintainers may request changes before merging. +* Inactive or non-responsive pull requests may be closed. + +### Community Reviews + +* Reviews and comments from non-maintainer community members are welcome and appreciated. +* However, **only feedback from maintainers is considered official**, and only maintainers decide whether a pull request is merged. +* Community reviewers may not be fully familiar with this project's contribution guidelines, so their suggestions may not always align with project policy. +* Contributors are free to consider community feedback, but should use their own judgment and wait for maintainer review before treating any change as required. + +### Responding to Review Comments + +* **Do not click `Resolve conversation` unless you are the reviewer.** + Even after pushing a fix in response to a review comment, only the reviewer can decide whether the issue is actually resolved. + Pushing a follow-up commit and resolving the conversation yourself bypasses that judgment. +* **Address each review comment individually rather than bundling them together**, unless there is a clear reason to combine them. + The larger a single response or diff becomes, the harder it is for the reviewer to evaluate whether each point has been handled correctly. + Reply to each comment with the corresponding change so that the discussion stays focused and easy to follow. + +--- + +## Thank You + +Thank you again for contributing to **RunCat365**. +Your time and effort help make this project better for everyone 😸 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..d9a10c0 --- /dev/null +++ b/LICENSE @@ -0,0 +1,176 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS diff --git a/README.md b/README.md new file mode 100644 index 0000000..b11d50e --- /dev/null +++ b/README.md @@ -0,0 +1,60 @@ +# RunCat 365 + +**A cute running cat animation on your Windows Taskbar.** + +> [!CAUTION] +> +> - This project is for Windows, so we do not accept inquiries about macOS version. +> - We do not accept issues or pull requests in languages other than English. +> - Issues that do not follow the Issue Template will be closed without question. + +[![Issues](https://img.shields.io/github/issues/runcat-dev/RunCat365)](https://github.com/runcat-dev/RunCat365/issues) +[![Forks](https://img.shields.io/github/forks/runcat-dev/RunCat365)](https://github.com/runcat-dev/RunCat365/network/members) +[![Stars](https://img.shields.io/github/stars/runcat-dev/RunCat365)](https://github.com/runcat-dev/RunCat365/stargazers) +[![Top Language](https://img.shields.io/github/languages/top/runcat-dev/RunCat365)](https://github.com/runcat-dev/RunCat365/) +[![Releases](https://img.shields.io/github/v/release/runcat-dev/RunCat365)](https://github.com/runcat-dev/RunCat365/releases) +[![License](https://img.shields.io/github/license/runcat-dev/RunCat365)](https://github.com/runcat-dev/RunCat365/) + +`C#` `Win32` `.NET 9.0` `Visual Studio` `RunCat` + +## Demo + +<img src="./docs/images/demo.gif" width="600" height="200" alt="demo" /> +<br/> +<img src="./docs/images/overview.png" width="600" height="600" alt="overview" /> +<br/> +<img src="./docs/images/custom_runner.png" width="600" height="467" alt="overview" /> +<br/> +<img src="./docs/images/endless_game.png" width="600" height="375" alt="endless game" /> + +## Installation + +RunCat 365 is available for installation on the Microsoft Store. + +- Requirement: Windows 10 version 19041.0 or higher +- Microsoft Store: https://apps.microsoft.com/detail/9nw5lpnvwfwj +- Language: + - Chinese (simplified) + - Chinese (traditional) + - English (default) + - French + - German + - Japanese + - Korean + - Spanish + +## RunCat Developers' Community + +This is a space for RunCat contributors to communicate closely regarding development and operations. +We welcome anyone interested in contributing to RunCat. +However, please note that this is a place for discussing features, not for submitting requests. +For requests, please create an Issue according to the template. + +Portal: https://runcat-dev.github.io +Discord: https://discord.gg/wja3mmHt9z + +## Contributors + +<a href="https://github.com/runcat-dev/RunCat365/graphs/contributors"> + <img src="https://contrib.rocks/image?repo=runcat-dev/RunCat365" /> +</a> diff --git a/README.wehub.md b/README.wehub.md new file mode 100644 index 0000000..999166d --- /dev/null +++ b/README.wehub.md @@ -0,0 +1,7 @@ +# WeHub 来源说明 + +- 原始项目:`runcat-dev/RunCat365` +- 原始仓库:https://github.com/runcat-dev/RunCat365 +- 导入方式:上游默认分支的最新快照 +- 原作者、版权和许可证信息以原始仓库及本仓库 LICENSE 为准 +- 本文件仅用于记录来源,不代表 WeHub 是原项目作者 diff --git a/RunCat365.sln b/RunCat365.sln new file mode 100644 index 0000000..14c818d --- /dev/null +++ b/RunCat365.sln @@ -0,0 +1,57 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.14.36301.6 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RunCat365", "RunCat365\RunCat365.csproj", "{CE0ABB30-977D-4DBC-8B69-EC9D6BD72000}" +EndProject +Project("{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}") = "WapForStore", "WapForStore\WapForStore.wapproj", "{5B865D12-1A70-4311-8EBA-010E117FE616}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM64 = Debug|ARM64 + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|ARM64 = Release|ARM64 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {CE0ABB30-977D-4DBC-8B69-EC9D6BD72000}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {CE0ABB30-977D-4DBC-8B69-EC9D6BD72000}.Debug|ARM64.Build.0 = Debug|ARM64 + {CE0ABB30-977D-4DBC-8B69-EC9D6BD72000}.Debug|x64.ActiveCfg = Debug|x64 + {CE0ABB30-977D-4DBC-8B69-EC9D6BD72000}.Debug|x64.Build.0 = Debug|x64 + {CE0ABB30-977D-4DBC-8B69-EC9D6BD72000}.Debug|x86.ActiveCfg = Debug|x86 + {CE0ABB30-977D-4DBC-8B69-EC9D6BD72000}.Debug|x86.Build.0 = Debug|x86 + {CE0ABB30-977D-4DBC-8B69-EC9D6BD72000}.Release|ARM64.ActiveCfg = Release|ARM64 + {CE0ABB30-977D-4DBC-8B69-EC9D6BD72000}.Release|ARM64.Build.0 = Release|ARM64 + {CE0ABB30-977D-4DBC-8B69-EC9D6BD72000}.Release|x64.ActiveCfg = Release|x64 + {CE0ABB30-977D-4DBC-8B69-EC9D6BD72000}.Release|x64.Build.0 = Release|x64 + {CE0ABB30-977D-4DBC-8B69-EC9D6BD72000}.Release|x86.ActiveCfg = Release|x86 + {CE0ABB30-977D-4DBC-8B69-EC9D6BD72000}.Release|x86.Build.0 = Release|x86 + {5B865D12-1A70-4311-8EBA-010E117FE616}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {5B865D12-1A70-4311-8EBA-010E117FE616}.Debug|ARM64.Build.0 = Debug|ARM64 + {5B865D12-1A70-4311-8EBA-010E117FE616}.Debug|ARM64.Deploy.0 = Debug|ARM64 + {5B865D12-1A70-4311-8EBA-010E117FE616}.Debug|x64.ActiveCfg = Debug|x64 + {5B865D12-1A70-4311-8EBA-010E117FE616}.Debug|x64.Build.0 = Debug|x64 + {5B865D12-1A70-4311-8EBA-010E117FE616}.Debug|x64.Deploy.0 = Debug|x64 + {5B865D12-1A70-4311-8EBA-010E117FE616}.Debug|x86.ActiveCfg = Debug|x86 + {5B865D12-1A70-4311-8EBA-010E117FE616}.Debug|x86.Build.0 = Debug|x86 + {5B865D12-1A70-4311-8EBA-010E117FE616}.Debug|x86.Deploy.0 = Debug|x86 + {5B865D12-1A70-4311-8EBA-010E117FE616}.Release|ARM64.ActiveCfg = Release|ARM64 + {5B865D12-1A70-4311-8EBA-010E117FE616}.Release|ARM64.Build.0 = Release|ARM64 + {5B865D12-1A70-4311-8EBA-010E117FE616}.Release|ARM64.Deploy.0 = Release|ARM64 + {5B865D12-1A70-4311-8EBA-010E117FE616}.Release|x64.ActiveCfg = Release|x64 + {5B865D12-1A70-4311-8EBA-010E117FE616}.Release|x64.Build.0 = Release|x64 + {5B865D12-1A70-4311-8EBA-010E117FE616}.Release|x64.Deploy.0 = Release|x64 + {5B865D12-1A70-4311-8EBA-010E117FE616}.Release|x86.ActiveCfg = Release|x86 + {5B865D12-1A70-4311-8EBA-010E117FE616}.Release|x86.Build.0 = Release|x86 + {5B865D12-1A70-4311-8EBA-010E117FE616}.Release|x86.Deploy.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {04BCEA3C-C8B1-4028-A4AD-6C50E8210E5B} + EndGlobalSection +EndGlobal diff --git a/RunCat365/App.config b/RunCat365/App.config new file mode 100644 index 0000000..49295da --- /dev/null +++ b/RunCat365/App.config @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8" ?> +<configuration> + <configSections> + <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > + <section name="RunCat365.Properties.UserSettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" /> + </sectionGroup> + </configSections> + <userSettings> + <RunCat365.Properties.UserSettings> + <setting name="Runner" serializeAs="String"> + <value>Cat</value> + </setting> + <setting name="Theme" serializeAs="String"> + <value /> + </setting> + <setting name="FPSMaxLimit" serializeAs="String"> + <value>FPS40</value> + </setting> + <setting name="FirstLaunch" serializeAs="String"> + <value>True</value> + </setting> + <setting name="HighScore" serializeAs="String"> + <value>0</value> + </setting> + <setting name="SpeedSource" serializeAs="String"> + <value>CPU</value> + </setting> + </RunCat365.Properties.UserSettings> + </userSettings> +</configuration> \ No newline at end of file diff --git a/RunCat365/App.manifest b/RunCat365/App.manifest new file mode 100644 index 0000000..f1da244 --- /dev/null +++ b/RunCat365/App.manifest @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1"> + <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/> + <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> + <security> + <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> + <requestedExecutionLevel level="asInvoker" uiAccess="false" /> + </requestedPrivileges> + </security> + </trustInfo> + + <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> + <application> + <!-- Windows 10 --> + <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" /> + </application> + </compatibility> + + <application xmlns="urn:schemas-microsoft-com:asm.v3"> + <windowsSettings> + <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2</dpiAwareness> + <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/PM</dpiAware> + </windowsSettings> + </application> +</assembly> diff --git a/RunCat365/BalloonTipType.cs b/RunCat365/BalloonTipType.cs new file mode 100644 index 0000000..3136151 --- /dev/null +++ b/RunCat365/BalloonTipType.cs @@ -0,0 +1,44 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using RunCat365.Properties; + +namespace RunCat365 +{ + internal readonly struct BalloonTipInfo(string title, string text, ToolTipIcon icon) + { + internal string Title { get; } = title; + internal string Text { get; } = text; + internal ToolTipIcon Icon { get; } = icon; + } + + internal enum BalloonTipType + { + AppLaunched, + CPUInfoUnavailable, + } + + internal static class BalloonTipTypeExtension + { + internal static BalloonTipInfo GetInfo(this BalloonTipType balloonTipType) + { + return balloonTipType switch + { + BalloonTipType.AppLaunched => new("RunCat 365", Strings.Message_AppLaunched, ToolTipIcon.Info), + BalloonTipType.CPUInfoUnavailable => new(Strings.Message_Warning, Strings.Message_CPUUsageUnavailable, ToolTipIcon.Warning), + _ => new("RunCat 365", string.Empty, ToolTipIcon.None), + }; + } + } +} diff --git a/RunCat365/BitmapExtension.cs b/RunCat365/BitmapExtension.cs new file mode 100644 index 0000000..c1f3370 --- /dev/null +++ b/RunCat365/BitmapExtension.cs @@ -0,0 +1,103 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using System.Drawing.Imaging; + +namespace RunCat365 +{ + internal readonly ref struct BitmapLock + { + private readonly Bitmap bitmap; + internal BitmapData Data { get; } + + internal BitmapLock(Bitmap bitmap, ImageLockMode mode) + { + this.bitmap = bitmap; + Data = bitmap.LockBits( + new Rectangle(0, 0, bitmap.Width, bitmap.Height), + mode, + PixelFormat.Format32bppArgb + ); + } + + internal void Dispose() + { + bitmap.UnlockBits(Data); + } + } + + internal static class BitmapExtension + { + internal static Bitmap Recolor(this Bitmap bitmap, Color color) + { + var newBitmap = new Bitmap(bitmap.Width, bitmap.Height, PixelFormat.Format32bppArgb); + + using var srcLock = new BitmapLock(bitmap, ImageLockMode.ReadOnly); + using var dstLock = new BitmapLock(newBitmap, ImageLockMode.WriteOnly); + + unsafe + { + byte* srcPtr = (byte*)srcLock.Data.Scan0; + byte* dstPtr = (byte*)dstLock.Data.Scan0; + + for (int y = 0; y < bitmap.Height; y++) + { + byte* srcRow = srcPtr + (y * srcLock.Data.Stride); + byte* dstRow = dstPtr + (y * dstLock.Data.Stride); + + for (int x = 0; x < bitmap.Width; x++) + { + byte* srcPixel = srcRow + (x * 4); + byte* dstPixel = dstRow + (x * 4); + + dstPixel[0] = color.B; + dstPixel[1] = color.G; + dstPixel[2] = color.R; + dstPixel[3] = srcPixel[3]; + } + } + } + + return newBitmap; + } + + internal static Icon ToIcon(this Bitmap bitmap) + { + using var pngStream = new MemoryStream(); + bitmap.Save(pngStream, ImageFormat.Png); + var pngData = pngStream.ToArray(); + + using var icoStream = new MemoryStream(); + using var bw = new BinaryWriter(icoStream); + + bw.Write((short)0); + bw.Write((short)1); + bw.Write((short)1); + + bw.Write((byte)(bitmap.Width >= 256 ? 0 : bitmap.Width)); + bw.Write((byte)(bitmap.Height >= 256 ? 0 : bitmap.Height)); + bw.Write((byte)0); + bw.Write((byte)0); + bw.Write((short)1); + bw.Write((short)32); + bw.Write(pngData.Length); + bw.Write(22); + + bw.Write(pngData); + + icoStream.Position = 0; + return new Icon(icoStream); + } + } +} diff --git a/RunCat365/ByteFormatter.cs b/RunCat365/ByteFormatter.cs new file mode 100644 index 0000000..fe5c7f8 --- /dev/null +++ b/RunCat365/ByteFormatter.cs @@ -0,0 +1,32 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +namespace RunCat365 +{ + internal static class ByteFormatter + { + internal static string ToByteFormatted(this long bytes) + { + string[] units = ["B", "KB", "MB", "GB", "TB"]; + int i = 0; + double doubleBytes = bytes; + while (1024 <= doubleBytes && i < units.Length - 1) + { + doubleBytes /= 1024; + i++; + } + return string.Format("{0:0.##} {1}", doubleBytes, units[i]); + } + } +} diff --git a/RunCat365/CPURepository.cs b/RunCat365/CPURepository.cs new file mode 100644 index 0000000..f76908e --- /dev/null +++ b/RunCat365/CPURepository.cs @@ -0,0 +1,183 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using RunCat365.Properties; +using System.Diagnostics; + +namespace RunCat365 +{ + struct CPUInfo + { + internal float Total { get; set; } + internal float User { get; set; } + internal float Kernel { get; set; } + internal float Idle { get; set; } + } + + internal static class CPUInfoExtension + { + internal static string GetDescription(this CPUInfo cpuInfo) + { + return $"{Strings.SystemInfo_CPU}: {cpuInfo.Total:f1}%"; + } + + internal static List<string> GenerateIndicator(this CPUInfo cpuInfo) + { + var resultLines = new List<string> + { + TreeFormatter.CreateRoot($"{Strings.SystemInfo_CPU}: {cpuInfo.Total:f1}%"), + TreeFormatter.CreateNode($"{Strings.SystemInfo_User}: {cpuInfo.User:f1}%", false), + TreeFormatter.CreateNode($"{Strings.SystemInfo_Kernel}: {cpuInfo.Kernel:f1}%", false), + TreeFormatter.CreateNode($"{Strings.SystemInfo_Available}: {cpuInfo.Idle:f1}%", true) + }; + return resultLines; + } + } + + internal class CPUPerformanceCounters + { + private const string PROCESSOR_INFORMATION_CATEGORY = "Processor Information"; + private const string PROCESSOR_CATEGORY = "Processor"; + private const string TOTAL_INSTANCE = "_Total"; + private const string PROCESSOR_UTILITY_COUNTER = "% Processor Utility"; + private const string PROCESSOR_TIME_COUNTER = "% Processor Time"; + private const string USER_TIME_COUNTER = "% User Time"; + private const string PRIVILEGED_TIME_COUNTER = "% Privileged Time"; + private const int PROCESSOR_TIME_BASED_TASK_MANAGER_MINIMUM_BUILD = 26100; + + internal PerformanceCounter Total { get; } + internal PerformanceCounter User { get; } + internal PerformanceCounter Kernel { get; } + + private CPUPerformanceCounters( + PerformanceCounter total, + PerformanceCounter user, + PerformanceCounter kernel) + { + Total = total; + User = user; + Kernel = kernel; + } + + internal static CPUPerformanceCounters? TryCreate() + { + return TryCreateFromCategory(PROCESSOR_INFORMATION_CATEGORY, TOTAL_INSTANCE) + ?? TryCreateFromCategory(PROCESSOR_CATEGORY, TOTAL_INSTANCE); + } + + private static bool TaskManagerUsesProcessorTime() + { + return PROCESSOR_TIME_BASED_TASK_MANAGER_MINIMUM_BUILD <= Environment.OSVersion.Version.Build; + } + + private static CPUPerformanceCounters? TryCreateFromCategory(string categoryName, string instanceName) + { + PerformanceCounter? total = null; + PerformanceCounter? user = null; + PerformanceCounter? kernel = null; + if (!TaskManagerUsesProcessorTime()) + { + try + { + total = new PerformanceCounter(categoryName, PROCESSOR_UTILITY_COUNTER, instanceName); + } + catch + { + total?.Close(); + total = null; + } + } + try + { + total ??= new PerformanceCounter(categoryName, PROCESSOR_TIME_COUNTER, instanceName); + user = new PerformanceCounter(categoryName, USER_TIME_COUNTER, instanceName); + kernel = new PerformanceCounter(categoryName, PRIVILEGED_TIME_COUNTER, instanceName); + _ = total.NextValue(); + _ = user.NextValue(); + _ = kernel.NextValue(); + return new CPUPerformanceCounters(total, user, kernel); + } + catch + { + total?.Close(); + user?.Close(); + kernel?.Close(); + return null; + } + } + + internal void Close() + { + Total.Close(); + User.Close(); + Kernel.Close(); + } + } + + internal class CPURepository + { + private readonly CPUPerformanceCounters? counters; + private readonly List<CPUInfo> cpuInfoList = []; + private const int CPU_INFO_LIST_LIMIT_SIZE = 5; + + internal bool IsAvailable => counters is not null; + + internal CPURepository() + { + counters = CPUPerformanceCounters.TryCreate(); + } + + internal void Update() + { + if (counters is null) return; + + var total = Math.Min(100, counters.Total.NextValue()); + var user = Math.Min(100, counters.User.NextValue()); + var kernel = Math.Min(100, counters.Kernel.NextValue()); + var idle = Math.Max(0, 100 - user - kernel); + + var cpuInfo = new CPUInfo + { + Total = total, + User = user, + Kernel = kernel, + Idle = idle, + }; + + cpuInfoList.Add(cpuInfo); + if (CPU_INFO_LIST_LIMIT_SIZE < cpuInfoList.Count) + { + cpuInfoList.RemoveAt(0); + } + } + + internal CPUInfo Get() + { + if (cpuInfoList.Count == 0) return new CPUInfo(); + + return new CPUInfo + { + Total = cpuInfoList.Average(x => x.Total), + User = cpuInfoList.Average(x => x.User), + Kernel = cpuInfoList.Average(x => x.Kernel), + Idle = cpuInfoList.Average(x => x.Idle) + }; + } + + internal void Close() + { + counters?.Close(); + } + } +} diff --git a/RunCat365/Cat.cs b/RunCat365/Cat.cs new file mode 100644 index 0000000..e7f285b --- /dev/null +++ b/RunCat365/Cat.cs @@ -0,0 +1,119 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +namespace RunCat365 +{ + internal abstract class Cat + { + internal abstract List<int> ViolationIndices(); + internal abstract Cat Next(); + internal abstract string GetString(); + + internal class Running : Cat + { + internal Frame CurrentFrame { get; } + + internal Running(Frame frame) + { + CurrentFrame = frame; + } + + internal override List<int> ViolationIndices() + { + return CurrentFrame switch + { + Frame.Frame0 => [5, 6, 7], + Frame.Frame1 => [5, 6], + Frame.Frame2 => [5, 6], + Frame.Frame3 => [5], + Frame.Frame4 => [5, 7], + _ => [], + }; + } + + internal override Cat Next() + { + var nextFrame = (Frame)(((int)CurrentFrame + 1) % Enum.GetValues<Frame>().Length); + return new Running(nextFrame); + } + + internal override string GetString() + { + return $"running_{(int)CurrentFrame}"; + } + + internal enum Frame + { + Frame0, + Frame1, + Frame2, + Frame3, + Frame4 + } + } + + internal class Jumping : Cat + { + internal Frame CurrentFrame { get; } + + internal Jumping(Frame frame) + { + CurrentFrame = frame; + } + + internal override List<int> ViolationIndices() + { + return CurrentFrame switch + { + Frame.Frame0 => [5, 6, 7], + Frame.Frame1 => [5, 6], + Frame.Frame2 => [5, 6], + Frame.Frame3 => [5, 6], + Frame.Frame4 => [5, 6], + Frame.Frame5 => [5], + Frame.Frame6 => [], + Frame.Frame7 => [], + Frame.Frame8 => [], + Frame.Frame9 => [7], + _ => [], + }; + } + + internal override Cat Next() + { + var nextFrame = (Frame)(((int)CurrentFrame + 1) % Enum.GetValues<Frame>().Length); + return new Jumping(nextFrame); + } + + internal override string GetString() + { + return $"jumping_{(int)CurrentFrame}"; + } + + internal enum Frame + { + Frame0, + Frame1, + Frame2, + Frame3, + Frame4, + Frame5, + Frame6, + Frame7, + Frame8, + Frame9 + } + } + } +} diff --git a/RunCat365/ContextMenuManager.cs b/RunCat365/ContextMenuManager.cs new file mode 100644 index 0000000..38f5c2c --- /dev/null +++ b/RunCat365/ContextMenuManager.cs @@ -0,0 +1,508 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using RunCat365.Properties; +using System.ComponentModel; + +namespace RunCat365 +{ + internal class ContextMenuManager : IDisposable + { + private readonly CustomToolStripMenuItem systemInfoMenu = new(); + private readonly NotifyIcon notifyIcon = new(); + private readonly List<Icon> icons = []; + private readonly Lock iconLock = new(); + private int current = 0; + private EndlessGameForm? endlessGameForm; + private CustomRunnerForm? customRunnerForm; + private List<Bitmap>? customRunnerSourceFrames; + + internal ContextMenuManager( + Func<Runner> getRunner, + Action<Runner> setRunner, + CustomRunnerRepository customRunnerRepository, + Func<string?> getCustomRunnerName, + Action<string> applyCustomRunner, + Action<string> onCustomRunnerDeleted, + Func<Theme> getSystemTheme, + Func<Theme> getManualTheme, + Action<Theme> setManualTheme, + Func<SpeedSource> getSpeedSource, + Action<SpeedSource> setSpeedSource, + Func<SpeedSource, bool> isSpeedSourceAvailable, + Func<FPSMaxLimit> getFPSMaxLimit, + Action<FPSMaxLimit> setFPSMaxLimit, + Func<TemperatureUnit> getTemperatureUnit, + Action<TemperatureUnit> setTemperatureUnit, + Func<bool> getLaunchAtStartup, + Func<bool, bool> toggleLaunchAtStartup, + Action openProjectPage, + Action onExit + ) + { + systemInfoMenu.Text = "-\n-\n-\n-\n-"; + systemInfoMenu.Enabled = false; + + var runnersMenu = new CustomToolStripMenuItem(Strings.Menu_Runner); + runnersMenu.SetupSubMenusFromEnum<Runner>( + r => r.GetLocalizedString(), + (parent, sender, e) => + { + HandleMenuItemSelection<Runner>( + parent, + sender, + (string? s, out Runner r) => Enum.TryParse(s, out r), + r => setRunner(r) + ); + SetIcons(getSystemTheme(), getManualTheme(), getRunner()); + }, + r => getCustomRunnerName() is null && getRunner() == r, + r => GetRunnerThumbnailBitmap(getSystemTheme(), r) + ); + runnersMenu.DropDownOpening += (sender, e) => RefreshCustomRunnerMenu( + runnersMenu, + customRunnerRepository, + ResolveTheme(getSystemTheme(), getManualTheme()), + getRunner, + getCustomRunnerName, + applyCustomRunner + ); + + var themeMenu = new CustomToolStripMenuItem(Strings.Menu_Theme); + themeMenu.SetupSubMenusFromEnum<Theme>( + t => t.GetLocalizedString(), + (parent, sender, e) => + { + HandleMenuItemSelection<Theme>( + parent, + sender, + (string? s, out Theme t) => Enum.TryParse(s, out t), + t => setManualTheme(t) + ); + SetIcons(getSystemTheme(), getManualTheme(), getRunner()); + }, + t => getManualTheme() == t, + _ => null + ); + + var speedSourceMenu = new CustomToolStripMenuItem(Strings.Menu_SpeedSource); + speedSourceMenu.SetupSubMenusFromEnum<SpeedSource>( + s => s.GetLocalizedString(), + (parent, sender, e) => + { + HandleMenuItemSelection<SpeedSource>( + parent, + sender, + (string? s, out SpeedSource ss) => Enum.TryParse(s, out ss), + s => setSpeedSource(s) + ); + }, + s => getSpeedSource() == s, + _ => null, + isSpeedSourceAvailable + ); + + var fpsMaxLimitMenu = new CustomToolStripMenuItem(Strings.Menu_FPSMaxLimit); + fpsMaxLimitMenu.SetupSubMenusFromEnum<FPSMaxLimit>( + f => f.GetString(), + (parent, sender, e) => + { + HandleMenuItemSelection<FPSMaxLimit>( + parent, + sender, + (string? s, out FPSMaxLimit f) => FPSMaxLimitExtension.TryParse(s, out f), + f => setFPSMaxLimit(f) + ); + }, + f => getFPSMaxLimit() == f, + _ => null + ); + + var temperatureUnitMenu = new CustomToolStripMenuItem(Strings.Menu_TemperatureUnit); + temperatureUnitMenu.SetupSubMenusFromEnum<TemperatureUnit>( + u => u.GetLocalizedString(), + (parent, sender, e) => + { + HandleMenuItemSelection<TemperatureUnit>( + parent, + sender, + (string? s, out TemperatureUnit u) => Enum.TryParse(s, out u), + u => setTemperatureUnit(u) + ); + }, + u => getTemperatureUnit() == u, + _ => null + ); + + var launchAtStartupMenu = new CustomToolStripMenuItem(Strings.Menu_LaunchAtStartup) + { + Checked = getLaunchAtStartup() + }; + launchAtStartupMenu.Click += (sender, e) => HandleStartupMenuClick(sender, toggleLaunchAtStartup); + + var settingsMenu = new CustomToolStripMenuItem(Strings.Menu_Settings); + settingsMenu.DropDownItems.AddRange( + themeMenu, + speedSourceMenu, + fpsMaxLimitMenu, + temperatureUnitMenu, + launchAtStartupMenu + ); + + var customRunnersMenu = new CustomToolStripMenuItem(Strings.Menu_CustomRunners); + customRunnersMenu.Click += (sender, e) => ShowOrActivateCustomRunnerWindow( + customRunnerRepository, onCustomRunnerDeleted + ); + + var endlessGameMenu = new CustomToolStripMenuItem(Strings.Menu_EndlessGame); + endlessGameMenu.Click += (sender, e) => ShowOrActivateGameWindow(getSystemTheme); + + var appVersionMenu = new CustomToolStripMenuItem( + $"{Application.ProductName} v{Application.ProductVersion}" + ) + { + Enabled = false + }; + + var projectPageMenu = new CustomToolStripMenuItem(Strings.Menu_OpenProjectPage); + projectPageMenu.Click += (sender, e) => openProjectPage(); + + var informationMenu = new CustomToolStripMenuItem(Strings.Menu_Information); + informationMenu.DropDownItems.AddRange( + appVersionMenu, + projectPageMenu + ); + + var exitMenu = new CustomToolStripMenuItem(Strings.Menu_Exit); + exitMenu.Click += (sender, e) => onExit(); + + var contextMenuStrip = new ContextMenuStrip(new Container()); + contextMenuStrip.Items.AddRange( + systemInfoMenu, + new ToolStripSeparator(), + runnersMenu, + customRunnersMenu, + new ToolStripSeparator(), + settingsMenu, + informationMenu, + endlessGameMenu, + new ToolStripSeparator(), + exitMenu + ); + contextMenuStrip.Renderer = new ContextMenuRenderer(); + + SetIcons(getSystemTheme(), getManualTheme(), getRunner()); + + notifyIcon.Visible = true; + notifyIcon.ContextMenuStrip = contextMenuStrip; + } + + private static void HandleMenuItemSelection<T>( + ToolStripMenuItem parentMenu, + object? sender, + CustomTryParseDelegate<T> tryParseMethod, + Action<T> assignValueAction + ) + { + if (sender is null) return; + var item = (ToolStripMenuItem)sender; + foreach (ToolStripItem childItem in parentMenu.DropDownItems) + { + if (childItem is ToolStripMenuItem menuItem) + { + menuItem.Checked = false; + } + } + item.Checked = true; + + if (item.Tag is T tagValue) + { + assignValueAction(tagValue); + } + else if (tryParseMethod(item.Text, out T parsedValue)) + { + assignValueAction(parsedValue); + } + } + + private static Bitmap? GetRunnerThumbnailBitmap(Theme systemTheme, Runner runner) + { + var color = systemTheme.GetContrastColor(); + var iconName = $"{runner.GetString()}_0".ToLower(); + var obj = Resources.ResourceManager.GetObject(iconName); + if (obj is not Bitmap bitmap) return null; + return systemTheme == Theme.Light ? bitmap : bitmap.Recolor(color); + } + + private static void RefreshCustomRunnerMenu( + CustomToolStripMenuItem runnersMenu, + CustomRunnerRepository customRunnerRepository, + Theme theme, + Func<Runner> getRunner, + Func<string?> getCustomRunnerName, + Action<string> applyCustomRunner + ) + { + foreach (ToolStripItem item in runnersMenu.DropDownItems) + { + if (item is ToolStripMenuItem menuItem && item.Tag is Runner runner) + { + menuItem.Checked = getCustomRunnerName() is null && getRunner() == runner; + } + } + + var customItems = runnersMenu.DropDownItems + .Cast<ToolStripItem>() + .Where(item => item.Tag is CustomRunnerMenuTag) + .ToList(); + foreach (var item in customItems) + { + runnersMenu.DropDownItems.Remove(item); + if (item is ToolStripMenuItem menuItem) + { + menuItem.Image?.Dispose(); + } + item.Dispose(); + } + + var profiles = customRunnerRepository.GetAll().OrderBy(p => p.Name).ToList(); + if (profiles.Count == 0) return; + + runnersMenu.DropDownItems.Add(new ToolStripSeparator { Tag = new CustomRunnerMenuTag("") }); + foreach (var profile in profiles) + { + var name = profile.Name; + var item = new CustomToolStripMenuItem(name) + { + Tag = new CustomRunnerMenuTag(name), + Checked = string.Equals(getCustomRunnerName(), name, StringComparison.OrdinalIgnoreCase), + Image = CreateCustomRunnerThumbnail(customRunnerRepository, name, theme) + }; + item.Click += (sender, e) => applyCustomRunner(name); + runnersMenu.DropDownItems.Add(item); + } + } + + private static Bitmap? CreateCustomRunnerThumbnail(CustomRunnerRepository repository, string name, Theme theme) + { + var firstFrame = repository.LoadFirstFrame(name); + if (firstFrame is null) return null; + if (theme == Theme.Light) return firstFrame; + using (firstFrame) + { + return firstFrame.Recolor(theme.GetContrastColor()); + } + } + + internal void SetIcons(Theme systemTheme, Theme manualTheme, Runner runner) + { + ClearCustomRunnerSourceFrames(); + + var runnerName = runner.GetString(); + var rm = Resources.ResourceManager; + var capacity = runner.GetFrameNumber(); + var bitmaps = new List<Bitmap>(capacity); + for (int i = 0; i < capacity; i++) + { + var iconName = $"{runnerName}_{i}".ToLower(); + if (rm.GetObject(iconName) is Bitmap bitmap) + { + bitmaps.Add(bitmap); + } + } + ReplaceIconList(bitmaps, ResolveTheme(systemTheme, manualTheme)); + } + + internal void SetCustomIcons(List<Bitmap> frames, Theme systemTheme, Theme manualTheme) + { + ClearCustomRunnerSourceFrames(); + customRunnerSourceFrames = frames.Select(f => new Bitmap(f)).ToList(); + ReplaceIconList(customRunnerSourceFrames, ResolveTheme(systemTheme, manualTheme)); + } + + internal void RecolorActiveCustomIcons(Theme systemTheme, Theme manualTheme) + { + if (customRunnerSourceFrames is null) return; + ReplaceIconList(customRunnerSourceFrames, ResolveTheme(systemTheme, manualTheme)); + } + + internal bool HasActiveCustomIcons => customRunnerSourceFrames is not null; + + private void ReplaceIconList(IList<Bitmap> frames, Theme theme) + { + var color = theme.GetContrastColor(); + var list = new List<Icon>(frames.Count); + foreach (var frame in frames) + { + if (theme == Theme.Light) + { + list.Add(frame.ToIcon()); + } + else + { + using var recolored = frame.Recolor(color); + list.Add(recolored.ToIcon()); + } + } + + List<Icon> oldIcons; + lock (iconLock) + { + oldIcons = new List<Icon>(icons); + icons.Clear(); + icons.AddRange(list); + current = 0; + if (icons.Count > 0) + { + notifyIcon.Icon = icons[0]; + current = 1 % icons.Count; + } + } + + foreach (var icon in oldIcons) icon.Dispose(); + } + + private void ClearCustomRunnerSourceFrames() + { + if (customRunnerSourceFrames is null) return; + foreach (var bitmap in customRunnerSourceFrames) bitmap.Dispose(); + customRunnerSourceFrames = null; + } + + private static Theme ResolveTheme(Theme systemTheme, Theme manualTheme) + { + return manualTheme == Theme.System ? systemTheme : manualTheme; + } + + private static void HandleStartupMenuClick(object? sender, Func<bool, bool> toggleLaunchAtStartup) + { + if (sender is null) return; + var item = (ToolStripMenuItem)sender; + try + { + if (toggleLaunchAtStartup(item.Checked)) + { + item.Checked = !item.Checked; + } + } + catch (InvalidOperationException ex) + { + MessageBox.Show(ex.Message, Strings.Message_Warning, MessageBoxButtons.OK, MessageBoxIcon.Warning); + } + + } + + private void ShowOrActivateGameWindow(Func<Theme> getSystemTheme) + { + if (endlessGameForm is null) + { + endlessGameForm = new EndlessGameForm(getSystemTheme()); + endlessGameForm.FormClosed += (sender, e) => + { + endlessGameForm = null; + }; + endlessGameForm.Show(); + } + else + { + endlessGameForm.Activate(); + } + } + + private void ShowOrActivateCustomRunnerWindow( + CustomRunnerRepository repository, + Action<string> onCustomRunnerDeleted + ) + { + if (customRunnerForm is null) + { + customRunnerForm = new CustomRunnerForm(repository, onCustomRunnerDeleted); + customRunnerForm.FormClosed += (sender, e) => + { + customRunnerForm = null; + }; + customRunnerForm.Show(); + } + else + { + customRunnerForm.Activate(); + } + } + + internal void ShowBalloonTip(BalloonTipType balloonTipType) + { + var info = balloonTipType.GetInfo(); + notifyIcon.ShowBalloonTip(5000, info.Title, info.Text, info.Icon); + } + + internal void AdvanceFrame() + { + lock (iconLock) + { + if (icons.Count == 0) return; + if (icons.Count <= current) current = 0; + notifyIcon.Icon = icons[current]; + current = (current + 1) % icons.Count; + } + } + + internal void SetSystemInfoMenuText(string text) + { + systemInfoMenu.Text = text; + } + + internal void SetNotifyIconText(string text) + { + notifyIcon.Text = text; + } + + internal void HideNotifyIcon() + { + notifyIcon.Visible = false; + } + + public void Dispose() + { + Dispose(true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + if (disposing) + { + lock (iconLock) + { + foreach (var icon in icons) icon.Dispose(); + icons.Clear(); + } + + ClearCustomRunnerSourceFrames(); + + if (notifyIcon is not null) + { + notifyIcon.ContextMenuStrip?.Dispose(); + notifyIcon.Dispose(); + } + + endlessGameForm?.Dispose(); + customRunnerForm?.Dispose(); + } + } + + private delegate bool CustomTryParseDelegate<T>(string? value, out T result); + + private sealed record CustomRunnerMenuTag(string Name); + } +} diff --git a/RunCat365/ContextMenuRenderer.cs b/RunCat365/ContextMenuRenderer.cs new file mode 100644 index 0000000..f109a9c --- /dev/null +++ b/RunCat365/ContextMenuRenderer.cs @@ -0,0 +1,40 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +namespace RunCat365 +{ + internal class ContextMenuRenderer : ToolStripProfessionalRenderer + { + protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e) + { + if (!string.IsNullOrEmpty(e.Text) && e.Item is CustomToolStripMenuItem item) + { + var textRectangle = e.TextRectangle; + textRectangle.Height = item.Bounds.Height; + TextRenderer.DrawText( + e.Graphics, + e.Text, + e.TextFont, + textRectangle, + item.ForeColor, + item.Flags() + ); + } + else + { + base.OnRenderItemText(e); + } + } + } +} diff --git a/RunCat365/CustomRunnerForm.cs b/RunCat365/CustomRunnerForm.cs new file mode 100644 index 0000000..a6cc739 --- /dev/null +++ b/RunCat365/CustomRunnerForm.cs @@ -0,0 +1,900 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using RunCat365.Properties; +using System.Diagnostics; + +namespace RunCat365 +{ + internal class CustomRunnerForm : Form + { + private const int PREVIEW_INITIAL_INTERVAL_MS = 100; + private const int PREVIEW_MIN_INTERVAL_MS = 20; + private const int PREVIEW_BASE_RATE = 500; + private const int RUNNER_NAME_MAX_LENGTH = 30; + + private readonly CustomRunnerRepository repository; + private readonly Action<string> onCustomRunnerDeleted; + private readonly string fontFamily; + private readonly Font tileLabelFont; + private readonly ToolTip toolTip = new(); + private ListBox runnerListBox = null!; + private TextBox nameTextBox = null!; + private FlowLayoutPanel framePanel = null!; + private Button addFramesButton = null!; + private Button removeFrameButton = null!; + private Button saveButton = null!; + private Button deleteButton = null!; + private FrameAnimationView previewView = null!; + private FlatTrackBar speedSlider = null!; + + private readonly List<Bitmap> pendingFrames = []; + private readonly List<Bitmap> recoloredFrames = []; + private int selectedFrameIndex = -1; + private Point? dragOriginPoint; + private int dragSourceIndex = -1; + + internal CustomRunnerForm( + CustomRunnerRepository repository, + Action<string> onCustomRunnerDeleted + ) + { + this.repository = repository; + this.onCustomRunnerDeleted = onCustomRunnerDeleted; + fontFamily = SupportedLanguageExtension.GetCurrentLanguage().GetFontName(); + tileLabelFont = new Font(fontFamily, 7.5F); + + InitializeFormProperties(); + InitializeControls(); + InitializeEventHandlers(); + + FitWindowToContent(); + + RefreshRunnerList(); + ValidateFormState(); + } + + private void FitWindowToContent() + { + if (Controls.Count == 0) return; + var root = Controls[0]; + root.PerformLayout(); + var preferred = root.PreferredSize; + ClientSize = new Size( + preferred.Width + Padding.Horizontal, + preferred.Height + Padding.Vertical + ); + } + + private void InitializeFormProperties() + { + Text = Strings.Window_CustomRunners; + Icon = Resources.AppIcon; + FormBorderStyle = FormBorderStyle.FixedDialog; + MaximizeBox = false; + StartPosition = FormStartPosition.CenterScreen; + BackColor = Palette.FormBackground; + ForeColor = Palette.TextPrimary; + Padding = new Padding(20); + } + + private void InitializeControls() + { + var listColumn = BuildListColumn(); + var separator = BuildVerticalSeparator(); + var editorColumn = BuildEditorColumn(); + + var root = new TableLayoutPanel + { + AutoSize = true, + AutoSizeMode = AutoSizeMode.GrowAndShrink, + ColumnCount = 3, + RowCount = 1, + BackColor = Color.Transparent + }; + root.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize)); + root.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize)); + root.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100)); + root.RowStyles.Add(new RowStyle(SizeType.AutoSize)); + root.Controls.Add(listColumn, 0, 0); + root.Controls.Add(separator, 1, 0); + root.Controls.Add(editorColumn, 2, 0); + + Controls.Add(root); + root.Location = new Point(Padding.Left, Padding.Top); + } + + private TableLayoutPanel BuildListColumn() + { + var listLabel = CreateLabel( + Strings.CustomRunner_AddedRunners, + 9F, FontStyle.Bold, Palette.TextSecondary + ); + listLabel.Margin = new Padding(0, 0, 0, 4); + + runnerListBox = new ListBox + { + MinimumSize = new Size(160, 200), + BackColor = Palette.ControlBackground, + ForeColor = Palette.TextPrimary, + Font = new Font(fontFamily, 9F), + BorderStyle = BorderStyle.FixedSingle, + IntegralHeight = false, + Dock = DockStyle.Fill, + Margin = new Padding(0, 0, 0, 8) + }; + + deleteButton = CreateIconColoredButton( + "×", + new Size(32, 28), + Palette.DangerRed, + Palette.DangerBorder, + Strings.CustomRunner_Delete, + initiallyEnabled: false + ); + deleteButton.Anchor = AnchorStyles.Left; + deleteButton.Margin = new Padding(0); + + var column = new TableLayoutPanel + { + AutoSize = true, + AutoSizeMode = AutoSizeMode.GrowAndShrink, + Dock = DockStyle.Fill, + ColumnCount = 1, + RowCount = 3, + BackColor = Color.Transparent + }; + column.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize)); + column.RowStyles.Add(new RowStyle(SizeType.AutoSize)); + column.RowStyles.Add(new RowStyle(SizeType.Percent, 100)); + column.RowStyles.Add(new RowStyle(SizeType.AutoSize)); + column.Controls.Add(listLabel, 0, 0); + column.Controls.Add(runnerListBox, 0, 1); + column.Controls.Add(deleteButton, 0, 2); + return column; + } + + private static Panel BuildVerticalSeparator() + { + return new Panel + { + Width = 1, + BackColor = Palette.BorderAccent, + Anchor = AnchorStyles.Top | AnchorStyles.Bottom, + Margin = new Padding(12, 0, 12, 0) + }; + } + + private Label CreateLabel(string text, float fontSize, FontStyle fontStyle, Color foreColor) + { + var font = new Font(fontFamily, fontSize, fontStyle); + var measured = TextRenderer.MeasureText(text, font); + return new Label + { + Text = text, + AutoSize = true, + MinimumSize = new Size(measured.Width + 2, 0), + Font = font, + ForeColor = foreColor + }; + } + + private TableLayoutPanel BuildEditorColumn() + { + var nameLabel = CreateLabel( + Strings.CustomRunner_Name, + 9F, FontStyle.Regular, Palette.TextSecondary + ); + nameLabel.Anchor = AnchorStyles.Top | AnchorStyles.Right; + nameLabel.TextAlign = ContentAlignment.MiddleRight; + nameLabel.Margin = new Padding(0, 6, 12, 8); + + nameTextBox = new TextBox + { + MinimumSize = new Size(280, 24), + BackColor = Palette.ControlBackground, + ForeColor = Palette.TextPrimary, + Font = new Font(fontFamily, 9F), + BorderStyle = BorderStyle.FixedSingle, + MaxLength = RUNNER_NAME_MAX_LENGTH, + Anchor = AnchorStyles.Left | AnchorStyles.Right, + Margin = new Padding(0, 0, 0, 8) + }; + + var requirementsCaption = CreateLabel( + Strings.CustomRunner_RequirementsLabel, + 9F, FontStyle.Regular, Palette.TextSecondary + ); + requirementsCaption.Anchor = AnchorStyles.Top | AnchorStyles.Right; + requirementsCaption.TextAlign = ContentAlignment.MiddleRight; + requirementsCaption.Margin = new Padding(0, 0, 12, 8); + + var requirementsContent = CreateLabel( + Strings.CustomRunner_Requirements, + 9F, FontStyle.Regular, Palette.TextMuted + ); + requirementsContent.Margin = new Padding(0, 0, 0, 8); + + var framesCaption = CreateLabel( + Strings.CustomRunner_FramesLabel, + 9F, FontStyle.Regular, Palette.TextSecondary + ); + framesCaption.Anchor = AnchorStyles.Top | AnchorStyles.Right; + framesCaption.TextAlign = ContentAlignment.MiddleRight; + framesCaption.Margin = new Padding(0, 0, 12, 8); + + var framesArea = BuildFramesArea(); + framesArea.Margin = new Padding(0, 0, 0, 8); + framesArea.Anchor = AnchorStyles.Left | AnchorStyles.Right; + + var previewCaption = CreateLabel( + Strings.CustomRunner_Preview, + 9F, FontStyle.Regular, Palette.TextSecondary + ); + previewCaption.Anchor = AnchorStyles.Top | AnchorStyles.Right; + previewCaption.TextAlign = ContentAlignment.MiddleRight; + previewCaption.Margin = new Padding(0, 0, 12, 8); + + var previewArea = BuildPreviewArea(); + previewArea.Margin = new Padding(0, 0, 0, 8); + previewArea.Anchor = AnchorStyles.Left | AnchorStyles.Right; + + saveButton = CreateColoredButton( + Strings.CustomRunner_Save, + new Size(85, 30), + Palette.AccentBlue, + Palette.AccentBlueBorder, + bold: true, + initiallyEnabled: false + ); + saveButton.Anchor = AnchorStyles.Right; + saveButton.Margin = new Padding(0); + + var column = new TableLayoutPanel + { + AutoSize = true, + AutoSizeMode = AutoSizeMode.GrowAndShrink, + ColumnCount = 2, + RowCount = 5, + BackColor = Color.Transparent + }; + column.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize)); + column.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100)); + for (int i = 0; i < 5; i++) + { + column.RowStyles.Add(new RowStyle(SizeType.AutoSize)); + } + + column.Controls.Add(nameLabel, 0, 0); + column.Controls.Add(nameTextBox, 1, 0); + column.Controls.Add(requirementsCaption, 0, 1); + column.Controls.Add(requirementsContent, 1, 1); + column.Controls.Add(framesCaption, 0, 2); + column.Controls.Add(framesArea, 1, 2); + column.Controls.Add(previewCaption, 0, 3); + column.Controls.Add(previewArea, 1, 3); + column.Controls.Add(saveButton, 1, 4); + return column; + } + + private TableLayoutPanel BuildFramesArea() + { + framePanel = new FlowLayoutPanel + { + MinimumSize = new Size(350, 280), + AutoScroll = true, + BackColor = Palette.FramePanelBackground, + BorderStyle = BorderStyle.FixedSingle, + WrapContents = true, + AllowDrop = true, + Anchor = AnchorStyles.Left | AnchorStyles.Right, + Margin = new Padding(0, 0, 0, 4) + }; + framePanel.DragEnter += FrameDragOver; + framePanel.DragOver += FrameDragOver; + framePanel.DragDrop += FramePanelDragDrop; + + addFramesButton = CreateIconButton( + "+", + new Size(28, 24), + Strings.CustomRunner_AddFrames + ); + addFramesButton.Margin = new Padding(0, 0, 4, 0); + + removeFrameButton = CreateIconButton( + "−", + new Size(28, 24), + Strings.CustomRunner_RemoveFrame, + initiallyEnabled: false + ); + removeFrameButton.Margin = new Padding(0); + + var buttonRow = new FlowLayoutPanel + { + AutoSize = true, + AutoSizeMode = AutoSizeMode.GrowAndShrink, + FlowDirection = FlowDirection.LeftToRight, + WrapContents = false, + BackColor = Color.Transparent, + Anchor = AnchorStyles.Left, + Margin = new Padding(0) + }; + buttonRow.Controls.Add(addFramesButton); + buttonRow.Controls.Add(removeFrameButton); + + var area = new TableLayoutPanel + { + AutoSize = true, + AutoSizeMode = AutoSizeMode.GrowAndShrink, + ColumnCount = 1, + RowCount = 2, + BackColor = Color.Transparent + }; + area.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100)); + area.RowStyles.Add(new RowStyle(SizeType.AutoSize)); + area.RowStyles.Add(new RowStyle(SizeType.AutoSize)); + area.Controls.Add(framePanel, 0, 0); + area.Controls.Add(buttonRow, 0, 1); + return area; + } + + private TableLayoutPanel BuildPreviewArea() + { + previewView = new FrameAnimationView + { + Size = new Size(64, 64), + BackColor = Palette.FramePanelBackground, + FrameIntervalMs = PREVIEW_INITIAL_INTERVAL_MS, + Anchor = AnchorStyles.None, + Margin = new Padding(0, 0, 12, 0) + }; + + var turtleIcon = new PictureBox + { + Size = new Size(24, 24), + SizeMode = PictureBoxSizeMode.Zoom, + Image = Resources.slider_turtle, + BackColor = Color.Transparent, + Anchor = AnchorStyles.None, + Margin = new Padding(0, 0, 8, 0) + }; + + speedSlider = new FlatTrackBar + { + Height = 24, + Minimum = 1, + Maximum = 10, + Value = 5, + Anchor = AnchorStyles.Left | AnchorStyles.Right, + Margin = new Padding(0) + }; + toolTip.SetToolTip(speedSlider, Strings.CustomRunner_PreviewSpeed); + + var rabbitIcon = new PictureBox + { + Size = new Size(24, 24), + SizeMode = PictureBoxSizeMode.Zoom, + Image = Resources.slider_rabbit, + BackColor = Color.Transparent, + Anchor = AnchorStyles.None, + Margin = new Padding(8, 0, 0, 0) + }; + + var area = new TableLayoutPanel + { + AutoSize = true, + AutoSizeMode = AutoSizeMode.GrowAndShrink, + ColumnCount = 4, + RowCount = 1, + BackColor = Color.Transparent + }; + area.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize)); + area.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize)); + area.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100)); + area.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize)); + area.RowStyles.Add(new RowStyle(SizeType.AutoSize)); + area.Controls.Add(previewView, 0, 0); + area.Controls.Add(turtleIcon, 1, 0); + area.Controls.Add(speedSlider, 2, 0); + area.Controls.Add(rabbitIcon, 3, 0); + return area; + } + + private void InitializeEventHandlers() + { + runnerListBox.SelectedIndexChanged += RunnerListBoxSelectedIndexChanged; + nameTextBox.TextChanged += (sender, e) => ValidateFormState(); + + addFramesButton.Click += AddFramesButtonClick; + removeFrameButton.Click += RemoveFrameButtonClick; + + speedSlider.ValueChanged += (sender, e) => + { + if (speedSlider.Value > 0) + { + previewView.FrameIntervalMs = Math.Max(PREVIEW_MIN_INTERVAL_MS, PREVIEW_BASE_RATE / speedSlider.Value); + } + }; + + deleteButton.Click += DeleteButtonClick; + saveButton.Click += SaveButtonClick; + } + + private ThemedButton CreateIconButton(string glyph, Size size, string tooltipText, bool initiallyEnabled = true) + { + var button = new ThemedButton + { + Text = glyph, + AutoSize = false, + Size = size, + MinimumSize = size, + Padding = new Padding(0), + FlatStyle = FlatStyle.Flat, + BackColor = Palette.ButtonBackground, + ForeColor = Palette.TextPrimary, + Font = new Font("Segoe UI", 11F, FontStyle.Regular), + Cursor = Cursors.Hand, + Enabled = initiallyEnabled + }; + button.FlatAppearance.BorderColor = Palette.BorderAccent; + toolTip.SetToolTip(button, tooltipText); + return button; + } + + private ThemedButton CreateIconColoredButton( + string glyph, + Size size, + Color backColor, + Color borderColor, + string tooltipText, + bool initiallyEnabled + ) + { + var button = new ThemedButton + { + Text = glyph, + AutoSize = false, + Size = size, + MinimumSize = size, + Padding = new Padding(0), + FlatStyle = FlatStyle.Flat, + BackColor = backColor, + ForeColor = Palette.TextPrimary, + Font = new Font("Segoe UI", 11F, FontStyle.Regular), + Cursor = Cursors.Hand, + Enabled = initiallyEnabled + }; + button.FlatAppearance.BorderColor = borderColor; + toolTip.SetToolTip(button, tooltipText); + return button; + } + + private ThemedButton CreateColoredButton( + string text, + Size minimumSize, + Color backColor, + Color borderColor, + bool bold, + bool initiallyEnabled + ) + { + var button = new ThemedButton + { + Text = text, + AutoSize = true, + AutoSizeMode = AutoSizeMode.GrowAndShrink, + MinimumSize = minimumSize, + Padding = new Padding(14, 4, 14, 4), + FlatStyle = FlatStyle.Flat, + BackColor = backColor, + ForeColor = Palette.TextPrimary, + Font = new Font(fontFamily, bold ? 9F : 8.5F, bold ? FontStyle.Bold : FontStyle.Regular), + Cursor = Cursors.Hand, + Enabled = initiallyEnabled + }; + button.FlatAppearance.BorderColor = borderColor; + return button; + } + + protected override void OnFormClosing(FormClosingEventArgs e) + { + base.OnFormClosing(e); + ClearPendingFrames(); + } + + protected override void Dispose(bool disposing) + { + if (disposing) + { + foreach (var frame in pendingFrames) frame.Dispose(); + pendingFrames.Clear(); + foreach (var frame in recoloredFrames) frame.Dispose(); + recoloredFrames.Clear(); + tileLabelFont.Dispose(); + toolTip.Dispose(); + } + base.Dispose(disposing); + } + + private void RefreshRunnerList() + { + runnerListBox.Items.Clear(); + foreach (var profile in repository.GetAll()) + { + runnerListBox.Items.Add(profile.Name); + } + UpdateRunnerActionButtons(); + } + + private void RunnerListBoxSelectedIndexChanged(object? sender, EventArgs e) + { + var hasSelection = runnerListBox.SelectedIndex >= 0; + UpdateRunnerActionButtons(); + + if (hasSelection && runnerListBox.SelectedItem is string selectedName) + { + nameTextBox.Text = selectedName; + ClearPendingFrames(); + var frames = repository.LoadFrames(selectedName); + pendingFrames.AddRange(frames); + selectedFrameIndex = pendingFrames.Count > 0 ? 0 : -1; + OnFramesChanged(); + } + } + + private void AddFramesButtonClick(object? sender, EventArgs e) + { + using var dialog = new OpenFileDialog + { + Filter = "PNG Images|*.png", + Multiselect = true, + Title = Strings.CustomRunner_AddFrames + }; + + if (dialog.ShowDialog() != DialogResult.OK) return; + + var sortedFiles = dialog.FileNames.OrderBy(f => f).ToArray(); + foreach (var file in sortedFiles) + { + if (pendingFrames.Count >= CustomRunnerRepository.MAX_FRAME_COUNT) break; + try + { + pendingFrames.Add(new Bitmap(file)); + } + catch (Exception ex) when (ex is OutOfMemoryException or ArgumentException or FileNotFoundException) + { + Debug.WriteLine($"Failed to load frame '{file}': {ex.Message}"); + } + } + OnFramesChanged(); + } + + private void RemoveFrameButtonClick(object? sender, EventArgs e) + { + if (selectedFrameIndex < 0 || pendingFrames.Count <= selectedFrameIndex) return; + + pendingFrames[selectedFrameIndex].Dispose(); + pendingFrames.RemoveAt(selectedFrameIndex); + selectedFrameIndex = pendingFrames.Count == 0 + ? -1 + : Math.Min(selectedFrameIndex, pendingFrames.Count - 1); + OnFramesChanged(); + } + + private void OnFramesChanged() + { + RebuildRecoloredFrames(); + RebuildFrameGrid(); + RestartPreview(); + ValidateFormState(); + } + + private void RebuildRecoloredFrames() + { + foreach (var frame in recoloredFrames) frame.Dispose(); + recoloredFrames.Clear(); + foreach (var frame in pendingFrames) + { + recoloredFrames.Add(frame.Recolor(Color.White)); + } + if (pendingFrames.Count <= selectedFrameIndex) + { + selectedFrameIndex = pendingFrames.Count - 1; + } + } + + private void RebuildFrameGrid() + { + framePanel.SuspendLayout(); + foreach (Control oldTile in framePanel.Controls) + { + oldTile.Dispose(); + } + framePanel.Controls.Clear(); + + for (int i = 0; i < recoloredFrames.Count; i++) + { + framePanel.Controls.Add(CreateFrameTile(i)); + } + + framePanel.ResumeLayout(); + } + + private Panel CreateFrameTile(int frameIndex) + { + var container = new Panel + { + Size = new Size(70, 76), + Margin = new Padding(4), + BackColor = frameIndex == selectedFrameIndex ? Palette.SelectionHighlight : Color.Transparent, + Cursor = Cursors.SizeAll + }; + + var pictureBox = new PictureBox + { + Size = new Size(48, 48), + Location = new Point(11, 0), + SizeMode = PictureBoxSizeMode.Zoom, + Image = recoloredFrames[frameIndex], + BackColor = Palette.FrameThumbnailBackground, + Cursor = Cursors.SizeAll + }; + + var indexLabel = new Label + { + Text = $"{frameIndex}", + Size = new Size(70, 18), + Location = new Point(0, 52), + TextAlign = ContentAlignment.TopCenter, + ForeColor = Palette.TextThumbnailIndex, + Font = tileLabelFont, + Cursor = Cursors.SizeAll + }; + + foreach (var control in new Control[] { container, pictureBox, indexLabel }) + { + control.Click += (sender, e) => SelectFrame(frameIndex); + WireFrameDragSource(control, frameIndex); + WireFrameDragReceiver(control, frameIndex); + } + + container.Controls.Add(pictureBox); + container.Controls.Add(indexLabel); + return container; + } + + private void WireFrameDragSource(Control control, int frameIndex) + { + control.MouseDown += (sender, e) => + { + if (e.Button != MouseButtons.Left) return; + dragOriginPoint = e.Location; + dragSourceIndex = frameIndex; + }; + control.MouseMove += (sender, e) => + { + if (dragOriginPoint is null || dragSourceIndex < 0) return; + if (e.Button != MouseButtons.Left) return; + var dx = Math.Abs(e.X - dragOriginPoint.Value.X); + var dy = Math.Abs(e.Y - dragOriginPoint.Value.Y); + if (dx < SystemInformation.DragSize.Width && dy < SystemInformation.DragSize.Height) return; + var startedIndex = dragSourceIndex; + dragOriginPoint = null; + dragSourceIndex = -1; + control.DoDragDrop(startedIndex, DragDropEffects.Move); + }; + control.MouseUp += (sender, e) => + { + dragOriginPoint = null; + dragSourceIndex = -1; + }; + } + + private void WireFrameDragReceiver(Control control, int frameIndex) + { + control.AllowDrop = true; + control.DragEnter += FrameDragOver; + control.DragOver += FrameDragOver; + control.DragDrop += (sender, e) => HandleFrameDrop(e, frameIndex); + } + + private static void FrameDragOver(object? sender, DragEventArgs e) + { + e.Effect = e.Data?.GetDataPresent(typeof(int)) == true + ? DragDropEffects.Move + : DragDropEffects.None; + } + + private void HandleFrameDrop(DragEventArgs e, int targetIndex) + { + if (e.Data?.GetData(typeof(int)) is not int sourceIndex) return; + ReorderFrame(sourceIndex, targetIndex); + } + + private void FramePanelDragDrop(object? sender, DragEventArgs e) + { + if (e.Data?.GetData(typeof(int)) is not int sourceIndex) return; + ReorderFrame(sourceIndex, pendingFrames.Count); + } + + private void ReorderFrame(int sourceIndex, int targetIndex) + { + if (sourceIndex < 0 || sourceIndex >= pendingFrames.Count) return; + if (sourceIndex == targetIndex) return; + + var item = pendingFrames[sourceIndex]; + pendingFrames.RemoveAt(sourceIndex); + + var insertAt = sourceIndex < targetIndex ? targetIndex - 1 : targetIndex; + insertAt = Math.Clamp(insertAt, 0, pendingFrames.Count); + pendingFrames.Insert(insertAt, item); + + selectedFrameIndex = insertAt; + OnFramesChanged(); + } + + private void RestartPreview() + { + previewView.FrameIntervalMs = Math.Max(PREVIEW_MIN_INTERVAL_MS, PREVIEW_BASE_RATE / speedSlider.Value); + previewView.SetFrames(recoloredFrames); + } + + private void SelectFrame(int frameIndex) + { + if (frameIndex < 0 || pendingFrames.Count <= frameIndex) return; + selectedFrameIndex = frameIndex; + RebuildFrameGrid(); + UpdateFrameActionButtons(); + } + + private void ValidateFormState() + { + var name = nameTextBox.Text.Trim(); + bool hasValidName = !string.IsNullOrWhiteSpace(name); + bool hasValidFrames = pendingFrames.Count >= CustomRunnerRepository.MIN_FRAME_COUNT; + + saveButton.Enabled = hasValidName && hasValidFrames; + + UpdateFrameActionButtons(); + } + + private void UpdateFrameActionButtons() + { + var hasSelectedFrame = 0 <= selectedFrameIndex && selectedFrameIndex < pendingFrames.Count; + removeFrameButton.Enabled = hasSelectedFrame; + } + + private void UpdateRunnerActionButtons() + { + deleteButton.Enabled = runnerListBox.SelectedIndex >= 0; + } + + private void SaveButtonClick(object? sender, EventArgs e) + { + var name = nameTextBox.Text.Trim(); + if (string.IsNullOrWhiteSpace(name)) return; + if (pendingFrames.Count < CustomRunnerRepository.MIN_FRAME_COUNT) return; + + if (repository.Exists(name)) + { + var result = MessageBox.Show( + Strings.CustomRunner_ConfirmOverwrite, + Strings.Message_Warning, + MessageBoxButtons.YesNo, + MessageBoxIcon.Question + ); + if (result != DialogResult.Yes) return; + } + + if (repository.Save(name, pendingFrames)) + { + RefreshRunnerList(); + for (int i = 0; i < runnerListBox.Items.Count; i++) + { + if (runnerListBox.Items[i] is string itemName && + itemName.Equals(name, StringComparison.OrdinalIgnoreCase)) + { + runnerListBox.SelectedIndex = i; + break; + } + } + ValidateFormState(); + } + } + + private void DeleteButtonClick(object? sender, EventArgs e) + { + if (runnerListBox.SelectedItem is not string selectedName) return; + + var result = MessageBox.Show( + string.Format(Strings.CustomRunner_ConfirmDelete, selectedName), + Strings.Message_Warning, + MessageBoxButtons.YesNo, + MessageBoxIcon.Warning + ); + if (result != DialogResult.Yes) return; + + repository.Delete(selectedName); + onCustomRunnerDeleted(selectedName); + ClearPendingFrames(); + OnFramesChanged(); + nameTextBox.Clear(); + RefreshRunnerList(); + UpdateRunnerActionButtons(); + } + + private void ClearPendingFrames() + { + previewView.Clear(); + foreach (var frame in pendingFrames) frame.Dispose(); + pendingFrames.Clear(); + foreach (var frame in recoloredFrames) frame.Dispose(); + recoloredFrames.Clear(); + selectedFrameIndex = -1; + UpdateFrameActionButtons(); + } + + private static class Palette + { + internal static readonly Color FormBackground = Color.FromArgb(45, 45, 45); + internal static readonly Color ControlBackground = Color.FromArgb(60, 60, 60); + internal static readonly Color ButtonBackground = Color.FromArgb(70, 70, 70); + internal static readonly Color BorderAccent = Color.FromArgb(100, 100, 100); + internal static readonly Color FramePanelBackground = Color.FromArgb(55, 55, 55); + internal static readonly Color FrameThumbnailBackground = Color.FromArgb(40, 40, 40); + internal static readonly Color SelectionHighlight = Color.FromArgb(75, 95, 125); + internal static readonly Color TextPrimary = Color.White; + internal static readonly Color TextSecondary = Color.FromArgb(200, 200, 200); + internal static readonly Color TextMuted = Color.FromArgb(150, 150, 150); + internal static readonly Color TextThumbnailIndex = Color.FromArgb(170, 170, 170); + internal static readonly Color DangerRed = Color.FromArgb(120, 40, 40); + internal static readonly Color DangerBorder = Color.FromArgb(150, 60, 60); + internal static readonly Color AccentBlue = Color.FromArgb(50, 90, 160); + internal static readonly Color AccentBlueBorder = Color.FromArgb(70, 120, 200); + } + + private sealed class ThemedButton : Button + { + private static readonly Color DisabledBackColor = Color.FromArgb(58, 58, 58); + private static readonly Color DisabledForeColor = Color.FromArgb(145, 145, 145); + private static readonly Color DisabledBorderColor = Color.FromArgb(82, 82, 82); + + protected override void OnEnabledChanged(EventArgs e) + { + base.OnEnabledChanged(e); + Cursor = Enabled ? Cursors.Hand : Cursors.Default; + Invalidate(); + } + + protected override void OnPaint(PaintEventArgs e) + { + var backColor = Enabled ? BackColor : DisabledBackColor; + var foreColor = Enabled ? ForeColor : DisabledForeColor; + var borderColor = Enabled ? FlatAppearance.BorderColor : DisabledBorderColor; + + using var backBrush = new SolidBrush(backColor); + using var borderPen = new Pen(borderColor); + e.Graphics.FillRectangle(backBrush, ClientRectangle); + e.Graphics.DrawRectangle(borderPen, 0, 0, Width - 1, Height - 1); + + var textSize = TextRenderer.MeasureText(e.Graphics, Text, Font, ClientSize, TextFormatFlags.NoPadding); + var location = new Point( + (Width - textSize.Width) / 2, + (Height - textSize.Height) / 2 + ); + TextRenderer.DrawText(e.Graphics, Text, Font, location, foreColor, TextFormatFlags.NoPadding); + } + } + } +} diff --git a/RunCat365/CustomRunnerProfile.cs b/RunCat365/CustomRunnerProfile.cs new file mode 100644 index 0000000..c99a79e --- /dev/null +++ b/RunCat365/CustomRunnerProfile.cs @@ -0,0 +1,27 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using System.Text.Json.Serialization; + +namespace RunCat365 +{ + internal class CustomRunnerProfile + { + [JsonPropertyName("name")] + public string Name { get; set; } = string.Empty; + + [JsonPropertyName("frameFileNames")] + public List<string> FrameFileNames { get; set; } = []; + } +} diff --git a/RunCat365/CustomRunnerRepository.cs b/RunCat365/CustomRunnerRepository.cs new file mode 100644 index 0000000..cbcbf58 --- /dev/null +++ b/RunCat365/CustomRunnerRepository.cs @@ -0,0 +1,233 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using System.Diagnostics; +using System.Drawing.Drawing2D; +using System.Drawing.Imaging; +using System.Text.Json; + +namespace RunCat365 +{ + internal class CustomRunnerRepository + { + internal const int MIN_FRAME_COUNT = 2; + internal const int MAX_FRAME_COUNT = 30; + private const int MAX_FRAME_HEIGHT = 32; + private const int MIN_FRAME_WIDTH = 10; + private const int MAX_FRAME_WIDTH = 32; + private const string PROFILES_FILE_NAME = "profiles.json"; + + private readonly string basePath; + private List<CustomRunnerProfile> profiles = []; + + internal CustomRunnerRepository() + { + basePath = Path.Combine( + Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), + "RunCat365", + "CustomRunners" + ); + Directory.CreateDirectory(basePath); + Load(); + } + + internal List<CustomRunnerProfile> GetAll() + { + return [.. profiles]; + } + + internal CustomRunnerProfile? GetByName(string name) + { + return profiles.Find(p => p.Name.Equals(name, StringComparison.OrdinalIgnoreCase)); + } + + internal List<Bitmap> LoadFrames(string name) + { + var profile = GetByName(name); + if (profile is null) return []; + + var runnerDirectory = Path.Combine(basePath, SanitizeDirectoryName(name)); + var frames = new List<Bitmap>(); + foreach (var fileName in profile.FrameFileNames) + { + var filePath = Path.Combine(runnerDirectory, fileName); + if (!File.Exists(filePath)) continue; + var frame = TryLoadBitmap(filePath); + if (frame is not null) frames.Add(frame); + } + return frames; + } + + internal Bitmap? LoadFirstFrame(string name) + { + var profile = GetByName(name); + if (profile is null || profile.FrameFileNames.Count == 0) return null; + var runnerDirectory = Path.Combine(basePath, SanitizeDirectoryName(name)); + var filePath = Path.Combine(runnerDirectory, profile.FrameFileNames[0]); + return File.Exists(filePath) ? TryLoadBitmap(filePath) : null; + } + + private static Bitmap? TryLoadBitmap(string filePath) + { + try + { + return new Bitmap(filePath); + } + catch (Exception ex) when (ex is ArgumentException or OutOfMemoryException or FileNotFoundException) + { + Debug.WriteLine($"Failed to load custom runner frame '{filePath}': {ex.Message}"); + return null; + } + } + + internal bool Save(string name, List<Bitmap> frames) + { + if (string.IsNullOrWhiteSpace(name)) return false; + if (frames.Count < MIN_FRAME_COUNT || frames.Count > MAX_FRAME_COUNT) return false; + + var runnerDirectory = Path.Combine(basePath, SanitizeDirectoryName(name)); + Directory.CreateDirectory(runnerDirectory); + + var existingProfile = GetByName(name); + if (existingProfile is not null) + { + DeleteFrameFiles(existingProfile); + profiles.Remove(existingProfile); + } + + var profile = new CustomRunnerProfile { Name = name }; + for (int i = 0; i < frames.Count; i++) + { + using var resized = ResizeFrame(frames[i]); + var fileName = $"frame_{i}.png"; + var filePath = Path.Combine(runnerDirectory, fileName); + resized.Save(filePath, ImageFormat.Png); + profile.FrameFileNames.Add(fileName); + } + + profiles.Add(profile); + return TrySaveProfiles(); + } + + internal bool Delete(string name) + { + var profile = GetByName(name); + if (profile is null) return false; + + DeleteFrameFiles(profile); + var runnerDirectory = Path.Combine(basePath, SanitizeDirectoryName(name)); + try + { + if (Directory.Exists(runnerDirectory)) + { + Directory.Delete(runnerDirectory, true); + } + } + catch (Exception ex) when (ex is IOException or UnauthorizedAccessException) + { + Debug.WriteLine($"Failed to delete runner directory '{runnerDirectory}': {ex.Message}"); + } + + profiles.Remove(profile); + TrySaveProfiles(); + return true; + } + + internal bool Exists(string name) + { + return GetByName(name) is not null; + } + + private void Load() + { + var profilesPath = Path.Combine(basePath, PROFILES_FILE_NAME); + if (!File.Exists(profilesPath)) + { + profiles = []; + return; + } + try + { + var json = File.ReadAllText(profilesPath); + profiles = JsonSerializer.Deserialize<List<CustomRunnerProfile>>(json) ?? []; + } + catch (Exception ex) when (ex is JsonException or IOException or UnauthorizedAccessException) + { + Debug.WriteLine($"Failed to load custom runner profiles: {ex.Message}"); + profiles = []; + } + } + + private bool TrySaveProfiles() + { + var profilesPath = Path.Combine(basePath, PROFILES_FILE_NAME); + try + { + var options = new JsonSerializerOptions { WriteIndented = true }; + var json = JsonSerializer.Serialize(profiles, options); + File.WriteAllText(profilesPath, json); + return true; + } + catch (Exception ex) when (ex is IOException or UnauthorizedAccessException) + { + Debug.WriteLine($"Failed to write custom runner profiles: {ex.Message}"); + return false; + } + } + + private void DeleteFrameFiles(CustomRunnerProfile profile) + { + var runnerDirectory = Path.Combine(basePath, SanitizeDirectoryName(profile.Name)); + foreach (var fileName in profile.FrameFileNames) + { + var filePath = Path.Combine(runnerDirectory, fileName); + try + { + File.Delete(filePath); + } + catch (Exception ex) when (ex is IOException or UnauthorizedAccessException) + { + Debug.WriteLine($"Failed to delete frame file '{filePath}': {ex.Message}"); + } + } + } + + private static Bitmap ResizeFrame(Bitmap original) + { + if (original.Height <= MAX_FRAME_HEIGHT && + original.Width >= MIN_FRAME_WIDTH && + original.Width <= MAX_FRAME_WIDTH) + { + return new Bitmap(original); + } + + var scale = (float)MAX_FRAME_HEIGHT / original.Height; + var newWidth = Math.Clamp((int)(original.Width * scale), MIN_FRAME_WIDTH, MAX_FRAME_WIDTH); + var newHeight = MAX_FRAME_HEIGHT; + + var resized = new Bitmap(newWidth, newHeight); + using var graphics = Graphics.FromImage(resized); + graphics.InterpolationMode = InterpolationMode.HighQualityBicubic; + graphics.DrawImage(original, 0, 0, newWidth, newHeight); + return resized; + } + + private static string SanitizeDirectoryName(string name) + { + var invalidChars = Path.GetInvalidFileNameChars(); + var sanitized = new string(name.Select(c => invalidChars.Contains(c) ? '_' : c).ToArray()); + return sanitized.ToLowerInvariant(); + } + } +} diff --git a/RunCat365/CustomToolStripMenuItem.cs b/RunCat365/CustomToolStripMenuItem.cs new file mode 100644 index 0000000..f87a794 --- /dev/null +++ b/RunCat365/CustomToolStripMenuItem.cs @@ -0,0 +1,110 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +namespace RunCat365 +{ + internal class CustomToolStripMenuItem : ToolStripMenuItem + { + private static readonly Font MenuFont = new( + SupportedLanguageExtension.GetCurrentLanguage().GetFontName(), + 9F, + FontStyle.Regular + ); + + internal CustomToolStripMenuItem() : base() + { + Font = MenuFont; + } + + internal CustomToolStripMenuItem(string? text) : base(text) + { + Font = MenuFont; + } + + private CustomToolStripMenuItem(string? text, Image? image, object? tag, bool isChecked, EventHandler? onClick) : base(text, image, onClick) + { + Tag = tag; + Checked = isChecked; + Font = MenuFont; + } + + private readonly TextFormatFlags multiLineTextFlags = + TextFormatFlags.LeftAndRightPadding | + TextFormatFlags.VerticalCenter | + TextFormatFlags.WordBreak | + TextFormatFlags.TextBoxControl; + + private readonly TextFormatFlags singleLineTextFlags = + TextFormatFlags.LeftAndRightPadding | + TextFormatFlags.VerticalCenter | + TextFormatFlags.EndEllipsis; + + public override Size GetPreferredSize(Size constrainingSize) + { + Size baseSize = base.GetPreferredSize(constrainingSize); + if (string.IsNullOrEmpty(Text)) + { + return new Size(baseSize.Width, 22); + } + var textRenderWidth = Math.Max(constrainingSize.Width - 20, 1); + + SizeF measuredSize = TextRenderer.MeasureText( + Text, + Font, + new Size(textRenderWidth, int.MaxValue), + Flags() + ); + var calculatedHeight = (int)Math.Ceiling(measuredSize.Height) + 4; + var height = IsSingleLine() ? calculatedHeight : Math.Max(baseSize.Height, calculatedHeight); + return new Size(baseSize.Width, height); + } + + internal bool IsSingleLine() + { + return string.IsNullOrEmpty(Text) || !Text.Contains('\n'); + } + + internal TextFormatFlags Flags() + { + return IsSingleLine() ? singleLineTextFlags : multiLineTextFlags; + } + + internal void SetupSubMenusFromEnum<T>( + Func<T, string> getTitle, + Action<CustomToolStripMenuItem, object?, EventArgs> onClick, + Func<T, bool> isChecked, + Func<Runner, Bitmap?> getRunnerThumbnailBitmap, + Func<T, bool>? isVisible = null + ) where T : Enum + { + isVisible ??= _ => true; + var items = new List<CustomToolStripMenuItem>(); + foreach (T value in Enum.GetValues(typeof(T))) + { + if (!isVisible(value)) continue; + var entityName = getTitle(value); + var iconImage = value is Runner runner ? getRunnerThumbnailBitmap(runner) : null; + var item = new CustomToolStripMenuItem( + entityName, + iconImage, + value, + isChecked(value), + (sender, e) => onClick(this, sender, e) + ); + items.Add(item); + } + DropDownItems.AddRange([.. items]); + } + } +} diff --git a/RunCat365/EndlessGameForm.cs b/RunCat365/EndlessGameForm.cs new file mode 100644 index 0000000..2e640a2 --- /dev/null +++ b/RunCat365/EndlessGameForm.cs @@ -0,0 +1,318 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using RunCat365.Properties; +using System.Collections; +using System.Globalization; +using System.Text.RegularExpressions; +using FormsTimer = System.Windows.Forms.Timer; + +namespace RunCat365 +{ + internal class EndlessGameForm : Form + { + private const int JUMP_THRESHOLD = 17; + private readonly FormsTimer timer; + private readonly Theme systemTheme; + private GameStatus status = GameStatus.NewGame; + private Cat cat = new Cat.Running(Cat.Running.Frame.Frame0); + private readonly List<Road> roads = []; + private readonly Dictionary<string, Bitmap> catIcons = []; + private readonly Dictionary<string, Bitmap> roadIcons = []; + private int counter = 0; + private int limit = 5; + private int score = 0; + private int highScore = UserSettings.Default.HighScore; + private bool isJumpRequested = false; + private readonly bool isAutoPlay = false; + + internal EndlessGameForm(Theme systemTheme) + { + this.systemTheme = systemTheme; + + DoubleBuffered = true; + ClientSize = new Size(600, 250); + FormBorderStyle = FormBorderStyle.FixedDialog; + MaximizeBox = false; + StartPosition = FormStartPosition.CenterScreen; + Text = Strings.Window_EndlessGame; + Icon = Resources.AppIcon; + BackColor = systemTheme == Theme.Light ? Color.Gainsboro : Color.Gray; + + var rm = Resources.ResourceManager; + var rs = rm.GetResourceSet(CultureInfo.CurrentUICulture, true, true); + if (rs is not null) + { + var catRegex = new Regex(@"^cat_.*_.*$"); + var color = systemTheme.GetContrastColor(); + foreach (DictionaryEntry entry in rs) + { + var key = entry.Key.ToString(); + if (string.IsNullOrEmpty(key)) continue; + + if (catRegex.IsMatch(key)) + { + if (entry.Value is Bitmap icon) + { + catIcons.Add(key, systemTheme == Theme.Light ? new Bitmap(icon) : icon.Recolor(color)); + } + } + else if (key.StartsWith("road")) + { + if (entry.Value is Bitmap icon) + { + roadIcons.Add(key, systemTheme == Theme.Light ? new Bitmap(icon) : icon.Recolor(color)); + } + } + } + } + + Paint += RenderScene; + + KeyDown += HandleKeyDown; + + timer = new FormsTimer + { + Interval = 100 + }; + timer.Tick += GameTick; + + Initialize(); + + timer.Start(); + } + + protected override void OnFormClosing(FormClosingEventArgs e) + { + base.OnFormClosing(e); + timer.Stop(); + timer.Dispose(); + + foreach (var bitmap in catIcons.Values) bitmap.Dispose(); + foreach (var bitmap in roadIcons.Values) bitmap.Dispose(); + catIcons.Clear(); + roadIcons.Clear(); + } + + private void Initialize() + { + counter = JUMP_THRESHOLD; + isJumpRequested = false; + score = 0; + cat = new Cat.Running(Cat.Running.Frame.Frame0); + roads.RemoveAll(r => r == Road.Sprout); + Enumerable.Range(0, 20 - roads.Count).ToList().ForEach( + _ => roads.Add((Road)(new Random().Next(0, 3))) + ); + } + + private bool Judge() + { + if (status != GameStatus.Playing) return false; + var sproutIndices = roads + .Select((road, index) => { return road == Road.Sprout ? index : (int?)null; }) + .OfType<int>() + .ToList(); + if (cat.ViolationIndices().HasCommonElements(sproutIndices)) + { + status = GameStatus.GameOver; + return false; + } + else + { + return true; + } + } + + private void UpdateRoads() + { + var firstRoad = roads.First(); + roads.RemoveAt(0); + if (firstRoad == Road.Sprout) + { + score = Math.Min(score + 1, 999); + highScore = Math.Max(score, highScore); + } + counter = counter > 0 ? counter - 1 : limit - 1; + if (counter == 0) + { + var randomValue = new Random().Next(0, 27); + var subRoads = new List<Road>(); + if (randomValue % 3 == 0) + { + subRoads.Add(Road.Sprout); + } + if (randomValue % 9 == 0) + { + subRoads.Add(Road.Sprout); + } + if (randomValue % 27 == 0) + { + subRoads.Add(Road.Sprout); + } + roads.AddRange(subRoads); + limit = subRoads.Count == 0 ? 5 : 10; + } + if (roads.Count < 20) + { + roads.Add((Road)(new Random().Next(0, 3))); + } + } + + private void UpdateCat() + { + if (cat is Cat.Running runningCat) + { + if (runningCat.CurrentFrame == Cat.Running.Frame.Frame4 && isJumpRequested) + { + cat = new Cat.Jumping(Cat.Jumping.Frame.Frame0); + isJumpRequested = false; + return; + } + } + else if (cat is Cat.Jumping jumpingCat) + { + if (jumpingCat.CurrentFrame == Cat.Jumping.Frame.Frame9) + { + if (isJumpRequested) + { + cat = cat.Next(); + isJumpRequested = false; + return; + } + else + { + cat = new Cat.Running(Cat.Running.Frame.Frame0); + return; + } + } + } + cat = cat.Next(); + } + + private void AutoJump() + { + if (isAutoPlay && roads[JUMP_THRESHOLD - 1] == Road.Sprout) + { + isJumpRequested = true; + } + } + + private void GameTick(object? sender, EventArgs e) + { + if (Judge()) + { + UpdateRoads(); + UpdateCat(); + AutoJump(); + } + Invalidate(); + } + + private void HandleKeyDown(object? sender, KeyEventArgs e) + { + if (e.KeyCode == Keys.Space) + { + switch (status) + { + case GameStatus.NewGame: + case GameStatus.GameOver: + Initialize(); + status = GameStatus.Playing; + break; + case GameStatus.Playing when !isAutoPlay: + isJumpRequested = true; + break; + default: + break; + } + } + } + + private void RenderScene(object? sender, PaintEventArgs e) + { + var rm = Resources.ResourceManager; + var textColor = systemTheme.GetContrastColor(); + var g = e.Graphics; + + using (Font font15 = new("Consolas", 15)) + using (Brush brush = new SolidBrush(textColor)) + { + var stringFormat = new StringFormat + { + Alignment = StringAlignment.Far, + LineAlignment = StringAlignment.Center + }; + var scoreText = status == GameStatus.GameOver + ? $"HI {highScore:D3} {score:D3}" + : $"{score:D3}"; + g.DrawString(scoreText, font15, brush, new Rectangle(20, 0, 560, 50), stringFormat); + } + + roads.Take(20).Select((road, index) => new { road, index }).ToList().ForEach( + item => + { + var fileName = $"road_{item.road.GetString()}".ToLower(); + if (!roadIcons.TryGetValue(fileName, out Bitmap? image)) return; + g.DrawImage(image, new Rectangle(item.index * 30, 200, 30, 50)); + } + ); + + var fileName = $"cat_{cat.GetString()}".ToLower(); + if (!catIcons.TryGetValue(fileName, out Bitmap? image)) return; + g.DrawImage(image, new Rectangle(120, 130, 120, 100)); + + if (status != GameStatus.Playing) + { + using Brush fillBrush = new SolidBrush(Color.FromArgb(77, 0, 0, 0)); + g.FillRectangle(fillBrush, new Rectangle(0, 0, 600, 250)); + + using Font font18 = new("Segoe UI", 16, FontStyle.Bold); + using Brush brush = new SolidBrush(textColor); + var message = Strings.Game_PressSpaceToPlay; + if (status == GameStatus.GameOver) + { + if (score >= highScore) + { + SaveRecord(score); + message = $"{Strings.Game_NewRecord}!!\n{message}"; + } + else + { + message = $"{Strings.Game_GameOver}\n{message}"; + } + } + var stringFormat = new StringFormat + { + Alignment = StringAlignment.Center, + LineAlignment = StringAlignment.Center + }; + g.DrawString(message, font18, brush, new Rectangle(0, 0, 600, 250), stringFormat); + } + } + private void SaveRecord(int score) + { + UserSettings.Default.HighScore = score; + UserSettings.Default.Save(); + } + } + + internal static class ListExtension + { + internal static bool HasCommonElements(this List<int> list1, List<int> list2) + { + return list1.Intersect(list2).Any(); + } + } +} \ No newline at end of file diff --git a/RunCat365/EndlessGameForm.resx b/RunCat365/EndlessGameForm.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/RunCat365/EndlessGameForm.resx @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> +</root> \ No newline at end of file diff --git a/RunCat365/FPSMaxLimit.cs b/RunCat365/FPSMaxLimit.cs new file mode 100644 index 0000000..d30dc3e --- /dev/null +++ b/RunCat365/FPSMaxLimit.cs @@ -0,0 +1,76 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using System.Diagnostics.CodeAnalysis; + +namespace RunCat365 +{ + enum FPSMaxLimit + { + FPS40, + FPS30, + FPS20, + FPS10, + } + + internal static class FPSMaxLimitExtension + { + internal static string GetString(this FPSMaxLimit fpsMaxLimit) + { + return fpsMaxLimit switch + { + FPSMaxLimit.FPS40 => "40fps", + FPSMaxLimit.FPS30 => "30fps", + FPSMaxLimit.FPS20 => "20fps", + FPSMaxLimit.FPS10 => "10fps", + _ => "", + }; + } + + internal static float GetRate(this FPSMaxLimit fpsMaxLimit) + { + return fpsMaxLimit switch + { + FPSMaxLimit.FPS40 => 1f, + FPSMaxLimit.FPS30 => 0.75f, + FPSMaxLimit.FPS20 => 0.5f, + FPSMaxLimit.FPS10 => 0.25f, + _ => 1f, + }; + } + + internal static bool TryParse([NotNullWhen(true)] string? value, out FPSMaxLimit result) + { + FPSMaxLimit? nullableResult = value switch + { + "40fps" => FPSMaxLimit.FPS40, + "30fps" => FPSMaxLimit.FPS30, + "20fps" => FPSMaxLimit.FPS20, + "10fps" => FPSMaxLimit.FPS10, + _ => null, + }; + + if (nullableResult is FPSMaxLimit nonNullableResult) + { + result = nonNullableResult; + return true; + } + else + { + result = FPSMaxLimit.FPS40; + return false; + } + } + } +} diff --git a/RunCat365/FlatTrackBar.cs b/RunCat365/FlatTrackBar.cs new file mode 100644 index 0000000..364180a --- /dev/null +++ b/RunCat365/FlatTrackBar.cs @@ -0,0 +1,179 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using System.ComponentModel; +using System.Drawing.Drawing2D; + +namespace RunCat365 +{ + internal sealed class FlatTrackBar : Control + { + private int minimum = 1; + private int maximum = 10; + private int currentValue = 5; + private bool dragging; + + internal event EventHandler? ValueChanged; + + [DefaultValue(1)] + internal int Minimum + { + get => minimum; + set + { + minimum = value; + if (currentValue < minimum) Value = minimum; + Invalidate(); + } + } + + [DefaultValue(10)] + internal int Maximum + { + get => maximum; + set + { + maximum = value; + if (currentValue > maximum) Value = maximum; + Invalidate(); + } + } + + [DefaultValue(5)] + internal int Value + { + get => currentValue; + set + { + var clamped = Math.Clamp(value, minimum, maximum); + if (currentValue == clamped) return; + currentValue = clamped; + Invalidate(); + ValueChanged?.Invoke(this, EventArgs.Empty); + } + } + + internal Color TrackColor { get; set; } = Color.FromArgb(110, 110, 110); + internal Color TrackFilledColor { get; set; } = Color.FromArgb(180, 180, 180); + internal Color ThumbColor { get; set; } = Color.FromArgb(70, 120, 200); + internal Color ThumbBorderColor { get; set; } = Color.FromArgb(140, 170, 220); + + internal int TrackThickness { get; set; } = 3; + internal int ThumbWidth { get; set; } = 12; + internal int ThumbHeight { get; set; } = 18; + + public FlatTrackBar() + { + SetStyle( + ControlStyles.AllPaintingInWmPaint | + ControlStyles.OptimizedDoubleBuffer | + ControlStyles.UserPaint | + ControlStyles.SupportsTransparentBackColor | + ControlStyles.ResizeRedraw, + true); + BackColor = Color.Transparent; + Height = 24; + Cursor = Cursors.Hand; + } + + private Rectangle GetTrackRectangle() + { + var halfThumb = ThumbWidth / 2; + var trackY = (Height - TrackThickness) / 2; + return new Rectangle(halfThumb, trackY, Math.Max(0, Width - ThumbWidth), TrackThickness); + } + + private int GetThumbCenterX() + { + var range = Math.Max(1, maximum - minimum); + var ratio = (float)(currentValue - minimum) / range; + var trackWidth = Math.Max(0, Width - ThumbWidth); + return ThumbWidth / 2 + (int)(trackWidth * ratio); + } + + protected override void OnPaint(PaintEventArgs e) + { + e.Graphics.SmoothingMode = SmoothingMode.AntiAlias; + + var track = GetTrackRectangle(); + var thumbCenterX = GetThumbCenterX(); + + using var trackBrush = new SolidBrush(TrackColor); + e.Graphics.FillRectangle(trackBrush, track); + + var filledRect = new Rectangle(track.X, track.Y, thumbCenterX - track.X, track.Height); + if (filledRect.Width > 0) + { + using var filledBrush = new SolidBrush(TrackFilledColor); + e.Graphics.FillRectangle(filledBrush, filledRect); + } + + var thumbRect = new Rectangle( + thumbCenterX - ThumbWidth / 2, + (Height - ThumbHeight) / 2, + ThumbWidth, + ThumbHeight); + using var thumbBrush = new SolidBrush(ThumbColor); + using var thumbPen = new Pen(ThumbBorderColor); + e.Graphics.FillRectangle(thumbBrush, thumbRect); + e.Graphics.DrawRectangle(thumbPen, thumbRect.X, thumbRect.Y, thumbRect.Width - 1, thumbRect.Height - 1); + } + + protected override void OnMouseDown(MouseEventArgs e) + { + base.OnMouseDown(e); + if (e.Button != MouseButtons.Left) return; + dragging = true; + UpdateValueFromMouseX(e.X); + Focus(); + } + + protected override void OnMouseMove(MouseEventArgs e) + { + base.OnMouseMove(e); + if (!dragging) return; + UpdateValueFromMouseX(e.X); + } + + protected override void OnMouseUp(MouseEventArgs e) + { + base.OnMouseUp(e); + dragging = false; + } + + protected override void OnKeyDown(KeyEventArgs e) + { + base.OnKeyDown(e); + if (e.KeyCode == Keys.Left || e.KeyCode == Keys.Down) + { + Value = currentValue - 1; + e.Handled = true; + } + else if (e.KeyCode == Keys.Right || e.KeyCode == Keys.Up) + { + Value = currentValue + 1; + e.Handled = true; + } + } + + private void UpdateValueFromMouseX(int x) + { + var trackWidth = Math.Max(1, Width - ThumbWidth); + var relativeX = Math.Clamp(x - ThumbWidth / 2, 0, trackWidth); + var ratio = (float)relativeX / trackWidth; + var newValue = minimum + (int)Math.Round(ratio * (maximum - minimum)); + Value = newValue; + } + } +} diff --git a/RunCat365/FrameAnimationView.cs b/RunCat365/FrameAnimationView.cs new file mode 100644 index 0000000..169a51e --- /dev/null +++ b/RunCat365/FrameAnimationView.cs @@ -0,0 +1,123 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using System.ComponentModel; +using System.Drawing.Drawing2D; + +namespace RunCat365 +{ + internal sealed class FrameAnimationView : Control + { + private readonly System.Threading.Timer timer; + private IReadOnlyList<Bitmap> frames = []; + private int currentFrame = 0; + private int intervalMs = 100; + private volatile bool running = false; + + internal FrameAnimationView() + { + SetStyle( + ControlStyles.AllPaintingInWmPaint | + ControlStyles.OptimizedDoubleBuffer | + ControlStyles.UserPaint | + ControlStyles.ResizeRedraw, + true); + timer = new System.Threading.Timer(OnTimerTick, null, Timeout.Infinite, Timeout.Infinite); + } + + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] + internal int FrameIntervalMs + { + get => intervalMs; + set => intervalMs = Math.Max(1, value); + } + + internal void SetFrames(IReadOnlyList<Bitmap> newFrames) + { + frames = newFrames; + currentFrame = 0; + Invalidate(); + if (frames.Count > 1) + { + running = true; + timer.Change(intervalMs, Timeout.Infinite); + } + else + { + running = false; + timer.Change(Timeout.Infinite, Timeout.Infinite); + } + } + + internal void Clear() + { + running = false; + timer.Change(Timeout.Infinite, Timeout.Infinite); + frames = []; + currentFrame = 0; + Invalidate(); + } + + private void OnTimerTick(object? state) + { + if (!running) return; + if (IsDisposed || !IsHandleCreated) return; + try + { + BeginInvoke(AdvanceFrame); + } + catch (Exception ex) when (ex is InvalidOperationException or ObjectDisposedException) + { + return; + } + if (running) timer.Change(intervalMs, Timeout.Infinite); + } + + private void AdvanceFrame() + { + if (!running || frames.Count < 2) return; + currentFrame = (currentFrame + 1) % frames.Count; + Invalidate(); + } + + protected override void OnPaint(PaintEventArgs e) + { + e.Graphics.Clear(BackColor); + if (frames.Count == 0 || currentFrame >= frames.Count) return; + + var frame = frames[currentFrame]; + e.Graphics.InterpolationMode = InterpolationMode.NearestNeighbor; + e.Graphics.PixelOffsetMode = PixelOffsetMode.Half; + + var scale = Math.Min( + (float)ClientSize.Width / frame.Width, + (float)ClientSize.Height / frame.Height); + var width = (int)(frame.Width * scale); + var height = (int)(frame.Height * scale); + var x = (ClientSize.Width - width) / 2; + var y = (ClientSize.Height - height) / 2; + e.Graphics.DrawImage(frame, x, y, width, height); + } + + protected override void Dispose(bool disposing) + { + if (disposing) + { + running = false; + timer.Dispose(); + } + base.Dispose(disposing); + } + } +} diff --git a/RunCat365/GPURepository.cs b/RunCat365/GPURepository.cs new file mode 100644 index 0000000..b06f2aa --- /dev/null +++ b/RunCat365/GPURepository.cs @@ -0,0 +1,122 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using RunCat365.Properties; + +namespace RunCat365 +{ + struct GPUInfo + { + internal float Average { get; set; } + internal float Maximum { get; set; } + } + + internal static class GPUInfoExtension + { + internal static string GetDescription(this GPUInfo gpuInfo) + { + return $"{Strings.SystemInfo_GPU}: {gpuInfo.Maximum:f1}%"; + } + + internal static List<string> GenerateIndicator(this GPUInfo gpuInfo) + { + var resultLines = new List<string> + { + TreeFormatter.CreateRoot($"{Strings.SystemInfo_GPU}:"), + TreeFormatter.CreateNode($"{Strings.SystemInfo_Average}: {gpuInfo.Average:f1}%", false), + TreeFormatter.CreateNode($"{Strings.SystemInfo_Maximum}: {gpuInfo.Maximum:f1}%", true) + }; + return resultLines; + } + } + + internal sealed class GPUPerformanceCounters : InstancedPerformanceCounters + { + private const string ENGINE_TYPE_FILTER = "engtype_3D"; + + protected override string CategoryName => "GPU Engine"; + protected override string CounterName => "Utilization Percentage"; + + protected override bool ShouldIncludeInstance(string instanceName) + { + return instanceName.Contains(ENGINE_TYPE_FILTER, StringComparison.Ordinal); + } + + internal static GPUPerformanceCounters? TryCreate() + { + var instance = new GPUPerformanceCounters(); + return instance.TryInitialize() ? instance : null; + } + } + + internal class GPURepository + { + private const int GPU_INFO_LIST_LIMIT_SIZE = 5; + private const int REFRESH_INTERVAL_TICKS = 30; + + private readonly GPUPerformanceCounters? counters; + private readonly List<GPUInfo> gpuInfoList = []; + private int ticksSinceLastRefresh; + + internal bool IsAvailable => counters is not null; + + internal GPURepository() + { + counters = GPUPerformanceCounters.TryCreate(); + } + + internal void Update() + { + if (counters is null) return; + + ticksSinceLastRefresh += 1; + if (REFRESH_INTERVAL_TICKS <= ticksSinceLastRefresh) + { + ticksSinceLastRefresh = 0; + counters.RefreshInstances(); + } + + var values = counters.ReadValues(); + if (values.Count == 0) return; + + var gpuInfo = new GPUInfo + { + Average = Math.Min(100, values.Average()), + Maximum = Math.Min(100, values.Max()) + }; + + gpuInfoList.Add(gpuInfo); + if (GPU_INFO_LIST_LIMIT_SIZE < gpuInfoList.Count) + { + gpuInfoList.RemoveAt(0); + } + } + + internal GPUInfo? Get() + { + if (counters is null || gpuInfoList.Count == 0) return null; + + return new GPUInfo + { + Average = gpuInfoList.Average(x => x.Average), + Maximum = gpuInfoList.Max(x => x.Maximum) + }; + } + + internal void Close() + { + counters?.Close(); + } + } +} diff --git a/RunCat365/GameStatus.cs b/RunCat365/GameStatus.cs new file mode 100644 index 0000000..22e489d --- /dev/null +++ b/RunCat365/GameStatus.cs @@ -0,0 +1,23 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +namespace RunCat365 +{ + internal enum GameStatus + { + NewGame, + Playing, + GameOver + } +} diff --git a/RunCat365/InstancedPerformanceCounters.cs b/RunCat365/InstancedPerformanceCounters.cs new file mode 100644 index 0000000..3b72c5e --- /dev/null +++ b/RunCat365/InstancedPerformanceCounters.cs @@ -0,0 +1,130 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using System.Diagnostics; + +namespace RunCat365 +{ + internal abstract class InstancedPerformanceCounters + { + private readonly Dictionary<string, PerformanceCounter> countersByInstance = []; + + protected abstract string CategoryName { get; } + protected abstract string CounterName { get; } + + protected virtual bool ShouldIncludeInstance(string instanceName) => true; + + internal int Count => countersByInstance.Count; + + protected bool TryInitialize() + { + try + { + _ = new PerformanceCounterCategory(CategoryName); + } + catch + { + return false; + } + + RefreshInstances(); + return Count != 0; + } + + internal void RefreshInstances() + { + string[] currentInstanceNames; + try + { + var category = new PerformanceCounterCategory(CategoryName); + currentInstanceNames = category.GetInstanceNames() + .Where(ShouldIncludeInstance) + .ToArray(); + } + catch (Exception exception) when (IsExpectedCounterException(exception)) + { + Debug.WriteLine($"{GetType().Name}.RefreshInstances failed: {exception.Message}"); + return; + } + + var currentSet = new HashSet<string>(currentInstanceNames, StringComparer.Ordinal); + var staleInstances = countersByInstance.Keys + .Where(name => !currentSet.Contains(name)) + .ToList(); + foreach (var instanceName in staleInstances) + { + countersByInstance[instanceName].Close(); + countersByInstance.Remove(instanceName); + } + + foreach (var instanceName in currentInstanceNames) + { + if (countersByInstance.ContainsKey(instanceName)) continue; + PerformanceCounter? counter = null; + try + { + counter = new PerformanceCounter(CategoryName, CounterName, instanceName); + _ = counter.NextValue(); + countersByInstance[instanceName] = counter; + counter = null; + } + catch (Exception exception) when (IsExpectedCounterException(exception)) + { + Debug.WriteLine($"{GetType().Name}: failed to create counter for {instanceName}: {exception.Message}"); + } + finally + { + counter?.Close(); + } + } + } + + internal List<float> ReadValues() + { + var values = new List<float>(countersByInstance.Count); + var deadInstances = new List<string>(); + foreach (var pair in countersByInstance) + { + try + { + values.Add(pair.Value.NextValue()); + } + catch (Exception exception) when (IsExpectedCounterException(exception)) + { + Debug.WriteLine($"{GetType().Name}: counter {pair.Key} failed: {exception.Message}"); + deadInstances.Add(pair.Key); + } + } + foreach (var instanceName in deadInstances) + { + countersByInstance[instanceName].Close(); + countersByInstance.Remove(instanceName); + } + return values; + } + + internal void Close() + { + foreach (var counter in countersByInstance.Values) counter.Close(); + countersByInstance.Clear(); + } + + private static bool IsExpectedCounterException(Exception exception) + { + return exception is InvalidOperationException + or System.ComponentModel.Win32Exception + or UnauthorizedAccessException; + } + } +} diff --git a/RunCat365/LaunchAtStartupManager.cs b/RunCat365/LaunchAtStartupManager.cs new file mode 100644 index 0000000..a11fbfb --- /dev/null +++ b/RunCat365/LaunchAtStartupManager.cs @@ -0,0 +1,137 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using Microsoft.Win32; +using Windows.ApplicationModel; + +namespace RunCat365 +{ + internal interface ILaunchAtStartupManager + { + bool GetEnabled(); + bool Toggle(bool currentlyEnabled); + } + + internal sealed class PackagedLaunchAtStartupManager : ILaunchAtStartupManager + { + private static StartupTask? startupTask; + + public bool GetEnabled() + { + startupTask ??= Task.Run(async () => await StartupTask.GetAsync("RunCatStartup")).Result; + if (startupTask is null) return false; + if (startupTask.State == StartupTaskState.Enabled) return true; + return false; + } + + public bool Toggle(bool currentlyEnabled) + { + startupTask ??= Task.Run(async () => await StartupTask.GetAsync("RunCatStartup")).Result; + if (currentlyEnabled) + { + if (startupTask.State == StartupTaskState.Enabled) startupTask.Disable(); + return true; + } + else + { + switch (startupTask.State) + { + case StartupTaskState.Enabled: + return true; + case StartupTaskState.Disabled: + var newStartupState = Task.Run(async () => await startupTask.RequestEnableAsync()).Result; + if (newStartupState == StartupTaskState.Enabled) + { + return true; + } + else + { + throw new InvalidOperationException("Launch at Startup could not be activated."); + } + case StartupTaskState.DisabledByUser: + throw new InvalidOperationException("Launch at startup was disabled by the user, enable it in Task Manager > Startup, search RunCat 365 and enable it."); + case StartupTaskState.DisabledByPolicy: + throw new InvalidOperationException("Launch at startup was disabled by policy."); + default: + return false; + } + } + } + } + + internal sealed class UnpackagedLaunchAtStartupManager : ILaunchAtStartupManager + { + public bool GetEnabled() + { + var keyName = @"Software\Microsoft\Windows\CurrentVersion\Run"; + using var rKey = Registry.CurrentUser.OpenSubKey(keyName); + if (rKey is null) return false; + var value = (rKey.GetValue(Application.ProductName) is not null); + rKey.Close(); + return value; + } + + public bool Toggle(bool currentlyEnabled) + { + var productName = Application.ProductName; + if (productName is null) return false; + var keyName = @"Software\Microsoft\Windows\CurrentVersion\Run"; + using var rKey = Registry.CurrentUser.OpenSubKey(keyName, true); + if (rKey is null) return false; + if (currentlyEnabled) + { + rKey.DeleteValue(productName, false); + } + else + { + var fileName = Environment.ProcessPath; + if (fileName is not null) + { + rKey.SetValue(productName, fileName); + } + } + rKey.Close(); + return true; + } + } + + internal class LaunchAtStartupManager + { + private readonly ILaunchAtStartupManager launchAtStartupManager; + + public LaunchAtStartupManager() + { + launchAtStartupManager = IsRunningAsPackaged() + ? new PackagedLaunchAtStartupManager() + : new UnpackagedLaunchAtStartupManager(); + } + + public bool GetStartup() => launchAtStartupManager.GetEnabled(); + + public bool ToggleStartup(bool currentlyEnabled) => launchAtStartupManager.Toggle(currentlyEnabled); + + private static bool IsRunningAsPackaged() + { + try + { + _ = Package.Current; + return true; + } + catch (InvalidOperationException) + { + return false; + } + } + } +} diff --git a/RunCat365/MemoryRepository.cs b/RunCat365/MemoryRepository.cs new file mode 100644 index 0000000..060bbae --- /dev/null +++ b/RunCat365/MemoryRepository.cs @@ -0,0 +1,94 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using RunCat365.Properties; +using System.Runtime.InteropServices; + +namespace RunCat365 +{ + struct MemoryInfo + { + internal uint MemoryLoad { get; set; } + internal long TotalMemory { get; set; } + internal long AvailableMemory { get; set; } + internal long UsedMemory { get; set; } + } + + internal static class MemoryInfoExtension + { + internal static string GetDescription(this MemoryInfo memoryInfo) + { + return $"{Strings.SystemInfo_Memory}: {memoryInfo.MemoryLoad}%"; + } + + internal static List<string> GenerateIndicator(this MemoryInfo memoryInfo) + { + var resultLines = new List<string> + { + TreeFormatter.CreateRoot($"{Strings.SystemInfo_Memory}: {memoryInfo.MemoryLoad}%"), + TreeFormatter.CreateNode($"{Strings.SystemInfo_Total}: {memoryInfo.TotalMemory.ToByteFormatted()}", false), + TreeFormatter.CreateNode($"{Strings.SystemInfo_Used}: {memoryInfo.UsedMemory.ToByteFormatted()}", false), + TreeFormatter.CreateNode($"{Strings.SystemInfo_Available}: {memoryInfo.AvailableMemory.ToByteFormatted()}", true) + }; + return resultLines; + } + } + + internal partial class MemoryRepository + { + private MemoryInfo memoryInfo; + + internal MemoryRepository() + { + memoryInfo = new MemoryInfo(); + } + + internal void Update() + { + var memStatus = new MemoryStatusEx(); + memStatus.dwLength = (uint)Marshal.SizeOf(memStatus); + + if (GlobalMemoryStatusEx(ref memStatus)) + { + memoryInfo.MemoryLoad = memStatus.dwMemoryLoad; + memoryInfo.TotalMemory = (long)memStatus.ullTotalPhys; + memoryInfo.AvailableMemory = (long)memStatus.ullAvailPhys; + memoryInfo.UsedMemory = (long)(memStatus.ullTotalPhys - memStatus.ullAvailPhys); + } + } + + internal MemoryInfo Get() + { + return memoryInfo; + } + + [StructLayout(LayoutKind.Sequential)] + internal struct MemoryStatusEx + { + public uint dwLength; + public uint dwMemoryLoad; + public ulong ullTotalPhys; + public ulong ullAvailPhys; + public ulong ullTotalPageFile; + public ulong ullAvailPageFile; + public ulong ullTotalVirtual; + public ulong ullAvailVirtual; + public ulong ullAvailExtendedVirtual; + } + + [LibraryImport("kernel32.dll", SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static partial bool GlobalMemoryStatusEx(ref MemoryStatusEx lpBuffer); + } +} diff --git a/RunCat365/NetworkRepository.cs b/RunCat365/NetworkRepository.cs new file mode 100644 index 0000000..59833cc --- /dev/null +++ b/RunCat365/NetworkRepository.cs @@ -0,0 +1,122 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using RunCat365.Properties; +using System.Net.NetworkInformation; + +namespace RunCat365 +{ + struct NetworkInfo + { + internal float SentSpeed { get; set; } + internal float ReceivedSpeed { get; set; } + } + + internal static class NetworkInfoExtension + { + internal static List<string> GenerateIndicator(this NetworkInfo networkInfo) + { + return [ + TreeFormatter.CreateRoot($"{Strings.SystemInfo_Network}:"), + TreeFormatter.CreateNode($"{Strings.SystemInfo_Sent}: {FormatSpeed(networkInfo.SentSpeed)}", false), + TreeFormatter.CreateNode($"{Strings.SystemInfo_Received}: {FormatSpeed(networkInfo.ReceivedSpeed)}", true) + ]; + } + + private static string FormatSpeed(float speedBytes) + { + return ((long)speedBytes).ToByteFormatted() + "/s"; + } + } + + internal class NetworkRepository + { + private readonly NetworkInterface? networkInterface; + private long lastSent; + private long lastReceived; + private DateTime lastUpdate; + private NetworkInfo? networkInfo; + + internal bool IsAvailable => networkInterface is not null; + + internal NetworkRepository() + { + networkInterface = GetActiveNetworkInterface(); + if (networkInterface is null) return; + var stats = networkInterface.GetIPStatistics(); + lastSent = stats.BytesSent; + lastReceived = stats.BytesReceived; + lastUpdate = DateTime.UtcNow; + } + + private static NetworkInterface? GetActiveNetworkInterface() + { + try + { + var interfaces = NetworkInterface.GetAllNetworkInterfaces(); + return interfaces.FirstOrDefault(IsValidNetworkInterface); + } + catch (NetworkInformationException) + { + return null; + } + } + + private static bool IsValidNetworkInterface(NetworkInterface networkInterface) + { + if (networkInterface.NetworkInterfaceType == NetworkInterfaceType.Loopback) return false; + if (networkInterface.NetworkInterfaceType == NetworkInterfaceType.Tunnel) return false; + if (networkInterface.OperationalStatus != OperationalStatus.Up) return false; + + var description = networkInterface.Description.ToLower(); + if (description.Contains("vpn")) return false; + if (description.Contains("tap")) return false; + if (description.Contains("virtual")) return false; + if (description.Contains("tun")) return false; + + return true; + } + + internal void Update() + { + if (networkInterface is null) return; + try + { + var stats = networkInterface.GetIPStatistics(); + var now = DateTime.UtcNow; + var elapsedSec = (now - lastUpdate).TotalSeconds; + if (elapsedSec > 0) + { + networkInfo = new NetworkInfo + { + SentSpeed = (float)((stats.BytesSent - lastSent) / elapsedSec), + ReceivedSpeed = (float)((stats.BytesReceived - lastReceived) / elapsedSec) + }; + } + lastSent = stats.BytesSent; + lastReceived = stats.BytesReceived; + lastUpdate = now; + } + catch (NetworkInformationException) + { + networkInfo = null; + } + } + + internal NetworkInfo? Get() + { + return networkInfo; + } + } +} diff --git a/RunCat365/Program.cs b/RunCat365/Program.cs new file mode 100644 index 0000000..85931c4 --- /dev/null +++ b/RunCat365/Program.cs @@ -0,0 +1,404 @@ +// Copyright 2020 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using Microsoft.Win32; +using RunCat365.Properties; +using System.Diagnostics; +using System.Globalization; +using FormsTimer = System.Windows.Forms.Timer; + +namespace RunCat365 +{ + internal static class Program + { + [STAThread] + static void Main() + { +#if DEBUG + var defaultCultureInfo = SupportedLanguage.English.GetDefaultCultureInfo(); +#else + var defaultCultureInfo = SupportedLanguageExtension.GetCurrentLanguage().GetDefaultCultureInfo(); +#endif + CultureInfo.CurrentUICulture = defaultCultureInfo; + CultureInfo.CurrentCulture = defaultCultureInfo; + + using var procMutex = new Mutex(true, "_RUNCAT_MUTEX", out var result); + if (!result) return; + + try + { + ApplicationConfiguration.Initialize(); + Application.SetColorMode(SystemColorMode.System); + Application.Run(new RunCat365ApplicationContext()); + } + finally + { + procMutex?.ReleaseMutex(); + } + } + } + + internal class RunCat365ApplicationContext : ApplicationContext + { + private const int FETCH_TIMER_DEFAULT_INTERVAL = 1000; + private const int FETCH_COUNTER_SIZE = 5; + private const int ANIMATE_TIMER_DEFAULT_INTERVAL = 200; + private readonly CPURepository cpuRepository; + private readonly GPURepository gpuRepository; + private readonly MemoryRepository memoryRepository; + private readonly TemperatureRepository temperatureRepository; + private readonly StorageRepository storageRepository; + private readonly NetworkRepository networkRepository; + private readonly CustomRunnerRepository customRunnerRepository; + private readonly LaunchAtStartupManager launchAtStartupManager; + private readonly ContextMenuManager contextMenuManager; + private readonly FormsTimer fetchTimer; + private readonly FormsTimer animateTimer; + private Runner runner = Runner.Cat; + private Theme manualTheme = Theme.System; + private TemperatureUnit temperatureUnit = TemperatureUnit.System; + private FPSMaxLimit fpsMaxLimit = FPSMaxLimit.FPS40; + private SpeedSource speedSource = SpeedSource.CPU; + private string? customRunnerName; + private int fetchCounter = 5; + private bool isFetching; + + public RunCat365ApplicationContext() + { + UserSettings.Default.Reload(); + _ = Enum.TryParse(UserSettings.Default.Runner, out runner); + _ = Enum.TryParse(UserSettings.Default.Theme, out manualTheme); + _ = Enum.TryParse(UserSettings.Default.TemperatureUnit, out temperatureUnit); + _ = Enum.TryParse(UserSettings.Default.FPSMaxLimit, out fpsMaxLimit); + _ = Enum.TryParse(UserSettings.Default.SpeedSource, out speedSource); + customRunnerName = string.IsNullOrEmpty(UserSettings.Default.CustomRunnerName) + ? null + : UserSettings.Default.CustomRunnerName; + + SystemEvents.UserPreferenceChanged += new UserPreferenceChangedEventHandler(UserPreferenceChanged); + + cpuRepository = new CPURepository(); + gpuRepository = new GPURepository(); + memoryRepository = new MemoryRepository(); + temperatureRepository = new TemperatureRepository(); + storageRepository = new StorageRepository(); + networkRepository = new NetworkRepository(); + customRunnerRepository = new CustomRunnerRepository(); + launchAtStartupManager = new LaunchAtStartupManager(); + + ResolveSpeedSource(); + + contextMenuManager = new ContextMenuManager( + () => runner, + r => ChangeRunner(r), + customRunnerRepository, + () => customRunnerName, + name => ApplyCustomRunner(name), + deletedName => HandleCustomRunnerDeleted(deletedName), + () => GetSystemTheme(), + () => manualTheme, + t => ChangeManualTheme(t), + () => speedSource, + s => ChangeSpeedSource(s), + s => IsSpeedSourceAvailable(s), + () => fpsMaxLimit, + f => ChangeFPSMaxLimit(f), + () => temperatureUnit, + u => ChangeTemperatureUnit(u), + () => launchAtStartupManager.GetStartup(), + s => launchAtStartupManager.ToggleStartup(s), + () => OpenProjectPage(), + () => Application.Exit() + ); + + if (customRunnerName is not null) + { + ApplyCustomRunner(customRunnerName); + } + + animateTimer = new FormsTimer + { + Interval = ANIMATE_TIMER_DEFAULT_INTERVAL + }; + animateTimer.Tick += new EventHandler(AnimationTick); + animateTimer.Start(); + + fetchTimer = new FormsTimer + { + Interval = FETCH_TIMER_DEFAULT_INTERVAL + }; + fetchTimer.Tick += new EventHandler(FetchTick); + fetchTimer.Start(); + + ShowBalloonTipIfNeeded(); + } + + private static Theme GetSystemTheme() + { + var keyName = @"Software\Microsoft\Windows\CurrentVersion\Themes\Personalize"; + using var rKey = Registry.CurrentUser.OpenSubKey(keyName); + if (rKey is null) return Theme.Light; + var value = rKey.GetValue("SystemUsesLightTheme"); + if (value is null) return Theme.Light; + return (int)value == 0 ? Theme.Dark : Theme.Light; + } + + private bool IsSpeedSourceAvailable(SpeedSource speedSource) + { + return speedSource switch + { + SpeedSource.CPU => true, + SpeedSource.GPU => gpuRepository.IsAvailable, + SpeedSource.Memory => true, + _ => false, + }; + } + + private void ResolveSpeedSource() + { + if (!IsSpeedSourceAvailable(speedSource)) + { + ChangeSpeedSource(SpeedSource.CPU); + } + } + + private void ShowBalloonTipIfNeeded() + { + if (!cpuRepository.IsAvailable) + { + contextMenuManager.ShowBalloonTip(BalloonTipType.CPUInfoUnavailable); + } + else if (UserSettings.Default.FirstLaunch) + { + contextMenuManager.ShowBalloonTip(BalloonTipType.AppLaunched); + UserSettings.Default.FirstLaunch = false; + UserSettings.Default.Save(); + } + } + + private void UserPreferenceChanged(object sender, UserPreferenceChangedEventArgs e) + { + if (e.Category != UserPreferenceCategory.General) return; + var systemTheme = GetSystemTheme(); + if (contextMenuManager.HasActiveCustomIcons) + { + contextMenuManager.RecolorActiveCustomIcons(systemTheme, manualTheme); + } + else + { + contextMenuManager.SetIcons(systemTheme, manualTheme, runner); + } + } + + private static void OpenProjectPage() + { + try + { + Process.Start(new ProcessStartInfo() + { + FileName = "https://github.com/runcat-dev/RunCat365", + UseShellExecute = true + }); + } + catch (Exception e) + { + Console.WriteLine($"Error: {e.Message}"); + } + } + + private void ChangeRunner(Runner r) + { + runner = r; + customRunnerName = null; + UserSettings.Default.Runner = runner.ToString(); + UserSettings.Default.CustomRunnerName = string.Empty; + UserSettings.Default.Save(); + } + + private void ApplyCustomRunner(string name) + { + var frames = customRunnerRepository.LoadFrames(name); + if (frames.Count == 0) return; + customRunnerName = name; + UserSettings.Default.CustomRunnerName = name; + UserSettings.Default.Save(); + contextMenuManager.SetCustomIcons(frames, GetSystemTheme(), manualTheme); + foreach (var frame in frames) frame.Dispose(); + } + + private void RevertToBuiltInRunner() + { + customRunnerName = null; + UserSettings.Default.CustomRunnerName = string.Empty; + UserSettings.Default.Save(); + contextMenuManager.SetIcons(GetSystemTheme(), manualTheme, runner); + } + + private void HandleCustomRunnerDeleted(string deletedName) + { + if (!string.Equals(customRunnerName, deletedName, StringComparison.OrdinalIgnoreCase)) return; + RevertToBuiltInRunner(); + } + + private void ChangeManualTheme(Theme t) + { + manualTheme = t; + UserSettings.Default.Theme = manualTheme.ToString(); + UserSettings.Default.Save(); + } + + private void ChangeTemperatureUnit(TemperatureUnit u) + { + temperatureUnit = u; + UserSettings.Default.TemperatureUnit = temperatureUnit.ToString(); + UserSettings.Default.Save(); + } + + private void ChangeSpeedSource(SpeedSource s) + { + speedSource = s; + UserSettings.Default.SpeedSource = speedSource.ToString(); + UserSettings.Default.Save(); + } + + private void ChangeFPSMaxLimit(FPSMaxLimit f) + { + fpsMaxLimit = f; + UserSettings.Default.FPSMaxLimit = fpsMaxLimit.ToString(); + UserSettings.Default.Save(); + } + + private void AnimationTick(object? sender, EventArgs e) + { + contextMenuManager.AdvanceFrame(); + } + + private string GetInfoDescription(CPUInfo cpuInfo, GPUInfo? gpuInfo, MemoryInfo memoryInfo, TemperatureInfo? temperatureInfo) + { + var baseDescription = speedSource switch + { + SpeedSource.CPU => cpuInfo.GetDescription(), + SpeedSource.GPU => gpuInfo?.GetDescription() ?? "", + SpeedSource.Memory => memoryInfo.GetDescription(), + _ => "", + }; + + var temperatureDescription = temperatureInfo?.GetDescription(temperatureUnit) ?? ""; + return string.IsNullOrEmpty(temperatureDescription) ? baseDescription : $"{baseDescription}\n{temperatureDescription}"; + } + + private int CalculateInterval(CPUInfo cpuInfo, GPUInfo? gpuInfo, MemoryInfo memoryInfo) + { + var load = speedSource switch + { + SpeedSource.CPU => cpuInfo.Total, + SpeedSource.GPU => gpuInfo?.Maximum ?? 0f, + SpeedSource.Memory => memoryInfo.MemoryLoad, + _ => 0f, + }; + var speed = (float)Math.Max(1.0f, (load / 5.0f) * fpsMaxLimit.GetRate()); + return (int)(500.0f / speed); + } + + private int FetchSystemInfo() + { + var cpuInfo = cpuRepository.Get(); + var gpuInfo = gpuRepository.Get(); + var memoryInfo = memoryRepository.Get(); + var temperatureInfo = temperatureRepository.Get(); + var storageInfo = storageRepository.Get(); + var networkInfo = networkRepository.Get(); + + contextMenuManager.SetNotifyIconText(GetInfoDescription(cpuInfo, gpuInfo, memoryInfo, temperatureInfo)); + + var systemInfoValues = new List<string>(); + systemInfoValues.AddRange(cpuInfo.GenerateIndicator()); + if (gpuInfo.HasValue) + { + systemInfoValues.AddRange(gpuInfo.Value.GenerateIndicator()); + } + systemInfoValues.AddRange(memoryInfo.GenerateIndicator()); + if (temperatureInfo.HasValue) + { + systemInfoValues.AddRange(temperatureInfo.Value.GenerateIndicator(temperatureUnit)); + } + systemInfoValues.AddRange(storageInfo.GenerateIndicator()); + if (networkInfo.HasValue) + { + systemInfoValues.AddRange(networkInfo.Value.GenerateIndicator()); + } + contextMenuManager.SetSystemInfoMenuText(string.Join("\n", [.. systemInfoValues])); + + return CalculateInterval(cpuInfo, gpuInfo, memoryInfo); + } + + private async void FetchTick(object? sender, EventArgs e) + { + if (isFetching) return; + isFetching = true; + try + { + var doHeavySlice = await Task.Run(() => + { + cpuRepository.Update(); + gpuRepository.Update(); + fetchCounter += 1; + if (fetchCounter < FETCH_COUNTER_SIZE) return false; + fetchCounter = 0; + temperatureRepository.Update(); + memoryRepository.Update(); + storageRepository.Update(); + networkRepository.Update(); + return true; + }); + + if (!doHeavySlice) return; + + var interval = FetchSystemInfo(); + animateTimer.Stop(); + animateTimer.Interval = interval; + animateTimer.Start(); + } + catch (Exception exception) + { + Console.WriteLine($"FetchTick failed: {exception.Message}"); + } + finally + { + isFetching = false; + } + } + + protected override void Dispose(bool disposing) + { + if (disposing) + { + SystemEvents.UserPreferenceChanged -= UserPreferenceChanged; + + animateTimer?.Stop(); + animateTimer?.Dispose(); + fetchTimer?.Stop(); + fetchTimer?.Dispose(); + + cpuRepository?.Close(); + gpuRepository?.Close(); + temperatureRepository?.Close(); + + contextMenuManager?.HideNotifyIcon(); + contextMenuManager?.Dispose(); + } + base.Dispose(disposing); + } + } +} diff --git a/RunCat365/Properties/Resources.Designer.cs b/RunCat365/Properties/Resources.Designer.cs new file mode 100644 index 0000000..452fc83 --- /dev/null +++ b/RunCat365/Properties/Resources.Designer.cs @@ -0,0 +1,483 @@ +//------------------------------------------------------------------------------ +// <auto-generated> +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// </auto-generated> +//------------------------------------------------------------------------------ + +namespace RunCat365.Properties { + using System; + + + /// <summary> + /// A strongly-typed resource class, for looking up localized strings, etc. + /// </summary> + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "18.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// <summary> + /// Returns the cached ResourceManager instance used by this class. + /// </summary> + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("RunCat365.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// <summary> + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// </summary> + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). + /// </summary> + internal static System.Drawing.Icon AppIcon { + get { + object obj = ResourceManager.GetObject("AppIcon", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap cat_0 { + get { + object obj = ResourceManager.GetObject("cat_0", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap cat_1 { + get { + object obj = ResourceManager.GetObject("cat_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap cat_2 { + get { + object obj = ResourceManager.GetObject("cat_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap cat_3 { + get { + object obj = ResourceManager.GetObject("cat_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap cat_4 { + get { + object obj = ResourceManager.GetObject("cat_4", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap cat_jumping_0 { + get { + object obj = ResourceManager.GetObject("cat_jumping_0", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap cat_jumping_1 { + get { + object obj = ResourceManager.GetObject("cat_jumping_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap cat_jumping_2 { + get { + object obj = ResourceManager.GetObject("cat_jumping_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap cat_jumping_3 { + get { + object obj = ResourceManager.GetObject("cat_jumping_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap cat_jumping_4 { + get { + object obj = ResourceManager.GetObject("cat_jumping_4", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap cat_jumping_5 { + get { + object obj = ResourceManager.GetObject("cat_jumping_5", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap cat_jumping_6 { + get { + object obj = ResourceManager.GetObject("cat_jumping_6", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap cat_jumping_7 { + get { + object obj = ResourceManager.GetObject("cat_jumping_7", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap cat_jumping_8 { + get { + object obj = ResourceManager.GetObject("cat_jumping_8", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap cat_jumping_9 { + get { + object obj = ResourceManager.GetObject("cat_jumping_9", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap cat_running_0 { + get { + object obj = ResourceManager.GetObject("cat_running_0", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap cat_running_1 { + get { + object obj = ResourceManager.GetObject("cat_running_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap cat_running_2 { + get { + object obj = ResourceManager.GetObject("cat_running_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap cat_running_3 { + get { + object obj = ResourceManager.GetObject("cat_running_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap cat_running_4 { + get { + object obj = ResourceManager.GetObject("cat_running_4", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap horse_0 { + get { + object obj = ResourceManager.GetObject("horse_0", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap horse_1 { + get { + object obj = ResourceManager.GetObject("horse_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap horse_2 { + get { + object obj = ResourceManager.GetObject("horse_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap horse_3 { + get { + object obj = ResourceManager.GetObject("horse_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap horse_4 { + get { + object obj = ResourceManager.GetObject("horse_4", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap parrot_0 { + get { + object obj = ResourceManager.GetObject("parrot_0", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap parrot_1 { + get { + object obj = ResourceManager.GetObject("parrot_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap parrot_2 { + get { + object obj = ResourceManager.GetObject("parrot_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap parrot_3 { + get { + object obj = ResourceManager.GetObject("parrot_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap parrot_4 { + get { + object obj = ResourceManager.GetObject("parrot_4", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap parrot_5 { + get { + object obj = ResourceManager.GetObject("parrot_5", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap parrot_6 { + get { + object obj = ResourceManager.GetObject("parrot_6", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap parrot_7 { + get { + object obj = ResourceManager.GetObject("parrot_7", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap parrot_8 { + get { + object obj = ResourceManager.GetObject("parrot_8", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap parrot_9 { + get { + object obj = ResourceManager.GetObject("parrot_9", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap road_crater { + get { + object obj = ResourceManager.GetObject("road_crater", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap road_flat { + get { + object obj = ResourceManager.GetObject("road_flat", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap road_hill { + get { + object obj = ResourceManager.GetObject("road_hill", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap road_sprout { + get { + object obj = ResourceManager.GetObject("road_sprout", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap slider_rabbit { + get { + object obj = ResourceManager.GetObject("slider_rabbit", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> + internal static System.Drawing.Bitmap slider_turtle { + get { + object obj = ResourceManager.GetObject("slider_turtle", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/RunCat365/Properties/Resources.resx b/RunCat365/Properties/Resources.resx new file mode 100644 index 0000000..2820e2e --- /dev/null +++ b/RunCat365/Properties/Resources.resx @@ -0,0 +1,247 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> + <data name="AppIcon" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\app_icon.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="cat_jumping_0" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\game\cat_jumping_0.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="cat_jumping_1" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\game\cat_jumping_1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="cat_jumping_2" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\game\cat_jumping_2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="cat_jumping_3" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\game\cat_jumping_3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="cat_jumping_4" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\game\cat_jumping_4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="cat_jumping_5" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\game\cat_jumping_5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="cat_jumping_6" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\game\cat_jumping_6.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="cat_jumping_7" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\game\cat_jumping_7.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="cat_jumping_8" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\game\cat_jumping_8.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="cat_jumping_9" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\game\cat_jumping_9.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="cat_running_0" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\game\cat_running_0.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="cat_running_1" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\game\cat_running_1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="cat_running_2" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\game\cat_running_2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="cat_running_3" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\game\cat_running_3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="cat_running_4" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\game\cat_running_4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="road_crater" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\game\road_crater.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="road_flat" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\game\road_flat.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="road_hill" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\game\road_hill.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="road_sprout" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\game\road_sprout.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="cat_0" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\runners\cat\cat_0.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="cat_1" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\runners\cat\cat_1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="cat_2" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\runners\cat\cat_2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="cat_3" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\runners\cat\cat_3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="cat_4" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\runners\cat\cat_4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="horse_0" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\runners\horse\horse_0.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="horse_1" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\runners\horse\horse_1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="horse_2" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\runners\horse\horse_2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="horse_3" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\runners\horse\horse_3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="horse_4" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\runners\horse\horse_4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="parrot_0" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\runners\parrot\parrot_0.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="parrot_1" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\runners\parrot\parrot_1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="parrot_2" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\runners\parrot\parrot_2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="parrot_3" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\runners\parrot\parrot_3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="parrot_4" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\runners\parrot\parrot_4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="parrot_5" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\runners\parrot\parrot_5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="parrot_6" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\runners\parrot\parrot_6.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="parrot_7" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\runners\parrot\parrot_7.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="parrot_8" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\runners\parrot\parrot_8.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="parrot_9" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\runners\parrot\parrot_9.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="slider_rabbit" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\rabbit.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="slider_turtle" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\resources\turtle.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> +</root> \ No newline at end of file diff --git a/RunCat365/Properties/Strings.Designer.cs b/RunCat365/Properties/Strings.Designer.cs new file mode 100644 index 0000000..3b8db2c --- /dev/null +++ b/RunCat365/Properties/Strings.Designer.cs @@ -0,0 +1,531 @@ +//------------------------------------------------------------------------------ +// <auto-generated> +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// </auto-generated> +//------------------------------------------------------------------------------ + +namespace RunCat365.Properties { + using System; + + + /// <summary> + /// A strongly-typed resource class, for looking up localized strings, etc. + /// </summary> + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Strings { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Strings() { + } + + /// <summary> + /// Returns the cached ResourceManager instance used by this class. + /// </summary> + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("RunCat365.Properties.Strings", typeof(Strings).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// <summary> + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// </summary> + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// <summary> + /// Looks up a localized string similar to GAME OVER. + /// </summary> + internal static string Game_GameOver { + get { + return ResourceManager.GetString("Game_GameOver", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Press space to play.. + /// </summary> + internal static string Game_PressSpaceToPlay { + get { + return ResourceManager.GetString("Game_PressSpaceToPlay", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to New Record. + /// </summary> + internal static string Game_NewRecord + { + get + { + return ResourceManager.GetString("Game_NewRecord", resourceCulture); + } + } + /// <summary> + /// Looks up a localized string similar to Endless Game. + /// </summary> + internal static string Menu_EndlessGame { + get { + return ResourceManager.GetString("Menu_EndlessGame", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Exit. + /// </summary> + internal static string Menu_Exit { + get { + return ResourceManager.GetString("Menu_Exit", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to FPS Max Limit. + /// </summary> + internal static string Menu_FPSMaxLimit { + get { + return ResourceManager.GetString("Menu_FPSMaxLimit", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Information. + /// </summary> + internal static string Menu_Information { + get { + return ResourceManager.GetString("Menu_Information", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Launch at startup. + /// </summary> + internal static string Menu_LaunchAtStartup { + get { + return ResourceManager.GetString("Menu_LaunchAtStartup", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Open Project Page. + /// </summary> + internal static string Menu_OpenProjectPage { + get { + return ResourceManager.GetString("Menu_OpenProjectPage", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Runner. + /// </summary> + internal static string Menu_Runner { + get { + return ResourceManager.GetString("Menu_Runner", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Settings. + /// </summary> + internal static string Menu_Settings { + get { + return ResourceManager.GetString("Menu_Settings", resourceCulture); + } + } + + internal static string Menu_SpeedSource { + get { + return ResourceManager.GetString("Menu_SpeedSource", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Theme. + /// </summary> + internal static string Menu_Theme { + get { + return ResourceManager.GetString("Menu_Theme", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to App has launched. If the icon is not on the taskbar, it has been omitted, so please move it manually and pin it.. + /// </summary> + internal static string Message_AppLaunched { + get { + return ResourceManager.GetString("Message_AppLaunched", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Failed to get CPU usage. Unable to update running speed.. + /// </summary> + internal static string Message_CPUUsageUnavailable { + get { + return ResourceManager.GetString("Message_CPUUsageUnavailable", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Warning. + /// </summary> + internal static string Message_Warning { + get { + return ResourceManager.GetString("Message_Warning", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Cat. + /// </summary> + internal static string Runner_Cat { + get { + return ResourceManager.GetString("Runner_Cat", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Horse. + /// </summary> + internal static string Runner_Horse { + get { + return ResourceManager.GetString("Runner_Horse", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Parrot. + /// </summary> + internal static string Runner_Parrot { + get { + return ResourceManager.GetString("Runner_Parrot", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Dark. + /// </summary> + internal static string Theme_Dark { + get { + return ResourceManager.GetString("Theme_Dark", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Light. + /// </summary> + internal static string Theme_Light { + get { + return ResourceManager.GetString("Theme_Light", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to System. + /// </summary> + internal static string Theme_System { + get { + return ResourceManager.GetString("Theme_System", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Endless Game. + /// </summary> + internal static string Window_EndlessGame { + get { + return ResourceManager.GetString("Window_EndlessGame", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to CPU. + /// </summary> + internal static string SystemInfo_CPU { + get { + return ResourceManager.GetString("SystemInfo_CPU", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to User. + /// </summary> + internal static string SystemInfo_User { + get { + return ResourceManager.GetString("SystemInfo_User", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Kernel. + /// </summary> + internal static string SystemInfo_Kernel { + get { + return ResourceManager.GetString("SystemInfo_Kernel", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Available. + /// </summary> + internal static string SystemInfo_Available { + get { + return ResourceManager.GetString("SystemInfo_Available", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Memory. + /// </summary> + internal static string SystemInfo_Memory { + get { + return ResourceManager.GetString("SystemInfo_Memory", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Total. + /// </summary> + internal static string SystemInfo_Total { + get { + return ResourceManager.GetString("SystemInfo_Total", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Used. + /// </summary> + internal static string SystemInfo_Used { + get { + return ResourceManager.GetString("SystemInfo_Used", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Storage. + /// </summary> + internal static string SystemInfo_Storage { + get { + return ResourceManager.GetString("SystemInfo_Storage", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to C Drive. + /// </summary> + internal static string SystemInfo_DriveC { + get { + return ResourceManager.GetString("SystemInfo_DriveC", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to D Drive. + /// </summary> + internal static string SystemInfo_DriveD { + get { + return ResourceManager.GetString("SystemInfo_DriveD", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Network. + /// </summary> + internal static string SystemInfo_Network { + get { + return ResourceManager.GetString("SystemInfo_Network", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Sent. + /// </summary> + internal static string SystemInfo_Sent { + get { + return ResourceManager.GetString("SystemInfo_Sent", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Received. + /// </summary> + internal static string SystemInfo_Received { + get { + return ResourceManager.GetString("SystemInfo_Received", resourceCulture); + } + } + + internal static string SystemInfo_GPU { + get { + return ResourceManager.GetString("SystemInfo_GPU", resourceCulture); + } + } + + internal static string SystemInfo_Average { + get { + return ResourceManager.GetString("SystemInfo_Average", resourceCulture); + } + } + + internal static string SystemInfo_Maximum { + get { + return ResourceManager.GetString("SystemInfo_Maximum", resourceCulture); + } + } + + internal static string SystemInfo_Temperature { + get { + return ResourceManager.GetString("SystemInfo_Temperature", resourceCulture); + } + } + + internal static string SystemInfo_TemperatureCelsiusFormat { + get { + return ResourceManager.GetString("SystemInfo_TemperatureCelsiusFormat", resourceCulture); + } + } + + internal static string SystemInfo_TemperatureFahrenheitFormat { + get { + return ResourceManager.GetString("SystemInfo_TemperatureFahrenheitFormat", resourceCulture); + } + } + + internal static string Menu_CustomRunners { + get { + return ResourceManager.GetString("Menu_CustomRunners", resourceCulture); + } + } + + internal static string Window_CustomRunners { + get { + return ResourceManager.GetString("Window_CustomRunners", resourceCulture); + } + } + + internal static string CustomRunner_AddedRunners { + get { + return ResourceManager.GetString("CustomRunner_AddedRunners", resourceCulture); + } + } + + internal static string CustomRunner_Name { + get { + return ResourceManager.GetString("CustomRunner_Name", resourceCulture); + } + } + + internal static string CustomRunner_AddFrames { + get { + return ResourceManager.GetString("CustomRunner_AddFrames", resourceCulture); + } + } + + internal static string CustomRunner_RemoveFrame { + get { + return ResourceManager.GetString("CustomRunner_RemoveFrame", resourceCulture); + } + } + + internal static string CustomRunner_Save { + get { + return ResourceManager.GetString("CustomRunner_Save", resourceCulture); + } + } + + internal static string CustomRunner_Delete { + get { + return ResourceManager.GetString("CustomRunner_Delete", resourceCulture); + } + } + + internal static string CustomRunner_Requirements { + get { + return ResourceManager.GetString("CustomRunner_Requirements", resourceCulture); + } + } + + internal static string CustomRunner_ConfirmOverwrite { + get { + return ResourceManager.GetString("CustomRunner_ConfirmOverwrite", resourceCulture); + } + } + + internal static string CustomRunner_ConfirmDelete { + get { + return ResourceManager.GetString("CustomRunner_ConfirmDelete", resourceCulture); + } + } + + internal static string CustomRunner_RequirementsLabel { + get { + return ResourceManager.GetString("CustomRunner_RequirementsLabel", resourceCulture); + } + } + + internal static string CustomRunner_FramesLabel { + get { + return ResourceManager.GetString("CustomRunner_FramesLabel", resourceCulture); + } + } + + internal static string CustomRunner_Preview { + get { + return ResourceManager.GetString("CustomRunner_Preview", resourceCulture); + } + } + + internal static string CustomRunner_PreviewSpeed { + get { + return ResourceManager.GetString("CustomRunner_PreviewSpeed", resourceCulture); + } + } + + internal static string Menu_TemperatureUnit { + get { + return ResourceManager.GetString("Menu_TemperatureUnit", resourceCulture); + } + } + + internal static string TemperatureUnit_System { + get { + return ResourceManager.GetString("TemperatureUnit_System", resourceCulture); + } + } + + internal static string TemperatureUnit_Celsius { + get { + return ResourceManager.GetString("TemperatureUnit_Celsius", resourceCulture); + } + } + + internal static string TemperatureUnit_Fahrenheit { + get { + return ResourceManager.GetString("TemperatureUnit_Fahrenheit", resourceCulture); + } + } + } +} diff --git a/RunCat365/Properties/Strings.de.resx b/RunCat365/Properties/Strings.de.resx new file mode 100644 index 0000000..41a13c4 --- /dev/null +++ b/RunCat365/Properties/Strings.de.resx @@ -0,0 +1,303 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="Menu_Runner" xml:space="preserve"> + <value>Läufer</value> + </data> + <data name="Menu_Theme" xml:space="preserve"> + <value>Design</value> + </data> + <data name="Menu_FPSMaxLimit" xml:space="preserve"> + <value>FPS-Maximallimit</value> + </data> + <data name="Menu_LaunchAtStartup" xml:space="preserve"> + <value>Beim Start ausführen</value> + </data> + <data name="Menu_Settings" xml:space="preserve"> + <value>Einstellungen</value> + </data> + <data name="Menu_EndlessGame" xml:space="preserve"> + <value>Endlosspiel</value> + </data> + <data name="Menu_Information" xml:space="preserve"> + <value>Information</value> + </data> + <data name="Menu_OpenProjectPage" xml:space="preserve"> + <value>Projektseite öffnen</value> + </data> + <data name="Menu_Exit" xml:space="preserve"> + <value>Beenden</value> + </data> + <data name="Theme_System" xml:space="preserve"> + <value>System</value> + </data> + <data name="Theme_Light" xml:space="preserve"> + <value>Hell</value> + </data> + <data name="Theme_Dark" xml:space="preserve"> + <value>Dunkel</value> + </data> + <data name="Menu_TemperatureUnit" xml:space="preserve"> + <value>Temperatureinheit</value> + </data> + <data name="TemperatureUnit_System" xml:space="preserve"> + <value>System</value> + </data> + <data name="TemperatureUnit_Celsius" xml:space="preserve"> + <value>Celsius</value> + </data> + <data name="TemperatureUnit_Fahrenheit" xml:space="preserve"> + <value>Fahrenheit</value> + </data> + <data name="Runner_Cat" xml:space="preserve"> + <value>Katze</value> + </data> + <data name="Runner_Parrot" xml:space="preserve"> + <value>Papagei</value> + </data> + <data name="Runner_Horse" xml:space="preserve"> + <value>Pferd</value> + </data> + <data name="Message_AppLaunched" xml:space="preserve"> + <value>Die App wurde gestartet. Wenn das Symbol nicht in der Taskleiste angezeigt wird, wurde es ausgeblendet. Bitte verschieben Sie es manuell und heften Sie es an.</value> + </data> + <data name="Message_Warning" xml:space="preserve"> + <value>Warnung</value> + </data> + <data name="Window_EndlessGame" xml:space="preserve"> + <value>Endlosspiel</value> + </data> + <data name="Game_PressSpaceToPlay" xml:space="preserve"> + <value>Leertaste drücken zum Spielen.</value> + </data> + <data name="Game_GameOver" xml:space="preserve"> + <value>SPIEL VORBEI</value> + </data> + <data name="SystemInfo_CPU" xml:space="preserve"> + <value>CPU</value> + </data> + <data name="SystemInfo_User" xml:space="preserve"> + <value>Benutzer</value> + </data> + <data name="SystemInfo_Kernel" xml:space="preserve"> + <value>Kernel</value> + </data> + <data name="SystemInfo_Available" xml:space="preserve"> + <value>Verfügbar</value> + </data> + <data name="SystemInfo_GPU" xml:space="preserve"> + <value>GPU</value> + </data> + <data name="SystemInfo_Average" xml:space="preserve"> + <value>Durchschnitt</value> + </data> + <data name="SystemInfo_Maximum" xml:space="preserve"> + <value>Maximum</value> + </data> + <data name="SystemInfo_Memory" xml:space="preserve"> + <value>Arbeitsspeicher</value> + </data> + <data name="SystemInfo_Total" xml:space="preserve"> + <value>Gesamt</value> + </data> + <data name="SystemInfo_Used" xml:space="preserve"> + <value>Verwendet</value> + </data> + <data name="SystemInfo_Storage" xml:space="preserve"> + <value>Speicher</value> + </data> + <data name="SystemInfo_DriveC" xml:space="preserve"> + <value>Laufwerk C</value> + </data> + <data name="SystemInfo_DriveD" xml:space="preserve"> + <value>Laufwerk D</value> + </data> + <data name="SystemInfo_Network" xml:space="preserve"> + <value>Netzwerk</value> + </data> + <data name="SystemInfo_Sent" xml:space="preserve"> + <value>Gesendet</value> + </data> + <data name="SystemInfo_Received" xml:space="preserve"> + <value>Empfangen</value> + </data> + <data name="Message_CPUUsageUnavailable" xml:space="preserve"> + <value>CPU-Auslastung konnte nicht abgerufen werden. Die Laufgeschwindigkeit kann nicht aktualisiert werden.</value> + </data> + <data name="Menu_SpeedSource" xml:space="preserve"> + <value>Geschwindigkeit basierend auf</value> + </data> + <data name="Game_NewRecord" xml:space="preserve"> + <value>Neuer Rekord</value> + </data> + <data name="SystemInfo_Temperature" xml:space="preserve"> + <value>Temperatur</value> + </data> + <data name="SystemInfo_TemperatureCelsiusFormat" xml:space="preserve"> + <value>{0:f1}°C</value> + </data> + <data name="SystemInfo_TemperatureFahrenheitFormat" xml:space="preserve"> + <value>{0:f1}°F</value> + </data> + <data name="Menu_CustomRunners" xml:space="preserve"> + <value>Benutzerdefinierte Runner...</value> + </data> + <data name="Window_CustomRunners" xml:space="preserve"> + <value>Benutzerdefinierte Runner</value> + </data> + <data name="CustomRunner_AddedRunners" xml:space="preserve"> + <value>Benutzerdefinierte Runner:</value> + </data> + <data name="CustomRunner_Name" xml:space="preserve"> + <value>Runner-Name:</value> + </data> + <data name="CustomRunner_AddFrames" xml:space="preserve"> + <value>Frames hinzufügen...</value> + </data> + <data name="CustomRunner_RemoveFrame" xml:space="preserve"> + <value>Frame entfernen</value> + </data> + <data name="CustomRunner_Save" xml:space="preserve"> + <value>Speichern</value> + </data> + <data name="CustomRunner_Delete" xml:space="preserve"> + <value>Entfernen</value> + </data> + <data name="CustomRunner_Requirements" xml:space="preserve"> + <value>Format: PNG | Max Abmessungen: 32x32px</value> + </data> + <data name="CustomRunner_ConfirmOverwrite" xml:space="preserve"> + <value>Ein Runner mit diesem Namen existiert bereits. Überschreiben?</value> + </data> + <data name="CustomRunner_ConfirmDelete" xml:space="preserve"> + <value>Runner "{0}" löschen?</value> + </data> + <data name="CustomRunner_RequirementsLabel" xml:space="preserve"> + <value>Anforderungen:</value> + </data> + <data name="CustomRunner_FramesLabel" xml:space="preserve"> + <value>Frames:</value> + </data> + <data name="CustomRunner_Preview" xml:space="preserve"> + <value>Vorschau:</value> + </data> + <data name="CustomRunner_PreviewSpeed" xml:space="preserve"> + <value>Vorschaugeschwindigkeit:</value> + </data> +</root> \ No newline at end of file diff --git a/RunCat365/Properties/Strings.es.resx b/RunCat365/Properties/Strings.es.resx new file mode 100644 index 0000000..2e16b4f --- /dev/null +++ b/RunCat365/Properties/Strings.es.resx @@ -0,0 +1,303 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="Menu_Runner" xml:space="preserve"> + <value>Corredor</value> + </data> + <data name="Menu_Theme" xml:space="preserve"> + <value>Tema</value> + </data> + <data name="Menu_FPSMaxLimit" xml:space="preserve"> + <value>Límite Máximo de FPS</value> + </data> + <data name="Menu_LaunchAtStartup" xml:space="preserve"> + <value>Ejecutar al inicio</value> + </data> + <data name="Menu_Settings" xml:space="preserve"> + <value>Ajustes</value> + </data> + <data name="Menu_EndlessGame" xml:space="preserve"> + <value>Juego Sin Fin</value> + </data> + <data name="Menu_Information" xml:space="preserve"> + <value>Información</value> + </data> + <data name="Menu_OpenProjectPage" xml:space="preserve"> + <value>Abrir página del proyecto</value> + </data> + <data name="Menu_Exit" xml:space="preserve"> + <value>Salir</value> + </data> + <data name="Theme_System" xml:space="preserve"> + <value>Sistema</value> + </data> + <data name="Theme_Light" xml:space="preserve"> + <value>Claro</value> + </data> + <data name="Theme_Dark" xml:space="preserve"> + <value>Oscuro</value> + </data> + <data name="Menu_TemperatureUnit" xml:space="preserve"> + <value>Unidad de temperatura</value> + </data> + <data name="TemperatureUnit_System" xml:space="preserve"> + <value>Sistema</value> + </data> + <data name="TemperatureUnit_Celsius" xml:space="preserve"> + <value>Celsius</value> + </data> + <data name="TemperatureUnit_Fahrenheit" xml:space="preserve"> + <value>Fahrenheit</value> + </data> + <data name="Runner_Cat" xml:space="preserve"> + <value>Gato</value> + </data> + <data name="Runner_Parrot" xml:space="preserve"> + <value>Loro</value> + </data> + <data name="Runner_Horse" xml:space="preserve"> + <value>Caballo</value> + </data> + <data name="Message_AppLaunched" xml:space="preserve"> + <value>La aplicación se ha iniciado. Si el ícono no aparece en la barra de tareas, puede estar oculto; por favor muévelo manualmente y fíjalo.</value> + </data> + <data name="Message_Warning" xml:space="preserve"> + <value>Advertencia</value> + </data> + <data name="Window_EndlessGame" xml:space="preserve"> + <value>Juego Sin Fin</value> + </data> + <data name="Game_PressSpaceToPlay" xml:space="preserve"> + <value>Presiona espacio para jugar.</value> + </data> + <data name="Game_GameOver" xml:space="preserve"> + <value>FIN DEL JUEGO</value> + </data> + <data name="SystemInfo_CPU" xml:space="preserve"> + <value>CPU</value> + </data> + <data name="SystemInfo_User" xml:space="preserve"> + <value>Usuario</value> + </data> + <data name="SystemInfo_Kernel" xml:space="preserve"> + <value>Núcleo</value> + </data> + <data name="SystemInfo_Available" xml:space="preserve"> + <value>Disponible</value> + </data> + <data name="SystemInfo_GPU" xml:space="preserve"> + <value>GPU</value> + </data> + <data name="SystemInfo_Average" xml:space="preserve"> + <value>Promedio</value> + </data> + <data name="SystemInfo_Maximum" xml:space="preserve"> + <value>Máximo</value> + </data> + <data name="SystemInfo_Memory" xml:space="preserve"> + <value>Memoria</value> + </data> + <data name="SystemInfo_Total" xml:space="preserve"> + <value>Total</value> + </data> + <data name="SystemInfo_Used" xml:space="preserve"> + <value>Usado</value> + </data> + <data name="SystemInfo_Storage" xml:space="preserve"> + <value>Almacenamiento</value> + </data> + <data name="SystemInfo_DriveC" xml:space="preserve"> + <value>Disco C</value> + </data> + <data name="SystemInfo_DriveD" xml:space="preserve"> + <value>Disco D</value> + </data> + <data name="SystemInfo_Network" xml:space="preserve"> + <value>Red</value> + </data> + <data name="SystemInfo_Sent" xml:space="preserve"> + <value>Enviado</value> + </data> + <data name="SystemInfo_Received" xml:space="preserve"> + <value>Recibido</value> + </data> + <data name="Message_CPUUsageUnavailable" xml:space="preserve"> + <value>No se pudo obtener el uso de la CPU. No es posible actualizar la velocidad del corredor.</value> + </data> + <data name="Menu_SpeedSource" xml:space="preserve"> + <value>Velocidad basada en</value> + </data> + <data name="Game_NewRecord" xml:space="preserve"> + <value>Nuevo Récord</value> + </data> + <data name="SystemInfo_Temperature" xml:space="preserve"> + <value>Temperatura</value> + </data> + <data name="SystemInfo_TemperatureCelsiusFormat" xml:space="preserve"> + <value>{0:f1}°C</value> + </data> + <data name="SystemInfo_TemperatureFahrenheitFormat" xml:space="preserve"> + <value>{0:f1}°F</value> + </data> + <data name="Menu_CustomRunners" xml:space="preserve"> + <value>Runners personalizados...</value> + </data> + <data name="Window_CustomRunners" xml:space="preserve"> + <value>Runners personalizados</value> + </data> + <data name="CustomRunner_AddedRunners" xml:space="preserve"> + <value>Runners personalizados:</value> + </data> + <data name="CustomRunner_Name" xml:space="preserve"> + <value>Nombre del runner:</value> + </data> + <data name="CustomRunner_AddFrames" xml:space="preserve"> + <value>Añadir fotogramas...</value> + </data> + <data name="CustomRunner_RemoveFrame" xml:space="preserve"> + <value>Eliminar fotograma</value> + </data> + <data name="CustomRunner_Save" xml:space="preserve"> + <value>Guardar</value> + </data> + <data name="CustomRunner_Delete" xml:space="preserve"> + <value>Eliminar</value> + </data> + <data name="CustomRunner_Requirements" xml:space="preserve"> + <value>Formato: PNG | Dimensiones máx: 32x32px</value> + </data> + <data name="CustomRunner_ConfirmOverwrite" xml:space="preserve"> + <value>Ya existe un runner con este nombre. ¿Sobrescribir?</value> + </data> + <data name="CustomRunner_ConfirmDelete" xml:space="preserve"> + <value>¿Eliminar runner "{0}"?</value> + </data> + <data name="CustomRunner_RequirementsLabel" xml:space="preserve"> + <value>Requisitos:</value> + </data> + <data name="CustomRunner_FramesLabel" xml:space="preserve"> + <value>Fotogramas:</value> + </data> + <data name="CustomRunner_Preview" xml:space="preserve"> + <value>Vista previa:</value> + </data> + <data name="CustomRunner_PreviewSpeed" xml:space="preserve"> + <value>Velocidad de vista previa:</value> + </data> +</root> \ No newline at end of file diff --git a/RunCat365/Properties/Strings.fr.resx b/RunCat365/Properties/Strings.fr.resx new file mode 100644 index 0000000..eb9a23c --- /dev/null +++ b/RunCat365/Properties/Strings.fr.resx @@ -0,0 +1,303 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="Menu_Runner" xml:space="preserve"> + <value>Coureur</value> + </data> + <data name="Menu_Theme" xml:space="preserve"> + <value>Thème</value> + </data> + <data name="Menu_FPSMaxLimit" xml:space="preserve"> + <value>Limite FPS maximale</value> + </data> + <data name="Menu_LaunchAtStartup" xml:space="preserve"> + <value>Lancer au démarrage</value> + </data> + <data name="Menu_Settings" xml:space="preserve"> + <value>Paramètres</value> + </data> + <data name="Menu_EndlessGame" xml:space="preserve"> + <value>Jeu sans fin</value> + </data> + <data name="Menu_Information" xml:space="preserve"> + <value>Informations</value> + </data> + <data name="Menu_OpenProjectPage" xml:space="preserve"> + <value>Ouvrir la page du projet</value> + </data> + <data name="Menu_Exit" xml:space="preserve"> + <value>Quitter</value> + </data> + <data name="Theme_System" xml:space="preserve"> + <value>Système</value> + </data> + <data name="Theme_Light" xml:space="preserve"> + <value>Clair</value> + </data> + <data name="Theme_Dark" xml:space="preserve"> + <value>Sombre</value> + </data> + <data name="Menu_TemperatureUnit" xml:space="preserve"> + <value>Unité de température</value> + </data> + <data name="TemperatureUnit_System" xml:space="preserve"> + <value>Système</value> + </data> + <data name="TemperatureUnit_Celsius" xml:space="preserve"> + <value>Celsius</value> + </data> + <data name="TemperatureUnit_Fahrenheit" xml:space="preserve"> + <value>Fahrenheit</value> + </data> + <data name="Runner_Cat" xml:space="preserve"> + <value>Chat</value> + </data> + <data name="Runner_Parrot" xml:space="preserve"> + <value>Perroquet</value> + </data> + <data name="Runner_Horse" xml:space="preserve"> + <value>Cheval</value> + </data> + <data name="Message_AppLaunched" xml:space="preserve"> + <value>L'application a démarré. Si l'icône n'apparaît pas dans la barre des tâches, elle a peut-être été masquée ; veuillez la déplacer manuellement et l'épingler.</value> + </data> + <data name="Message_Warning" xml:space="preserve"> + <value>Avertissement</value> + </data> + <data name="Window_EndlessGame" xml:space="preserve"> + <value>Jeu sans fin</value> + </data> + <data name="Game_PressSpaceToPlay" xml:space="preserve"> + <value>Appuyez sur espace pour jouer.</value> + </data> + <data name="Game_GameOver" xml:space="preserve"> + <value>GAME OVER</value> + </data> + <data name="SystemInfo_CPU" xml:space="preserve"> + <value>CPU</value> + </data> + <data name="SystemInfo_User" xml:space="preserve"> + <value>Utilisateur</value> + </data> + <data name="SystemInfo_Kernel" xml:space="preserve"> + <value>Noyau</value> + </data> + <data name="SystemInfo_Available" xml:space="preserve"> + <value>Disponible</value> + </data> + <data name="SystemInfo_GPU" xml:space="preserve"> + <value>GPU</value> + </data> + <data name="SystemInfo_Average" xml:space="preserve"> + <value>Moyenne</value> + </data> + <data name="SystemInfo_Maximum" xml:space="preserve"> + <value>Maximum</value> + </data> + <data name="SystemInfo_Memory" xml:space="preserve"> + <value>Mémoire</value> + </data> + <data name="SystemInfo_Total" xml:space="preserve"> + <value>Total</value> + </data> + <data name="SystemInfo_Used" xml:space="preserve"> + <value>Utilisé</value> + </data> + <data name="SystemInfo_Storage" xml:space="preserve"> + <value>Stockage</value> + </data> + <data name="SystemInfo_DriveC" xml:space="preserve"> + <value>Disque C</value> + </data> + <data name="SystemInfo_DriveD" xml:space="preserve"> + <value>Disque D</value> + </data> + <data name="SystemInfo_Network" xml:space="preserve"> + <value>Réseau</value> + </data> + <data name="SystemInfo_Sent" xml:space="preserve"> + <value>Envoyé</value> + </data> + <data name="SystemInfo_Received" xml:space="preserve"> + <value>Reçu</value> + </data> + <data name="Message_CPUUsageUnavailable" xml:space="preserve"> + <value>Impossible d'obtenir l'utilisation du CPU. Impossible de mettre à jour la vitesse du coureur.</value> + </data> + <data name="Menu_SpeedSource" xml:space="preserve"> + <value>Vitesse basée sur</value> + </data> + <data name="Game_NewRecord" xml:space="preserve"> + <value>Nouveau record</value> + </data> + <data name="SystemInfo_Temperature" xml:space="preserve"> + <value>Température</value> + </data> + <data name="SystemInfo_TemperatureCelsiusFormat" xml:space="preserve"> + <value>{0:f1}°C</value> + </data> + <data name="SystemInfo_TemperatureFahrenheitFormat" xml:space="preserve"> + <value>{0:f1}°F</value> + </data> + <data name="Menu_CustomRunners" xml:space="preserve"> + <value>Runners personnalisés...</value> + </data> + <data name="Window_CustomRunners" xml:space="preserve"> + <value>Runners personnalisés</value> + </data> + <data name="CustomRunner_AddedRunners" xml:space="preserve"> + <value>Runners personnalisés :</value> + </data> + <data name="CustomRunner_Name" xml:space="preserve"> + <value>Nom du runner :</value> + </data> + <data name="CustomRunner_AddFrames" xml:space="preserve"> + <value>Ajouter des images...</value> + </data> + <data name="CustomRunner_RemoveFrame" xml:space="preserve"> + <value>Supprimer l'image</value> + </data> + <data name="CustomRunner_Save" xml:space="preserve"> + <value>Enregistrer</value> + </data> + <data name="CustomRunner_Delete" xml:space="preserve"> + <value>Supprimer</value> + </data> + <data name="CustomRunner_Requirements" xml:space="preserve"> + <value>Format : PNG | Dimensions max : 32x32px</value> + </data> + <data name="CustomRunner_ConfirmOverwrite" xml:space="preserve"> + <value>Un runner avec ce nom existe déjà. Écraser ?</value> + </data> + <data name="CustomRunner_ConfirmDelete" xml:space="preserve"> + <value>Supprimer le runner « {0} » ?</value> + </data> + <data name="CustomRunner_RequirementsLabel" xml:space="preserve"> + <value>Exigences :</value> + </data> + <data name="CustomRunner_FramesLabel" xml:space="preserve"> + <value>Images :</value> + </data> + <data name="CustomRunner_Preview" xml:space="preserve"> + <value>Aperçu :</value> + </data> + <data name="CustomRunner_PreviewSpeed" xml:space="preserve"> + <value>Vitesse d'aperçu :</value> + </data> +</root> \ No newline at end of file diff --git a/RunCat365/Properties/Strings.ja.resx b/RunCat365/Properties/Strings.ja.resx new file mode 100644 index 0000000..12b8e56 --- /dev/null +++ b/RunCat365/Properties/Strings.ja.resx @@ -0,0 +1,303 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="Menu_Runner" xml:space="preserve"> + <value>ランナー</value> + </data> + <data name="Menu_Theme" xml:space="preserve"> + <value>テーマ</value> + </data> + <data name="Menu_FPSMaxLimit" xml:space="preserve"> + <value>FPSの上限</value> + </data> + <data name="Menu_LaunchAtStartup" xml:space="preserve"> + <value>スタートアップ時に起動</value> + </data> + <data name="Menu_Settings" xml:space="preserve"> + <value>設定</value> + </data> + <data name="Menu_EndlessGame" xml:space="preserve"> + <value>エンドレスゲーム</value> + </data> + <data name="Menu_Information" xml:space="preserve"> + <value>情報</value> + </data> + <data name="Menu_OpenProjectPage" xml:space="preserve"> + <value>プロジェクトページを開く</value> + </data> + <data name="Menu_Exit" xml:space="preserve"> + <value>終了</value> + </data> + <data name="Theme_System" xml:space="preserve"> + <value>システム</value> + </data> + <data name="Theme_Light" xml:space="preserve"> + <value>ライト</value> + </data> + <data name="Theme_Dark" xml:space="preserve"> + <value>ダーク</value> + </data> + <data name="Menu_TemperatureUnit" xml:space="preserve"> + <value>温度単位</value> + </data> + <data name="TemperatureUnit_System" xml:space="preserve"> + <value>システム</value> + </data> + <data name="TemperatureUnit_Celsius" xml:space="preserve"> + <value>摂氏</value> + </data> + <data name="TemperatureUnit_Fahrenheit" xml:space="preserve"> + <value>華氏</value> + </data> + <data name="Runner_Cat" xml:space="preserve"> + <value>ネコ</value> + </data> + <data name="Runner_Parrot" xml:space="preserve"> + <value>オウム</value> + </data> + <data name="Runner_Horse" xml:space="preserve"> + <value>早馬</value> + </data> + <data name="Message_AppLaunched" xml:space="preserve"> + <value>アプリが起動しました。タスクバーにアイコンが表示されていない場合は、省略されているので手動で移動してピン留めしてください。</value> + </data> + <data name="Message_Warning" xml:space="preserve"> + <value>警告</value> + </data> + <data name="Window_EndlessGame" xml:space="preserve"> + <value>エンドレスゲーム</value> + </data> + <data name="Game_PressSpaceToPlay" xml:space="preserve"> + <value>スペースキーでスタート</value> + </data> + <data name="Game_GameOver" xml:space="preserve"> + <value>ゲームオーバー</value> + </data> + <data name="SystemInfo_CPU" xml:space="preserve"> + <value>CPU</value> + </data> + <data name="SystemInfo_User" xml:space="preserve"> + <value>ユーザー</value> + </data> + <data name="SystemInfo_Kernel" xml:space="preserve"> + <value>カーネル</value> + </data> + <data name="SystemInfo_Available" xml:space="preserve"> + <value>使用可能</value> + </data> + <data name="SystemInfo_GPU" xml:space="preserve"> + <value>GPU</value> + </data> + <data name="SystemInfo_Average" xml:space="preserve"> + <value>平均</value> + </data> + <data name="SystemInfo_Maximum" xml:space="preserve"> + <value>最大</value> + </data> + <data name="SystemInfo_Memory" xml:space="preserve"> + <value>メモリ</value> + </data> + <data name="SystemInfo_Total" xml:space="preserve"> + <value>合計</value> + </data> + <data name="SystemInfo_Used" xml:space="preserve"> + <value>使用中</value> + </data> + <data name="SystemInfo_Storage" xml:space="preserve"> + <value>ストレージ</value> + </data> + <data name="SystemInfo_DriveC" xml:space="preserve"> + <value>Cドライブ</value> + </data> + <data name="SystemInfo_DriveD" xml:space="preserve"> + <value>Dドライブ</value> + </data> + <data name="SystemInfo_Network" xml:space="preserve"> + <value>ネットワーク</value> + </data> + <data name="SystemInfo_Sent" xml:space="preserve"> + <value>送信</value> + </data> + <data name="SystemInfo_Received" xml:space="preserve"> + <value>受信</value> + </data> + <data name="Message_CPUUsageUnavailable" xml:space="preserve"> + <value>CPU使用率の取得ができません。走る速度を更新できません。</value> + </data> + <data name="Menu_SpeedSource" xml:space="preserve"> + <value>速度の基準</value> + </data> + <data name="Game_NewRecord" xml:space="preserve"> + <value>新記録</value> + </data> + <data name="SystemInfo_Temperature" xml:space="preserve"> + <value>温度</value> + </data> + <data name="SystemInfo_TemperatureCelsiusFormat" xml:space="preserve"> + <value>{0:f1}°C</value> + </data> + <data name="SystemInfo_TemperatureFahrenheitFormat" xml:space="preserve"> + <value>{0:f1}°F</value> + </data> + <data name="Menu_CustomRunners" xml:space="preserve"> + <value>カスタムランナー...</value> + </data> + <data name="Window_CustomRunners" xml:space="preserve"> + <value>カスタムランナー</value> + </data> + <data name="CustomRunner_AddedRunners" xml:space="preserve"> + <value>カスタムランナー:</value> + </data> + <data name="CustomRunner_Name" xml:space="preserve"> + <value>ランナー名:</value> + </data> + <data name="CustomRunner_AddFrames" xml:space="preserve"> + <value>フレーム追加...</value> + </data> + <data name="CustomRunner_RemoveFrame" xml:space="preserve"> + <value>フレームを削除</value> + </data> + <data name="CustomRunner_Save" xml:space="preserve"> + <value>保存</value> + </data> + <data name="CustomRunner_Delete" xml:space="preserve"> + <value>削除</value> + </data> + <data name="CustomRunner_Requirements" xml:space="preserve"> + <value>形式: PNG | 最大サイズ: 32x32px</value> + </data> + <data name="CustomRunner_ConfirmOverwrite" xml:space="preserve"> + <value>同名のランナーが既に存在します。上書きしますか?</value> + </data> + <data name="CustomRunner_ConfirmDelete" xml:space="preserve"> + <value>ランナー「{0}」を削除しますか?</value> + </data> + <data name="CustomRunner_RequirementsLabel" xml:space="preserve"> + <value>要件:</value> + </data> + <data name="CustomRunner_FramesLabel" xml:space="preserve"> + <value>フレーム:</value> + </data> + <data name="CustomRunner_Preview" xml:space="preserve"> + <value>プレビュー:</value> + </data> + <data name="CustomRunner_PreviewSpeed" xml:space="preserve"> + <value>プレビュー速度:</value> + </data> +</root> \ No newline at end of file diff --git a/RunCat365/Properties/Strings.ko.resx b/RunCat365/Properties/Strings.ko.resx new file mode 100644 index 0000000..c009055 --- /dev/null +++ b/RunCat365/Properties/Strings.ko.resx @@ -0,0 +1,303 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="Menu_Runner" xml:space="preserve"> + <value>러너</value> + </data> + <data name="Menu_Theme" xml:space="preserve"> + <value>테마</value> + </data> + <data name="Menu_FPSMaxLimit" xml:space="preserve"> + <value>최대 FPS 제한</value> + </data> + <data name="Menu_LaunchAtStartup" xml:space="preserve"> + <value>윈도우 시작 시 자동 실행</value> + </data> + <data name="Menu_Settings" xml:space="preserve"> + <value>설정</value> + </data> + <data name="Menu_EndlessGame" xml:space="preserve"> + <value>무한 게임</value> + </data> + <data name="Menu_Information" xml:space="preserve"> + <value>정보</value> + </data> + <data name="Menu_OpenProjectPage" xml:space="preserve"> + <value>프로젝트 페이지 열기</value> + </data> + <data name="Menu_Exit" xml:space="preserve"> + <value>종료</value> + </data> + <data name="Theme_System" xml:space="preserve"> + <value>시스템 설정 사용</value> + </data> + <data name="Theme_Light" xml:space="preserve"> + <value>라이트 모드</value> + </data> + <data name="Theme_Dark" xml:space="preserve"> + <value>다크 모드</value> + </data> + <data name="Menu_TemperatureUnit" xml:space="preserve"> + <value>온도 단위</value> + </data> + <data name="TemperatureUnit_System" xml:space="preserve"> + <value>시스템</value> + </data> + <data name="TemperatureUnit_Celsius" xml:space="preserve"> + <value>섭씨</value> + </data> + <data name="TemperatureUnit_Fahrenheit" xml:space="preserve"> + <value>화씨</value> + </data> + <data name="Runner_Cat" xml:space="preserve"> + <value>고양이</value> + </data> + <data name="Runner_Parrot" xml:space="preserve"> + <value>앵무새</value> + </data> + <data name="Runner_Horse" xml:space="preserve"> + <value>말</value> + </data> + <data name="Message_AppLaunched" xml:space="preserve"> + <value>앱이 실행되었습니다. 작업 표시줄에 아이콘이 보이지 않는다면 숨겨진 아이콘 영역에 있을 수 있으니, 직접 드래그하여 작업 표시줄에 고정해 주세요.</value> + </data> + <data name="Message_Warning" xml:space="preserve"> + <value>경고</value> + </data> + <data name="Window_EndlessGame" xml:space="preserve"> + <value>무한 게임</value> + </data> + <data name="Game_PressSpaceToPlay" xml:space="preserve"> + <value>스페이스바를 눌러 시작하세요.</value> + </data> + <data name="Game_GameOver" xml:space="preserve"> + <value>게임 오버</value> + </data> + <data name="SystemInfo_CPU" xml:space="preserve"> + <value>CPU</value> + </data> + <data name="SystemInfo_User" xml:space="preserve"> + <value>사용자</value> + </data> + <data name="SystemInfo_Kernel" xml:space="preserve"> + <value>커널</value> + </data> + <data name="SystemInfo_Available" xml:space="preserve"> + <value>사용 가능</value> + </data> + <data name="SystemInfo_GPU" xml:space="preserve"> + <value>GPU</value> + </data> + <data name="SystemInfo_Average" xml:space="preserve"> + <value>평균</value> + </data> + <data name="SystemInfo_Maximum" xml:space="preserve"> + <value>최대</value> + </data> + <data name="SystemInfo_Memory" xml:space="preserve"> + <value>메모리</value> + </data> + <data name="SystemInfo_Total" xml:space="preserve"> + <value>전체</value> + </data> + <data name="SystemInfo_Used" xml:space="preserve"> + <value>사용 중</value> + </data> + <data name="SystemInfo_Storage" xml:space="preserve"> + <value>저장 장치</value> + </data> + <data name="SystemInfo_DriveC" xml:space="preserve"> + <value>C 드라이브</value> + </data> + <data name="SystemInfo_DriveD" xml:space="preserve"> + <value>D 드라이브</value> + </data> + <data name="SystemInfo_Network" xml:space="preserve"> + <value>네트워크</value> + </data> + <data name="SystemInfo_Sent" xml:space="preserve"> + <value>업로드</value> + </data> + <data name="SystemInfo_Received" xml:space="preserve"> + <value>다운로드</value> + </data> + <data name="Message_CPUUsageUnavailable" xml:space="preserve"> + <value>CPU 사용량을 가져오지 못했습니다. 러너의 달리기 속도를 갱신할 수 없습니다.</value> + </data> + <data name="Menu_SpeedSource" xml:space="preserve"> + <value>달리기 속도 기준</value> + </data> + <data name="Game_NewRecord" xml:space="preserve"> + <value>최고 기록 달성!</value> + </data> + <data name="SystemInfo_Temperature" xml:space="preserve"> + <value>온도</value> + </data> + <data name="SystemInfo_TemperatureCelsiusFormat" xml:space="preserve"> + <value>{0:f1}°C</value> + </data> + <data name="SystemInfo_TemperatureFahrenheitFormat" xml:space="preserve"> + <value>{0:f1}°F</value> + </data> + <data name="Menu_CustomRunners" xml:space="preserve"> + <value>커스텀 러너 설정...</value> + </data> + <data name="Window_CustomRunners" xml:space="preserve"> + <value>커스텀 러너</value> + </data> + <data name="CustomRunner_AddedRunners" xml:space="preserve"> + <value>추가된 러너 목록:</value> + </data> + <data name="CustomRunner_Name" xml:space="preserve"> + <value>러너 이름:</value> + </data> + <data name="CustomRunner_AddFrames" xml:space="preserve"> + <value>프레임 추가...</value> + </data> + <data name="CustomRunner_RemoveFrame" xml:space="preserve"> + <value>프레임 삭제</value> + </data> + <data name="CustomRunner_Save" xml:space="preserve"> + <value>저장</value> + </data> + <data name="CustomRunner_Delete" xml:space="preserve"> + <value>삭제</value> + </data> + <data name="CustomRunner_Requirements" xml:space="preserve"> + <value>포맷: PNG | 최대 크기: 32x32px</value> + </data> + <data name="CustomRunner_ConfirmOverwrite" xml:space="preserve"> + <value>같은 이름의 러너가 이미 존재합니다. 덮어쓰시겠습니까?</value> + </data> + <data name="CustomRunner_ConfirmDelete" xml:space="preserve"> + <value>"{0}" 러너를 삭제하시겠습니까?</value> + </data> + <data name="CustomRunner_RequirementsLabel" xml:space="preserve"> + <value>요구 사양:</value> + </data> + <data name="CustomRunner_FramesLabel" xml:space="preserve"> + <value>프레임:</value> + </data> + <data name="CustomRunner_Preview" xml:space="preserve"> + <value>미리보기:</value> + </data> + <data name="CustomRunner_PreviewSpeed" xml:space="preserve"> + <value>미리보기 속도:</value> + </data> +</root> \ No newline at end of file diff --git a/RunCat365/Properties/Strings.resx b/RunCat365/Properties/Strings.resx new file mode 100644 index 0000000..34aeace --- /dev/null +++ b/RunCat365/Properties/Strings.resx @@ -0,0 +1,303 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="Menu_Runner" xml:space="preserve"> + <value>Runner</value> + </data> + <data name="Menu_Theme" xml:space="preserve"> + <value>Theme</value> + </data> + <data name="Menu_FPSMaxLimit" xml:space="preserve"> + <value>FPS Max Limit</value> + </data> + <data name="Menu_LaunchAtStartup" xml:space="preserve"> + <value>Launch at startup</value> + </data> + <data name="Menu_Settings" xml:space="preserve"> + <value>Settings</value> + </data> + <data name="Menu_EndlessGame" xml:space="preserve"> + <value>Endless Game</value> + </data> + <data name="Menu_Information" xml:space="preserve"> + <value>Information</value> + </data> + <data name="Menu_OpenProjectPage" xml:space="preserve"> + <value>Open Project Page</value> + </data> + <data name="Menu_Exit" xml:space="preserve"> + <value>Exit</value> + </data> + <data name="Theme_System" xml:space="preserve"> + <value>System</value> + </data> + <data name="Theme_Light" xml:space="preserve"> + <value>Light</value> + </data> + <data name="Theme_Dark" xml:space="preserve"> + <value>Dark</value> + </data> + <data name="Menu_TemperatureUnit" xml:space="preserve"> + <value>Temperature Unit</value> + </data> + <data name="TemperatureUnit_System" xml:space="preserve"> + <value>System</value> + </data> + <data name="TemperatureUnit_Celsius" xml:space="preserve"> + <value>Celsius</value> + </data> + <data name="TemperatureUnit_Fahrenheit" xml:space="preserve"> + <value>Fahrenheit</value> + </data> + <data name="Runner_Cat" xml:space="preserve"> + <value>Cat</value> + </data> + <data name="Runner_Parrot" xml:space="preserve"> + <value>Parrot</value> + </data> + <data name="Runner_Horse" xml:space="preserve"> + <value>Horse</value> + </data> + <data name="Message_AppLaunched" xml:space="preserve"> + <value>App has launched. If the icon is not on the taskbar, it has been omitted, so please move it manually and pin it.</value> + </data> + <data name="Message_Warning" xml:space="preserve"> + <value>Warning</value> + </data> + <data name="Window_EndlessGame" xml:space="preserve"> + <value>Endless Game</value> + </data> + <data name="Game_PressSpaceToPlay" xml:space="preserve"> + <value>Press space to play.</value> + </data> + <data name="Game_GameOver" xml:space="preserve"> + <value>GAME OVER</value> + </data> + <data name="SystemInfo_CPU" xml:space="preserve"> + <value>CPU</value> + </data> + <data name="SystemInfo_User" xml:space="preserve"> + <value>User</value> + </data> + <data name="SystemInfo_Kernel" xml:space="preserve"> + <value>Kernel</value> + </data> + <data name="SystemInfo_Available" xml:space="preserve"> + <value>Available</value> + </data> + <data name="SystemInfo_GPU" xml:space="preserve"> + <value>GPU</value> + </data> + <data name="SystemInfo_Average" xml:space="preserve"> + <value>Average</value> + </data> + <data name="SystemInfo_Maximum" xml:space="preserve"> + <value>Maximum</value> + </data> + <data name="SystemInfo_Memory" xml:space="preserve"> + <value>Memory</value> + </data> + <data name="SystemInfo_Total" xml:space="preserve"> + <value>Total</value> + </data> + <data name="SystemInfo_Used" xml:space="preserve"> + <value>Used</value> + </data> + <data name="SystemInfo_Storage" xml:space="preserve"> + <value>Storage</value> + </data> + <data name="SystemInfo_DriveC" xml:space="preserve"> + <value>C Drive</value> + </data> + <data name="SystemInfo_DriveD" xml:space="preserve"> + <value>D Drive</value> + </data> + <data name="SystemInfo_Network" xml:space="preserve"> + <value>Network</value> + </data> + <data name="SystemInfo_Sent" xml:space="preserve"> + <value>Sent</value> + </data> + <data name="SystemInfo_Received" xml:space="preserve"> + <value>Received</value> + </data> + <data name="Message_CPUUsageUnavailable" xml:space="preserve"> + <value>Failed to get CPU usage. Unable to update running speed.</value> + </data> + <data name="Menu_SpeedSource" xml:space="preserve"> + <value>Speed based on</value> + </data> + <data name="Game_NewRecord" xml:space="preserve"> + <value>New Record</value> + </data> + <data name="SystemInfo_Temperature" xml:space="preserve"> + <value>Temperature</value> + </data> + <data name="SystemInfo_TemperatureCelsiusFormat" xml:space="preserve"> + <value>{0:f1}°C</value> + </data> + <data name="SystemInfo_TemperatureFahrenheitFormat" xml:space="preserve"> + <value>{0:f1}°F</value> + </data> + <data name="Menu_CustomRunners" xml:space="preserve"> + <value>Custom Runners...</value> + </data> + <data name="Window_CustomRunners" xml:space="preserve"> + <value>Custom Runners</value> + </data> + <data name="CustomRunner_AddedRunners" xml:space="preserve"> + <value>Custom Runners:</value> + </data> + <data name="CustomRunner_Name" xml:space="preserve"> + <value>Runner Name:</value> + </data> + <data name="CustomRunner_AddFrames" xml:space="preserve"> + <value>Add Frames...</value> + </data> + <data name="CustomRunner_RemoveFrame" xml:space="preserve"> + <value>Remove Frame</value> + </data> + <data name="CustomRunner_Save" xml:space="preserve"> + <value>Save</value> + </data> + <data name="CustomRunner_Delete" xml:space="preserve"> + <value>Delete</value> + </data> + <data name="CustomRunner_Requirements" xml:space="preserve"> + <value>Format: PNG | Max Dimensions: 32x32px</value> + </data> + <data name="CustomRunner_ConfirmOverwrite" xml:space="preserve"> + <value>A runner with this name already exists. Overwrite?</value> + </data> + <data name="CustomRunner_ConfirmDelete" xml:space="preserve"> + <value>Delete runner "{0}"?</value> + </data> + <data name="CustomRunner_RequirementsLabel" xml:space="preserve"> + <value>Requirements:</value> + </data> + <data name="CustomRunner_FramesLabel" xml:space="preserve"> + <value>Frames:</value> + </data> + <data name="CustomRunner_Preview" xml:space="preserve"> + <value>Preview:</value> + </data> + <data name="CustomRunner_PreviewSpeed" xml:space="preserve"> + <value>Preview Speed:</value> + </data> +</root> \ No newline at end of file diff --git a/RunCat365/Properties/Strings.zh-CN.resx b/RunCat365/Properties/Strings.zh-CN.resx new file mode 100644 index 0000000..b065ec5 --- /dev/null +++ b/RunCat365/Properties/Strings.zh-CN.resx @@ -0,0 +1,303 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="Menu_Runner" xml:space="preserve"> + <value>跑步者</value> + </data> + <data name="Menu_Theme" xml:space="preserve"> + <value>主题</value> + </data> + <data name="Menu_FPSMaxLimit" xml:space="preserve"> + <value>FPS 最大限制</value> + </data> + <data name="Menu_LaunchAtStartup" xml:space="preserve"> + <value>跟随 Windows 启动</value> + </data> + <data name="Menu_Settings" xml:space="preserve"> + <value>设置</value> + </data> + <data name="Menu_EndlessGame" xml:space="preserve"> + <value>无尽游戏</value> + </data> + <data name="Menu_Information" xml:space="preserve"> + <value>信息</value> + </data> + <data name="Menu_OpenProjectPage" xml:space="preserve"> + <value>打开项目页面</value> + </data> + <data name="Menu_Exit" xml:space="preserve"> + <value>退出</value> + </data> + <data name="Theme_System" xml:space="preserve"> + <value>系统</value> + </data> + <data name="Theme_Light" xml:space="preserve"> + <value>浅色</value> + </data> + <data name="Theme_Dark" xml:space="preserve"> + <value>深色</value> + </data> + <data name="Menu_TemperatureUnit" xml:space="preserve"> + <value>温度单位</value> + </data> + <data name="TemperatureUnit_System" xml:space="preserve"> + <value>系统</value> + </data> + <data name="TemperatureUnit_Celsius" xml:space="preserve"> + <value>摄氏</value> + </data> + <data name="TemperatureUnit_Fahrenheit" xml:space="preserve"> + <value>华氏</value> + </data> + <data name="Runner_Cat" xml:space="preserve"> + <value>猫咪</value> + </data> + <data name="Runner_Parrot" xml:space="preserve"> + <value>鹦鹉</value> + </data> + <data name="Runner_Horse" xml:space="preserve"> + <value>马</value> + </data> + <data name="Message_AppLaunched" xml:space="preserve"> + <value>应用已启动。如果图标不在任务栏上,则表示该应用已被省略,请手动移动并将其固定。</value> + </data> + <data name="Message_Warning" xml:space="preserve"> + <value>警告</value> + </data> + <data name="Window_EndlessGame" xml:space="preserve"> + <value>无尽游戏</value> + </data> + <data name="Game_PressSpaceToPlay" xml:space="preserve"> + <value>按空格键开始。</value> + </data> + <data name="Game_GameOver" xml:space="preserve"> + <value>游戏结束</value> + </data> + <data name="SystemInfo_CPU" xml:space="preserve"> + <value>CPU</value> + </data> + <data name="SystemInfo_User" xml:space="preserve"> + <value>用户</value> + </data> + <data name="SystemInfo_Kernel" xml:space="preserve"> + <value>内核</value> + </data> + <data name="SystemInfo_Available" xml:space="preserve"> + <value>可用</value> + </data> + <data name="SystemInfo_GPU" xml:space="preserve"> + <value>GPU</value> + </data> + <data name="SystemInfo_Average" xml:space="preserve"> + <value>平均</value> + </data> + <data name="SystemInfo_Maximum" xml:space="preserve"> + <value>最大</value> + </data> + <data name="SystemInfo_Memory" xml:space="preserve"> + <value>内存</value> + </data> + <data name="SystemInfo_Total" xml:space="preserve"> + <value>总计</value> + </data> + <data name="SystemInfo_Used" xml:space="preserve"> + <value>已使用</value> + </data> + <data name="SystemInfo_Storage" xml:space="preserve"> + <value>存储</value> + </data> + <data name="SystemInfo_DriveC" xml:space="preserve"> + <value>C 盘</value> + </data> + <data name="SystemInfo_DriveD" xml:space="preserve"> + <value>D 盘</value> + </data> + <data name="SystemInfo_Network" xml:space="preserve"> + <value>网络</value> + </data> + <data name="SystemInfo_Sent" xml:space="preserve"> + <value>发送</value> + </data> + <data name="SystemInfo_Received" xml:space="preserve"> + <value>已接收</value> + </data> + <data name="Message_CPUUsageUnavailable" xml:space="preserve"> + <value>获取 CPU 使用率失败。无法更新运行速度。</value> + </data> + <data name="Menu_SpeedSource" xml:space="preserve"> + <value>速度来源</value> + </data> + <data name="Game_NewRecord" xml:space="preserve"> + <value>新纪录</value> + </data> + <data name="SystemInfo_Temperature" xml:space="preserve"> + <value>温度</value> + </data> + <data name="SystemInfo_TemperatureCelsiusFormat" xml:space="preserve"> + <value>{0:f1}°C</value> + </data> + <data name="SystemInfo_TemperatureFahrenheitFormat" xml:space="preserve"> + <value>{0:f1}°F</value> + </data> + <data name="Menu_CustomRunners" xml:space="preserve"> + <value>自定义跑步者...</value> + </data> + <data name="Window_CustomRunners" xml:space="preserve"> + <value>自定义跑步者</value> + </data> + <data name="CustomRunner_AddedRunners" xml:space="preserve"> + <value>自定义跑步者:</value> + </data> + <data name="CustomRunner_Name" xml:space="preserve"> + <value>跑步者名称:</value> + </data> + <data name="CustomRunner_AddFrames" xml:space="preserve"> + <value>添加帧...</value> + </data> + <data name="CustomRunner_RemoveFrame" xml:space="preserve"> + <value>删除帧</value> + </data> + <data name="CustomRunner_Save" xml:space="preserve"> + <value>保存</value> + </data> + <data name="CustomRunner_Delete" xml:space="preserve"> + <value>删除</value> + </data> + <data name="CustomRunner_Requirements" xml:space="preserve"> + <value>格式: PNG | 最大尺寸: 32x32px</value> + </data> + <data name="CustomRunner_ConfirmOverwrite" xml:space="preserve"> + <value>同名跑步者已存在。是否覆盖?</value> + </data> + <data name="CustomRunner_ConfirmDelete" xml:space="preserve"> + <value>删除跑步者"{0}"?</value> + </data> + <data name="CustomRunner_RequirementsLabel" xml:space="preserve"> + <value>要求:</value> + </data> + <data name="CustomRunner_FramesLabel" xml:space="preserve"> + <value>帧:</value> + </data> + <data name="CustomRunner_Preview" xml:space="preserve"> + <value>预览:</value> + </data> + <data name="CustomRunner_PreviewSpeed" xml:space="preserve"> + <value>预览速度:</value> + </data> +</root> \ No newline at end of file diff --git a/RunCat365/Properties/Strings.zh-TW.resx b/RunCat365/Properties/Strings.zh-TW.resx new file mode 100644 index 0000000..6e643a1 --- /dev/null +++ b/RunCat365/Properties/Strings.zh-TW.resx @@ -0,0 +1,303 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="Menu_Runner" xml:space="preserve"> + <value>跑步者</value> + </data> + <data name="Menu_Theme" xml:space="preserve"> + <value>主題</value> + </data> + <data name="Menu_FPSMaxLimit" xml:space="preserve"> + <value>FPS 最大限制</value> + </data> + <data name="Menu_LaunchAtStartup" xml:space="preserve"> + <value>跟隨 Windows 啟動</value> + </data> + <data name="Menu_Settings" xml:space="preserve"> + <value>設定</value> + </data> + <data name="Menu_EndlessGame" xml:space="preserve"> + <value>無盡遊戲</value> + </data> + <data name="Menu_Information" xml:space="preserve"> + <value>資訊</value> + </data> + <data name="Menu_OpenProjectPage" xml:space="preserve"> + <value>開啟專案頁面</value> + </data> + <data name="Menu_Exit" xml:space="preserve"> + <value>結束</value> + </data> + <data name="Theme_System" xml:space="preserve"> + <value>系統</value> + </data> + <data name="Theme_Light" xml:space="preserve"> + <value>淺色</value> + </data> + <data name="Theme_Dark" xml:space="preserve"> + <value>深色</value> + </data> + <data name="Menu_TemperatureUnit" xml:space="preserve"> + <value>溫度單位</value> + </data> + <data name="TemperatureUnit_System" xml:space="preserve"> + <value>系統</value> + </data> + <data name="TemperatureUnit_Celsius" xml:space="preserve"> + <value>攝氏</value> + </data> + <data name="TemperatureUnit_Fahrenheit" xml:space="preserve"> + <value>華氏</value> + </data> + <data name="Runner_Cat" xml:space="preserve"> + <value>貓咪</value> + </data> + <data name="Runner_Parrot" xml:space="preserve"> + <value>鸚鵡</value> + </data> + <data name="Runner_Horse" xml:space="preserve"> + <value>馬</value> + </data> + <data name="Message_AppLaunched" xml:space="preserve"> + <value>應用程式已啟動。如果圖示不在工作列上,表示已被省略,請手動移動並固定它。</value> + </data> + <data name="Message_Warning" xml:space="preserve"> + <value>警告</value> + </data> + <data name="Window_EndlessGame" xml:space="preserve"> + <value>無盡遊戲</value> + </data> + <data name="Game_PressSpaceToPlay" xml:space="preserve"> + <value>按空白鍵開始。</value> + </data> + <data name="Game_GameOver" xml:space="preserve"> + <value>遊戲結束</value> + </data> + <data name="SystemInfo_CPU" xml:space="preserve"> + <value>CPU</value> + </data> + <data name="SystemInfo_User" xml:space="preserve"> + <value>使用者</value> + </data> + <data name="SystemInfo_Kernel" xml:space="preserve"> + <value>核心</value> + </data> + <data name="SystemInfo_Available" xml:space="preserve"> + <value>可用</value> + </data> + <data name="SystemInfo_GPU" xml:space="preserve"> + <value>GPU</value> + </data> + <data name="SystemInfo_Average" xml:space="preserve"> + <value>平均</value> + </data> + <data name="SystemInfo_Maximum" xml:space="preserve"> + <value>最大</value> + </data> + <data name="SystemInfo_Memory" xml:space="preserve"> + <value>記憶體</value> + </data> + <data name="SystemInfo_Total" xml:space="preserve"> + <value>總計</value> + </data> + <data name="SystemInfo_Used" xml:space="preserve"> + <value>已使用</value> + </data> + <data name="SystemInfo_Storage" xml:space="preserve"> + <value>儲存</value> + </data> + <data name="SystemInfo_DriveC" xml:space="preserve"> + <value>C 槽</value> + </data> + <data name="SystemInfo_DriveD" xml:space="preserve"> + <value>D 槽</value> + </data> + <data name="SystemInfo_Network" xml:space="preserve"> + <value>網路</value> + </data> + <data name="SystemInfo_Sent" xml:space="preserve"> + <value>傳送</value> + </data> + <data name="SystemInfo_Received" xml:space="preserve"> + <value>已接收</value> + </data> + <data name="Message_CPUUsageUnavailable" xml:space="preserve"> + <value>取得 CPU 使用率失敗。無法更新執行速度。</value> + </data> + <data name="Menu_SpeedSource" xml:space="preserve"> + <value>速度來源</value> + </data> + <data name="Game_NewRecord" xml:space="preserve"> + <value>新紀錄</value> + </data> + <data name="SystemInfo_Temperature" xml:space="preserve"> + <value>溫度</value> + </data> + <data name="SystemInfo_TemperatureCelsiusFormat" xml:space="preserve"> + <value>{0:f1}°C</value> + </data> + <data name="SystemInfo_TemperatureFahrenheitFormat" xml:space="preserve"> + <value>{0:f1}°F</value> + </data> + <data name="Menu_CustomRunners" xml:space="preserve"> + <value>自訂跑步者...</value> + </data> + <data name="Window_CustomRunners" xml:space="preserve"> + <value>自訂跑步者</value> + </data> + <data name="CustomRunner_AddedRunners" xml:space="preserve"> + <value>自訂跑步者:</value> + </data> + <data name="CustomRunner_Name" xml:space="preserve"> + <value>跑步者名稱:</value> + </data> + <data name="CustomRunner_AddFrames" xml:space="preserve"> + <value>新增影格...</value> + </data> + <data name="CustomRunner_RemoveFrame" xml:space="preserve"> + <value>刪除影格</value> + </data> + <data name="CustomRunner_Save" xml:space="preserve"> + <value>儲存</value> + </data> + <data name="CustomRunner_Delete" xml:space="preserve"> + <value>刪除</value> + </data> + <data name="CustomRunner_Requirements" xml:space="preserve"> + <value>格式: PNG | 最大尺寸: 32x32px</value> + </data> + <data name="CustomRunner_ConfirmOverwrite" xml:space="preserve"> + <value>同名跑步者已存在。是否覆蓋?</value> + </data> + <data name="CustomRunner_ConfirmDelete" xml:space="preserve"> + <value>刪除跑步者「{0}」?</value> + </data> + <data name="CustomRunner_RequirementsLabel" xml:space="preserve"> + <value>需求:</value> + </data> + <data name="CustomRunner_FramesLabel" xml:space="preserve"> + <value>影格:</value> + </data> + <data name="CustomRunner_Preview" xml:space="preserve"> + <value>預覽:</value> + </data> + <data name="CustomRunner_PreviewSpeed" xml:space="preserve"> + <value>預覽速度:</value> + </data> +</root> \ No newline at end of file diff --git a/RunCat365/Properties/UserSettings.Designer.cs b/RunCat365/Properties/UserSettings.Designer.cs new file mode 100644 index 0000000..c22b676 --- /dev/null +++ b/RunCat365/Properties/UserSettings.Designer.cs @@ -0,0 +1,122 @@ +//------------------------------------------------------------------------------ +// <auto-generated> +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// </auto-generated> +//------------------------------------------------------------------------------ + +namespace RunCat365.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.14.0.0")] + internal sealed partial class UserSettings : global::System.Configuration.ApplicationSettingsBase { + + private static UserSettings defaultInstance = ((UserSettings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new UserSettings()))); + + public static UserSettings Default { + get { + return defaultInstance; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("Cat")] + public string Runner { + get { + return ((string)(this["Runner"])); + } + set { + this["Runner"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string Theme { + get { + return ((string)(this["Theme"])); + } + set { + this["Theme"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string TemperatureUnit { + get { + return ((string)(this["TemperatureUnit"])); + } + set { + this["TemperatureUnit"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("FPS40")] + public string FPSMaxLimit { + get { + return ((string)(this["FPSMaxLimit"])); + } + set { + this["FPSMaxLimit"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool FirstLaunch { + get { + return ((bool)(this["FirstLaunch"])); + } + set { + this["FirstLaunch"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("0")] + public int HighScore { + get { + return ((int)(this["HighScore"])); + } + set { + this["HighScore"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("CPU")] + public string SpeedSource { + get { + return ((string)(this["SpeedSource"])); + } + set { + this["SpeedSource"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string CustomRunnerName { + get { + return ((string)(this["CustomRunnerName"])); + } + set { + this["CustomRunnerName"] = value; + } + } + } +} diff --git a/RunCat365/Properties/UserSettings.settings b/RunCat365/Properties/UserSettings.settings new file mode 100644 index 0000000..57c0c84 --- /dev/null +++ b/RunCat365/Properties/UserSettings.settings @@ -0,0 +1,30 @@ +<?xml version='1.0' encoding='utf-8'?> +<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="RunCat365.Properties" GeneratedClassName="UserSettings"> + <Profiles /> + <Settings> + <Setting Name="Runner" Type="System.String" Scope="User"> + <Value Profile="(Default)">Cat</Value> + </Setting> + <Setting Name="Theme" Type="System.String" Scope="User"> + <Value Profile="(Default)" /> + </Setting> + <Setting Name="TemperatureUnit" Type="System.String" Scope="User"> + <Value Profile="(Default)" /> + </Setting> + <Setting Name="FPSMaxLimit" Type="System.String" Scope="User"> + <Value Profile="(Default)">FPS40</Value> + </Setting> + <Setting Name="FirstLaunch" Type="System.Boolean" Scope="User"> + <Value Profile="(Default)">True</Value> + </Setting> + <Setting Name="HighScore" Type="System.Int32" Scope="User"> + <Value Profile="(Default)">0</Value> + </Setting> + <Setting Name="SpeedSource" Type="System.String" Scope="User"> + <Value Profile="(Default)">CPU</Value> + </Setting> + <Setting Name="CustomRunnerName" Type="System.String" Scope="User"> + <Value Profile="(Default)" /> + </Setting> + </Settings> +</SettingsFile> \ No newline at end of file diff --git a/RunCat365/Road.cs b/RunCat365/Road.cs new file mode 100644 index 0000000..6c3e38c --- /dev/null +++ b/RunCat365/Road.cs @@ -0,0 +1,39 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +namespace RunCat365 +{ + internal enum Road + { + Flat, + Hill, + Crater, + Sprout + } + + internal static class RoadExtension + { + internal static string GetString(this Road road) + { + return road switch + { + Road.Flat => "Flat", + Road.Hill => "Hill", + Road.Crater => "Crater", + Road.Sprout => "Sprout", + _ => "", + }; + } + } +} diff --git a/RunCat365/RunCat365.csproj b/RunCat365/RunCat365.csproj new file mode 100644 index 0000000..660a9c5 --- /dev/null +++ b/RunCat365/RunCat365.csproj @@ -0,0 +1,77 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <OutputType>WinExe</OutputType> + <TargetFramework>net9.0-windows10.0.26100.0</TargetFramework> + <Nullable>enable</Nullable> + <UseWindowsForms>true</UseWindowsForms> + <ImplicitUsings>enable</ImplicitUsings> + <SupportedOSPlatformVersion>10.0.19041.0</SupportedOSPlatformVersion> + <AssemblyName>RunCat 365</AssemblyName> + <ApplicationIcon>resources\app_icon.ico</ApplicationIcon> + <Authors>Takuto Nakamura</Authors> + <Company>Studio Kyome</Company> + <Description>A cute running cat animation on your taskbar.</Description> + <Copyright>© 2022 Takuto Nakamura</Copyright> + <PackageProjectUrl>https://runcat-dev.github.io/RunCat365/</PackageProjectUrl> + <RepositoryUrl>https://github.com/runcat-dev/RunCat365</RepositoryUrl> + <PackageTags>cpu;cat;taskbar</PackageTags> + <PackageLicenseFile>LICENSE</PackageLicenseFile> + <PackageIcon>app_icon.png</PackageIcon> + <Version>3.6.0</Version> + <PackageReadmeFile>README.md</PackageReadmeFile> + <StartupObject>RunCat365.Program</StartupObject> + <IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion> + <Platforms>x64;x86;ARM64</Platforms> + <ApplicationManifest>App.manifest</ApplicationManifest> + <NoWarn>$(NoWarn);WFO5001</NoWarn> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + </PropertyGroup> + + <ItemGroup> + <Content Include="resources\app_icon.ico" /> + </ItemGroup> + + <ItemGroup> + <None Include="..\docs\images\app_icon.png"> + <Pack>True</Pack> + <PackagePath>\</PackagePath> + </None> + <None Include="..\LICENSE"> + <Pack>True</Pack> + <PackagePath>\</PackagePath> + </None> + <None Include="..\README.md"> + <Pack>True</Pack> + <PackagePath>\</PackagePath> + </None> + </ItemGroup> + + <ItemGroup> + <Compile Update="Properties\Resources.Designer.cs"> + <DesignTime>True</DesignTime> + <AutoGen>True</AutoGen> + <DependentUpon>Resources.resx</DependentUpon> + </Compile> + <Compile Update="Properties\UserSettings.Designer.cs"> + <DesignTimeSharedInput>True</DesignTimeSharedInput> + <AutoGen>True</AutoGen> + <DependentUpon>UserSettings.settings</DependentUpon> + </Compile> + </ItemGroup> + + <ItemGroup> + <EmbeddedResource Update="Properties\Resources.resx"> + <Generator>ResXFileCodeGenerator</Generator> + <LastGenOutput>Resources.Designer.cs</LastGenOutput> + </EmbeddedResource> + </ItemGroup> + + <ItemGroup> + <None Update="Properties\UserSettings.settings"> + <Generator>SettingsSingleFileGenerator</Generator> + <LastGenOutput>UserSettings.Designer.cs</LastGenOutput> + </None> + </ItemGroup> + +</Project> diff --git a/RunCat365/Runner.cs b/RunCat365/Runner.cs new file mode 100644 index 0000000..4da2d23 --- /dev/null +++ b/RunCat365/Runner.cs @@ -0,0 +1,61 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using RunCat365.Properties; + +namespace RunCat365 +{ + enum Runner + { + Cat, + Parrot, + Horse, + } + + internal static class RunnerExtension + { + internal static string GetString(this Runner runner) + { + return runner switch + { + Runner.Cat => "Cat", + Runner.Parrot => "Parrot", + Runner.Horse => "Horse", + _ => "", + }; + } + + internal static string GetLocalizedString(this Runner runner) + { + return runner switch + { + Runner.Cat => Strings.Runner_Cat, + Runner.Parrot => Strings.Runner_Parrot, + Runner.Horse => Strings.Runner_Horse, + _ => "", + }; + } + + internal static int GetFrameNumber(this Runner runner) + { + return runner switch + { + Runner.Cat => 5, + Runner.Parrot => 10, + Runner.Horse => 14, + _ => 0, + }; + } + } +} diff --git a/RunCat365/SpeedSource.cs b/RunCat365/SpeedSource.cs new file mode 100644 index 0000000..a5bc2c1 --- /dev/null +++ b/RunCat365/SpeedSource.cs @@ -0,0 +1,62 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using RunCat365.Properties; +using System.Diagnostics.CodeAnalysis; + +namespace RunCat365 +{ + enum SpeedSource + { + CPU, + GPU, + Memory, + } + + internal static class SpeedSourceExtension + { + internal static string GetLocalizedString(this SpeedSource speedSource) + { + return speedSource switch + { + SpeedSource.CPU => Strings.SystemInfo_CPU, + SpeedSource.GPU => Strings.SystemInfo_GPU, + SpeedSource.Memory => Strings.SystemInfo_Memory, + _ => "", + }; + } + + internal static bool TryParse([NotNullWhen(true)] string? value, out SpeedSource result) + { + SpeedSource? nullableResult = value switch + { + "CPU" => SpeedSource.CPU, + "GPU" => SpeedSource.GPU, + "Memory" => SpeedSource.Memory, + _ => null, + }; + + if (nullableResult is SpeedSource nonNullableResult) + { + result = nonNullableResult; + return true; + } + else + { + result = SpeedSource.CPU; + return false; + } + } + } +} diff --git a/RunCat365/StorageRepository.cs b/RunCat365/StorageRepository.cs new file mode 100644 index 0000000..f0b9632 --- /dev/null +++ b/RunCat365/StorageRepository.cs @@ -0,0 +1,129 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using RunCat365.Properties; + +namespace RunCat365 +{ + enum Drive + { + C, + D + } + + internal static class DriveExtension + { + internal static string GetString(this Drive drive) + { + return drive switch + { + Drive.C => "C Drive", + Drive.D => "D Drive", + _ => "", + }; + } + + internal static string GetLocalizedString(this Drive drive) + { + return drive switch + { + Drive.C => Strings.SystemInfo_DriveC, + Drive.D => Strings.SystemInfo_DriveD, + _ => "", + }; + } + + internal static Drive? CreateFromString(string? value) + { + return value switch + { + "C:\\" => Drive.C, + "D:\\" => Drive.D, + _ => null, + }; + } + } + + struct StorageInfo + { + internal Drive Drive { get; set; } + internal long TotalSize { get; set; } + internal long AvailableSpaceSize { get; set; } + internal long UsedSpaceSize { get; set; } + } + + internal static class StorageInfoExtension + { + internal static List<string> GenerateIndicator(this List<StorageInfo> storageInfoList) + { + var resultLines = new List<string> + { + TreeFormatter.CreateRoot($"{Strings.SystemInfo_Storage}:") + }; + + if (storageInfoList.Count == 0) return resultLines; + + for (int i = 0; i < storageInfoList.Count; i++) + { + var info = storageInfoList[i]; + var isLastItem = (i == storageInfoList.Count - 1); + var percentage = ((double)info.UsedSpaceSize / info.TotalSize) * 100.0; + resultLines.Add(TreeFormatter.CreateNode($"{info.Drive.GetLocalizedString()}: {percentage:f1}%", isLastItem)); + resultLines.Add(TreeFormatter.CreateNestedNode($"{Strings.SystemInfo_Used}: {info.UsedSpaceSize.ToByteFormatted()}", isLastItem, false)); + resultLines.Add(TreeFormatter.CreateNestedNode($"{Strings.SystemInfo_Available}: {info.AvailableSpaceSize.ToByteFormatted()}", isLastItem, true)); + } + + return resultLines; + } + } + + internal class StorageRepository + { + private readonly List<StorageInfo> storageInfoList = []; + + internal StorageRepository() { } + + internal void Update() + { + storageInfoList.Clear(); + var allDrives = DriveInfo.GetDrives(); + foreach (var driveInfo in allDrives) + { + if (driveInfo.IsReady && DriveExtension.CreateFromString(driveInfo.Name) is Drive drive) + { + try + { + var storageInfo = new StorageInfo + { + Drive = drive, + TotalSize = driveInfo.TotalSize, + AvailableSpaceSize = driveInfo.AvailableFreeSpace, + UsedSpaceSize = driveInfo.TotalSize - driveInfo.AvailableFreeSpace + }; + storageInfoList.Add(storageInfo); + } + catch (Exception ex) + { + Console.WriteLine($"Error: {ex.Message}"); + } + } + } + } + + internal List<StorageInfo> Get() + { + return storageInfoList; + } + } +} diff --git a/RunCat365/SupportedLanguage.cs b/RunCat365/SupportedLanguage.cs new file mode 100644 index 0000000..1189dc9 --- /dev/null +++ b/RunCat365/SupportedLanguage.cs @@ -0,0 +1,100 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using System.Globalization; + +namespace RunCat365 +{ + enum SupportedLanguage + { + ChineseSimplified, + ChineseTraditional, + English, + French, + German, + Japanese, + Korean, + Spanish, + } + + internal static class SupportedLanguageExtension + { + private static SupportedLanguage DetectChineseVariant(CultureInfo culture) + { + return culture.Name.Contains("Hant") || culture.Name is "zh-TW" or "zh-HK" or "zh-MO" + ? SupportedLanguage.ChineseTraditional + : SupportedLanguage.ChineseSimplified; + } + + internal static SupportedLanguage GetCurrentLanguage() + { + var culture = CultureInfo.CurrentUICulture; + return culture.TwoLetterISOLanguageName switch + { + "zh" => DetectChineseVariant(culture), + "fr" => SupportedLanguage.French, + "de" => SupportedLanguage.German, + "ja" => SupportedLanguage.Japanese, + "ko" => SupportedLanguage.Korean, + "es" => SupportedLanguage.Spanish, + _ => SupportedLanguage.English, + }; + } + + internal static CultureInfo GetDefaultCultureInfo(this SupportedLanguage language) + { + return language switch + { + SupportedLanguage.ChineseSimplified => new CultureInfo("zh-CN"), + SupportedLanguage.ChineseTraditional => new CultureInfo("zh-TW"), + SupportedLanguage.French => new CultureInfo("fr-FR"), + SupportedLanguage.German => new CultureInfo("de-DE"), + SupportedLanguage.Japanese => new CultureInfo("ja-JP"), + SupportedLanguage.Korean => new CultureInfo("ko-KR"), + SupportedLanguage.Spanish => new CultureInfo("es-ES"), + _ => new CultureInfo("en-US"), + }; + } + + internal static string GetFontName(this SupportedLanguage language) + { + return language switch + { + SupportedLanguage.ChineseSimplified => "Microsoft YaHei", + SupportedLanguage.ChineseTraditional => "Microsoft JhengHei", + SupportedLanguage.French => "Consolas", + SupportedLanguage.German => "Consolas", + SupportedLanguage.Japanese => "Noto Sans JP", + SupportedLanguage.Korean => "Malgun Gothic", + SupportedLanguage.Spanish => "Consolas", + _ => "Consolas", + }; + } + + internal static bool IsFullWidth(this SupportedLanguage language) + { + return language switch + { + SupportedLanguage.ChineseSimplified => true, + SupportedLanguage.ChineseTraditional => true, + SupportedLanguage.French => false, + SupportedLanguage.German => false, + SupportedLanguage.Japanese => true, + SupportedLanguage.Korean => true, + SupportedLanguage.Spanish => false, + _ => false, + }; + } + } +} diff --git a/RunCat365/TemperatureRepository.cs b/RunCat365/TemperatureRepository.cs new file mode 100644 index 0000000..ecbe1a0 --- /dev/null +++ b/RunCat365/TemperatureRepository.cs @@ -0,0 +1,130 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using RunCat365.Properties; +using System.Globalization; + +namespace RunCat365 +{ + struct TemperatureInfo + { + internal float AverageCelsius { get; set; } + internal float MaximumCelsius { get; set; } + } + + internal static class TemperatureInfoExtension + { + private const float CELSIUS_TO_FAHRENHEIT_SCALE = 9.0f / 5.0f; + private const float CELSIUS_TO_FAHRENHEIT_OFFSET = 32.0f; + + internal static string GetDescription(this TemperatureInfo temperatureInfo, TemperatureUnit unit) + { + var resolvedUnit = unit.Resolve(); + return $"{Strings.SystemInfo_Temperature}: {temperatureInfo.MaximumCelsius.ToLocalizedTemperatureText(resolvedUnit)}"; + } + + internal static List<string> GenerateIndicator(this TemperatureInfo temperatureInfo, TemperatureUnit unit) + { + var resolvedUnit = unit.Resolve(); + return [ + TreeFormatter.CreateRoot($"{Strings.SystemInfo_Temperature}:"), + TreeFormatter.CreateNode($"{Strings.SystemInfo_Average}: {temperatureInfo.AverageCelsius.ToLocalizedTemperatureText(resolvedUnit)}", false), + TreeFormatter.CreateNode($"{Strings.SystemInfo_Maximum}: {temperatureInfo.MaximumCelsius.ToLocalizedTemperatureText(resolvedUnit)}", true) + ]; + } + + private static string ToLocalizedTemperatureText(this float temperatureCelsius, TemperatureUnit resolvedUnit) + { + var useFahrenheit = resolvedUnit == TemperatureUnit.Fahrenheit; + var value = useFahrenheit + ? temperatureCelsius * CELSIUS_TO_FAHRENHEIT_SCALE + CELSIUS_TO_FAHRENHEIT_OFFSET + : temperatureCelsius; + var format = useFahrenheit + ? Strings.SystemInfo_TemperatureFahrenheitFormat + : Strings.SystemInfo_TemperatureCelsiusFormat; + return string.Format(CultureInfo.CurrentCulture, format, value); + } + } + + internal sealed class TemperaturePerformanceCounters : InstancedPerformanceCounters + { + protected override string CategoryName => "Thermal Zone Information"; + protected override string CounterName => "Temperature"; + + internal static TemperaturePerformanceCounters? TryCreate() + { + var instance = new TemperaturePerformanceCounters(); + return instance.TryInitialize() ? instance : null; + } + } + + internal class TemperatureRepository + { + private const float KELVIN_TO_CELSIUS_OFFSET = 273.15f; + private const float MIN_VALID_TEMPERATURE_CELSIUS = -50.0f; + private const float MAX_VALID_TEMPERATURE_CELSIUS = 150.0f; + private const int REFRESH_INTERVAL_TICKS = 30; + + private readonly TemperaturePerformanceCounters? counters; + private TemperatureInfo? temperatureInfo; + private int ticksSinceLastRefresh; + + internal bool IsAvailable => counters is not null; + + internal TemperatureRepository() + { + counters = TemperaturePerformanceCounters.TryCreate(); + } + + internal void Update() + { + if (counters is null) return; + + ticksSinceLastRefresh += 1; + if (REFRESH_INTERVAL_TICKS <= ticksSinceLastRefresh) + { + ticksSinceLastRefresh = 0; + counters.RefreshInstances(); + } + + var rawValues = counters.ReadValues(); + var temperaturesCelsius = new List<float>(rawValues.Count); + foreach (var temperatureKelvin in rawValues) + { + if (temperatureKelvin <= 0) continue; + var temperatureCelsius = temperatureKelvin - KELVIN_TO_CELSIUS_OFFSET; + if (temperatureCelsius is < MIN_VALID_TEMPERATURE_CELSIUS or > MAX_VALID_TEMPERATURE_CELSIUS) continue; + temperaturesCelsius.Add(temperatureCelsius); + } + + temperatureInfo = temperaturesCelsius.Count == 0 + ? null + : new TemperatureInfo + { + AverageCelsius = temperaturesCelsius.Average(), + MaximumCelsius = temperaturesCelsius.Max() + }; + } + + internal TemperatureInfo? Get() + { + return temperatureInfo; + } + + internal void Close() + { + counters?.Close(); + } + } +} diff --git a/RunCat365/TemperatureUnit.cs b/RunCat365/TemperatureUnit.cs new file mode 100644 index 0000000..9f11863 --- /dev/null +++ b/RunCat365/TemperatureUnit.cs @@ -0,0 +1,61 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using RunCat365.Properties; +using System.Globalization; + +namespace RunCat365 +{ + enum TemperatureUnit + { + System, + Celsius, + Fahrenheit, + } + + internal static class TemperatureUnitExtension + { + private static readonly TemperatureUnit systemDefault = DetectSystemDefault(); + + internal static string GetLocalizedString(this TemperatureUnit unit) + { + return unit switch + { + TemperatureUnit.System => Strings.TemperatureUnit_System, + TemperatureUnit.Celsius => $"{Strings.TemperatureUnit_Celsius} (°C)", + TemperatureUnit.Fahrenheit => $"{Strings.TemperatureUnit_Fahrenheit} (°F)", + _ => "", + }; + } + + internal static TemperatureUnit Resolve(this TemperatureUnit unit) + { + return unit == TemperatureUnit.System ? systemDefault : unit; + } + + private static TemperatureUnit DetectSystemDefault() + { + try + { + return new RegionInfo(CultureInfo.CurrentCulture.Name).IsMetric + ? TemperatureUnit.Celsius + : TemperatureUnit.Fahrenheit; + } + catch (ArgumentException) + { + return TemperatureUnit.Celsius; + } + } + } +} diff --git a/RunCat365/Theme.cs b/RunCat365/Theme.cs new file mode 100644 index 0000000..05fca6e --- /dev/null +++ b/RunCat365/Theme.cs @@ -0,0 +1,49 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using RunCat365.Properties; + +namespace RunCat365 +{ + enum Theme + { + System, + Light, + Dark, + } + + internal static class ThemeExtension + { + internal static string GetLocalizedString(this Theme theme) + { + return theme switch + { + Theme.System => Strings.Theme_System, + Theme.Light => Strings.Theme_Light, + Theme.Dark => Strings.Theme_Dark, + _ => "", + }; + } + + internal static Color GetContrastColor(this Theme theme) + { + return theme switch + { + Theme.Dark => Color.White, + Theme.Light => Color.Black, + _ => Color.Gray, + }; + } + } +} diff --git a/RunCat365/TreeFormatter.cs b/RunCat365/TreeFormatter.cs new file mode 100644 index 0000000..c070462 --- /dev/null +++ b/RunCat365/TreeFormatter.cs @@ -0,0 +1,44 @@ +// Copyright 2025 Takuto Nakamura +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +namespace RunCat365 +{ + internal static class TreeFormatter + { + private static readonly bool isFullWidth = SupportedLanguageExtension.GetCurrentLanguage().IsFullWidth(); + + private static string BranchMiddle => isFullWidth ? "├─" : "├─ "; + private static string BranchLast => isFullWidth ? "└─" : "└─ "; + private static string IndentContinue => isFullWidth ? "│ " : "│ "; + private static string IndentLast => isFullWidth ? "  " : " "; + + internal static string CreateRoot(string content) + { + return content; + } + + internal static string CreateNode(string content, bool isLast) + { + var prefix = isLast ? BranchLast : BranchMiddle; + return $"{prefix}{content}"; + } + + internal static string CreateNestedNode(string content, bool parentIsLast, bool isLast) + { + var indent = parentIsLast ? IndentLast : IndentContinue; + var prefix = isLast ? BranchLast : BranchMiddle; + return $"{indent}{prefix}{content}"; + } + } +} diff --git a/RunCat365/resources/app_icon.ico b/RunCat365/resources/app_icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..000e92c6e85cd5ffbe4e1e867bfe61bba5ebef2c GIT binary patch literal 285478 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 literal 0 HcmV?d00001 diff --git a/RunCat365/resources/game/cat_jumping_0.png b/RunCat365/resources/game/cat_jumping_0.png new file mode 100644 index 0000000000000000000000000000000000000000..d84a575bbd68aed75a6967e41f24e43301aa64ee GIT binary patch literal 3028 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 N*+ha9zQooy>MvJ?D0u(? literal 0 HcmV?d00001 diff --git a/RunCat365/resources/game/cat_jumping_1.png b/RunCat365/resources/game/cat_jumping_1.png new file mode 100644 index 0000000000000000000000000000000000000000..bf6bef426a73dcad473d0a83321d6b246f4f16eb GIT binary patch literal 2827 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 literal 0 HcmV?d00001 diff --git a/RunCat365/resources/game/cat_jumping_2.png b/RunCat365/resources/game/cat_jumping_2.png new file mode 100644 index 0000000000000000000000000000000000000000..1d24b0334a0e9d5b0096bbaf77df87e993f16e4c GIT binary patch literal 2963 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 QTYDyx+<b`FUBZt22Xid@;s5{u literal 0 HcmV?d00001 diff --git a/RunCat365/resources/game/cat_jumping_3.png b/RunCat365/resources/game/cat_jumping_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6b0a977811d8f66c0c2228ddacc5fe988bff9c0f GIT binary patch literal 2952 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 literal 0 HcmV?d00001 diff --git a/RunCat365/resources/game/cat_jumping_4.png b/RunCat365/resources/game/cat_jumping_4.png new file mode 100644 index 0000000000000000000000000000000000000000..262afa5eb47bc32b6d4cfe0c882bddb6b819c37c GIT binary patch literal 3229 zcmbVPc{r478y{=3oa~{+7_!gKjG0iH8Czy5>r{%_FohXoFiPP>C?#34m8~OXX@pGF zWUB~=R#RD8WJ$8*AaVLeC+D2&`_6U#_}=S!-)Fghzu$d7_jBKWyh*!B4odPm@&Eup z$;lD#Djs>_mo6tO{u0@<2=SoJC6KvpEI)1pg~I^Y(OFam&?$)G&v0c>=#e4q3~K;D zipO*(bIC*(ER7Wep{!saydbui4FFhg<FP5U!wfEv%J63f+khq;?t*|!x(&$7k_aQR zaf|?_;}H(S?Fh-8cH}S(LkDfM1zPj4Vu2tAmjdJk1qO#=c{ZT$x>)giWg7|teur=m z+kpNEicH)M#IZOGAO->l(_k<p5RHLgP#74+3hhTT2O?kyODGHpg`vO*7}gSog`<E! z9+21}hwg`U#oPaICtlfr0=Qf@77C4sh=4>OAuNtR6pq1QpfCg!fdGpU;LylmE`<jU z4%J^(z%xQ=944E~WCa6P6e(0z7}o|Q4)%{z1hI+4KZS!sf8<J>H7Jk5hQc8*Xi(6~ z(Y~WYxvq@A!uUsYsCy)v0d-}Bvcfnt@s;@Luad>-`*%kxKyftKT^y$PUMPWh7A-7@ z5zKYM+knIt2%SmCqTy6alm!L@rZDK1U<))11IAcUU|=hR1r5bOS|BJ?)T+)u@sT)` z6&!}JM_D3ZaJW5e2hM7T9l;7ou)x7A@Myv+*C{xZO9`eiR(&(YzJG8D|H{SUI1CDx z#c^k`0#^%RcL0ma3JqYffd~}D3TRBE(3rt1J0>f)^v9v`3=T7#LAU3yf`H%CjAi~q z2o$OX6>Wh;fUT@(2(SemZUv^ok(OWznnn}b;0Un|^n*|Tf71sQ2L)ZJmA}=_>Xx`5 zSEhe9gLv_0J28UAJ;V_=3#YV19{`YRaKhWU^Im@RW(I0_Xx+IEJ{o(9x<^w*MMXlT zPEbHi7x;pjfbx)}BCX<(B>BpuQ-<;aUkgF3!f8nrLX)mzB1l4}Fh)7uV|!U9A+xAv z_RFThZ1z^6@YnI&$j_OR21flQpZz{%e+`;%P)o8ewoh#^?$O&Ft6|FDA>&!vD6c^- zlr(eq{V~MLm#^CX2O_quApZs_ZTv5lzaVY+*MtC6Qfza^LN)u&)S*pRJD-->-d7V; zv4#8`NnOog)q#SR+zpcX`hA3upkU2`LR{XmWW?pHM^;M&0!hbTew!v~NOTeco2sA6 z$KnS}HdfY0?$CYX^<4Dq{cw H+~9%)YA)i+A?0V{p>@iw2r#VxJMZ}#;HY_vuM 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 COKiUY literal 0 HcmV?d00001 diff --git a/RunCat365/resources/game/cat_jumping_5.png b/RunCat365/resources/game/cat_jumping_5.png new file mode 100644 index 0000000000000000000000000000000000000000..aa300dfabef12a0eb46449cdaf8090959e605d66 GIT binary patch literal 3341 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 literal 0 HcmV?d00001 diff --git a/RunCat365/resources/game/cat_jumping_6.png b/RunCat365/resources/game/cat_jumping_6.png new file mode 100644 index 0000000000000000000000000000000000000000..08d577a6dd68d4ba8ae949799735884cda452db7 GIT binary patch literal 2958 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 literal 0 HcmV?d00001 diff --git a/RunCat365/resources/game/cat_jumping_7.png b/RunCat365/resources/game/cat_jumping_7.png new file mode 100644 index 0000000000000000000000000000000000000000..5dd8f3153888a36471f99d6598d72bb47595080e GIT binary patch literal 3396 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 NrMazHnTdDwzX05`^3VVP literal 0 HcmV?d00001 diff --git a/RunCat365/resources/game/cat_jumping_8.png b/RunCat365/resources/game/cat_jumping_8.png new file mode 100644 index 0000000000000000000000000000000000000000..d9fdf824ec8589833b7779820181a25b0443783f GIT binary patch literal 2984 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 bd{#jN*y=0H5`iOh`QMpL@^&k82~YbE-8uM( literal 0 HcmV?d00001 diff --git a/RunCat365/resources/game/cat_jumping_9.png b/RunCat365/resources/game/cat_jumping_9.png new file mode 100644 index 0000000000000000000000000000000000000000..5632c454f68f467ac9df557f1c7fd07161e3d9c2 GIT binary patch literal 3219 zcmbVPc{r478`osZNwObHnFf`^tj3rb+p&y&-z753D-*Mr84RIpSrUqll2lR@Q5?HO zL?u+RbSkDn93&iBl6<4(eBU4EI)8lcb-nNNJooea-S_?6%XK|(s<We&q=d4BkdTn1 zjkSfVVB`v3inyrY>%d$@2?iw&!JFg82;@W%S%8o!g+T(qHZ<a4z!e};B10bmhC)JH zxm0&=j<<t7p3I=Zh?^J~m&O#Zg@g=ExJ)8B7~p_Oz+o!g2=bxv9t2FK7(u-B91spn zb0COn9mN9Nq8#1HQNd&!1!7_hHss<33TOa_2<Fm4=xjXK2=Y}gUNGMj!y(|W5KgcW z<eO984$fe61`7b=U`Qw#fzSo(<6t-p4nf4~2a<KbC<ICmj?jf8Fi;c%uZO@RG2rhH zL|~9b3B<cvSbjGrSQ$ZrI2<M(4v&b4fJNxS7_7r^Bo2pzBT#S@3MxQA*^zV(kqf1> z)qiNP0N7*}mC2zp=-^F_L=q#6V+0X6`|T7orh~)Zis|g{u@XcL&LuM8NEiZ6qir7T zE1J!51^(;CKcd<0kxT&Y3a}YrEV3Xaf$BfVg7E#jp-rH`8@v;XD#!~l#DYN%qXBe| zjfD|Jumht|DR_M(Ne_d@;h;o-q6bCmBXCe0mWY62QD`y-&_$z&B+L&z|HRid*SEx3 z>X~BnPzWT_5@BYJH8Uk(bqQ#51lmHM@PlhZXLE>jGVsGTRbcx&7x%ARyg3UXau_Uk z1|#H0AvgyyI1F|Wg9%1qU|8^e2O^nD-;`)=X6f6ZEdUlZ9H3aT7&P$LFypEJ-~y3^ zCh4PfQBW+FjDn&mNGz0u)YXF$^~q$x9ug(kgM8;x{@?Jy1x~>?Yvq4x=Z8p8kek!L zn?bPnyPW{Kpodt3X2}!T*eN6=e#geb)SdgsjNi6&Igg#|Z7^1vPG`JCni#(jls4~~ zQ*t~WDe6UPw|G`^+tM^1S<+r2tw(Z4OG}F<D{|wMAN*{pIWOwu4GzE_d?6yOC^z)x z&M)iurKNDEUi)SHjS*jX<d&$YsJuwOkEK(C8`-wSeYRN#e?L?4tFS^!3&_t!d0Dc^ zRcoz+oLVd^wU4e*uHK`V$}+DymnPM2695}YlL}7hvuKzRp)af-0W*)0%thm9Urvgd zW+k-TsO!^UJzM8xu%j+mpTBr=V9&#wd+FWtMr#Dys=`Urb}troV<$iGG+gS^F1IXz zEI02*icuh=*jM(K9LpL{QcsDH9TXLRZLPY$GH>7QQ!@NAq0=MMKHc&|9g9Mzd*!L! z3g?hYu$Oi`dC09*kgfvdHvg){@Vlry%u9rV=S<QSNJVob6UObDSRp`)tsXfgxB~tK z4@ZYQL;IqB`{k+`gMXS-^@}uUa7{J0(8^5sivTHf8m$ESu!J+V)^Mm1Syr^khB6tO zvgJkGu#bj=<?bggoYWCbO)1Q)cso>zw)OFo1-s`O7K4>$3gO`LC;TRplyQDx_niQG zrEmVVy7bxh{`TF_;Y7)EQnR+Niz<Wfv)O8)fp!CK5sKZ^UQtqQmYSPYQ~Jt{x}a11 ztw1%ObCP#pSLiJ*e&NT^XD1gpU8V<LoLPL~!IS8ZHa%dT2sxJVtIj-VdaAHEa=Y3` zY5xs-e(g;Wd&fy-ik_U7F^?CFp5MByGA+4Sf_sRX$(uIf(`>2(c8S0!hddrn7;rPN z=EATY;SUz;WmBb6Tar3ck+Dne{GYc~N~log(>7#DO`1FAZ1tXAmyK`fC=&6Zk-tP2 z1P|}}%P8NpDFK_zy(00f-T9`lKX!XT(IIJ*D&2*JuCvvu;o_`~d#NKlCuywN9AaL+ zd1kAK!V-ypt=%q1FZ0dt6(@Xpv3#6vLd5VZJ44U$W?AQ*j{~lGNn7zp=rit~KK)%$ zzOqtz`w^MP@KDI;hoGP4WBCcve%Y^%mZqF-Hx7?Zyb~_f9&Ghl^3t10nI$gi5D=ET z)M8#IJb}q<Kwk*q`p5?=Xh|5~D4RWl;Poq3Xq76pHqZKVQ&zbtGu?-WqQvkZ(s1Wr zqAB$SE84rojhFY4lD1XZ^r02bts2bxladYFjn1x|pN>*-AsB1}Enq+Y<bSlC*j=nu zn!Z-GP~bBf(`I=NJm=mmQd2K`!yaSCZdpQ?J&85Ryrf3l9^Npb#9epdhoy{l%9?l% zr0tkcaBWoWj2%P15sn+dSOi?y03QORPqfK2wp?RTqNU0>_ePCW&-NyGpzww9odrad zp0_PWk}CI_PkHo72Gz87d%eB#cF<pQ31!MtZW9j2Xw1Zwjx~iDB!2v(>D1bj9&;A} zF~5bcOu98~xLj`bIjbp-SEl==%rpR>T2b8CGJYcM!gNAQ<FxUK%e3kv!*}?#elLCs zxhB3??(8YMN9_>7uuD5=0P1jLn@Zj_#NLs#%8+2Mm)Q4id1XmnyyamlRZGJIK5Ien zWUr^jQnN43gacKT=c2Mh6h_g#oHr$34(;vgtp7L}Gp^g6muRcdSR-{>Hlsr){n3zA zF#WyE-CI_){M<>Mww3ovPc?|SyLPyj@5@jxD10(gVLQ5I{FKK?dtKAMwt7q*tJ)Rt zX6EJ`;AnRq;|jkXl07Gn+M?p}fPc3#;_~)L-Fe%(KodoO<)ETG!ZY>1((PYyKM#IV zk9lfz^Ib|LW~$5attAc;V!}E->QZblco&|R{b|au6RKZV6d~CWbg|WCE`s?CGZh-b zK7L^~kz`u|9=!h33N_a7{`5RII`<vuL&8I`7|6u$(?fwdnx#ma*0WWm>nD77C6tMj z7vsbYK>ib;b)D|My#)+d+lU=_W_4%p>fABO-01AerQVvZhPIsL=*pVl?7icN6M(Fq zTKxUy3^KxZcHcu`#}g&wtXKG6Un%0n6F51*r9gi-?^<y=s5U|Va8*kq%FgcX{re;b z!n=UfiP#B}OuSuYSUKC@tJ^m%a}SJgw)DA1oRTc4SuP_>dx4o;OMcR)SNQJbjjg*Y zj6S6OF0T`-)pIGxOzwSq)#JRC9=VwE?yHyQ(kmM@FjV~R+Axnha>8Tz&DtFka;|O7 zDVO_7+*G_C<>kMvMy&Vs|2!SIc6J4=Gj{u^u^9b4PPl#{lsQrD9~L58<HDC;9sE?} z?h=yHVRGLiY09hqc|>s&o?8Z&J~~(S{AJx?$BT8klvCyR)bh6hOp{rp*3_lE_g5rp zX%_BdAn{s>{*vnsM|GvoDX&%Gn~D|*MRKnfYn<ij=c(|qJe8b{_D09gW<Gv<9#i6I zIf_U+?|7hLV$VRsOjC_Fe}H%p=8)DBdi?63Z%%(;_MctDC*_L0J$scp+#^&WpkzDZ zr~Rczk@VW89dX0};Q5R7!chyA=++oWN}54KWxRcxl$e*~{@@<d)S72@0e#Ok{90l4 zF)7Pz+=AxzEviFdzjilmA3dh1IvRMqzl2a>mR0|z_6#{7uSh#Sb`YDQ_xRp?Pk{?* zzR^I(;Hh#u!Ah)r>&DIn<=0CMnvXBoE;zlCS26svS!Yb|o#JQM146PHK{)b5o!OKY zD7o{A`169+BpL4x-rQt{wSGvOQ3NwR3+Zh#Hx-|(Ue_}x9$)iLR6{{kscu&gM|ki? zSC(<ANT)d6&rhZ`47+jb)YNqg-Xx)*_<lqxQ!_ZeE-0q;ByZMz;JWtfBYm*U;JHNO zTy6FzO?@qoj^yT>k=h|U*~6;?Mdgo+;#9;e$5#rTnqCk;cyP|s+5?xb_9YqffY2GQ zb(7kculSPhM*JujH@elUnHyO;SmQEMYN%LYcf-}m-OSlPqis6pH!F`x>uRR9t)a$4 onK%*1?Qb^)Y40rUFR}qbLH&21ud)WmH-8gs2#yxzW&!d40o?|Ki~s-t literal 0 HcmV?d00001 diff --git a/RunCat365/resources/game/cat_running_0.png b/RunCat365/resources/game/cat_running_0.png new file mode 100644 index 0000000000000000000000000000000000000000..27813318b18784b29f9a357440b8ccfb90402c07 GIT binary patch literal 3027 zcmbVOc{J2}8y}*ySg#@})0D|J`(`GSFx1G%wT&d1<%hv6W_~i1OA*;cS-Od&?p4WN zq8Qf_N%fY(HKj{<yCtT@a<#mp?d?71p8Lo9JLmU&m*@FB`*Y4W+0AvE<}#yY5C}w* zzMbZ-T&2pNtFc%~8KO5><+2)d^Z`ADfnX#{3_$F-LN)-U^I1WFJHX;bg?9lq5Xd4a z&(jC=VYpB@LOznUAcK_hMM^XTVq+^6u{fas2xS97JOLFp+1Lz&^0-tOlfXbTL=HeO zZ+o;D@Q8Nx<V1&Z$XuB17O0JsqEx^KKo(TW4--fzQY!3|UW#(RaE*dNKZ$^$RM=;y zd>C#}2cZ~%l93n$2aU!-Nn|9MNJg`)Nr4<IC>D(+pwKuJnux%nDFieHLxg_$U`m5x zZXm^-=Jds!@<fFNgP@3lLPbVKA|r7~p*RSIA(P1{G!})$B9sycNt6I&Nf83chOZiE zfP^FFi9nuE0A0|?VhbZcDop9@=P39h2IHGzf#gfBlvzVbSt1k$iAM4H3!#0ImVoZS zf8F?7X^Cf)2tc_55@Cdxqby0_hOb~{`u^F_f}qkH%1$v)Sr=9qO~{Gh0|Jmvqr#LN zB$vmfkT7fl5l<!~SOAxRz?0Bq1lgK}Mp$F<93p_jV_9tCS3Q4+w<qB2h$JF`NWjoA z7$>y7gSEY#qczSE?|{bBNRD5zbb$n92{^!4+dQT1FIfCPVkr({fCUQ0o<d>R*G6y) z7J@=auuufW5|P$WGX{&p6D-`AFI4Gs&@@2I+Xrx+#6mvwQ<^Efzj1-Z#<NLy92Q}1 z&A}q@T#Pk>jlmHREE0#K<YBN%9_$OA`~Rj7rF06l&@12d&etntLoRH;4TJLVZJYps za)!jpVR=y9Fb07vQP632p3>i66!Oyaz4Q<7?Y<?0z!u@mXrNAnpPSB+6f--_t9Xqg z`Ni-<2^xBuuN>M9O^ZLc9|=zmr^`#ildV!p452B|lwWmMmb|D=L+j+O=p>F%pLzJ| zU-x7(y_gT=IVZuL5fL-b|N8TK<WNjSh<i^@kJE9#!gEPmRW9gPI)6tj1CFbDn}0{t zFS^St{+BHCIUDEoJ^6;WP&>YIUZu>_VsJ-cyVo$Tjo&sp9NT7_y7Mk0rC2)Jpt-GJ z=g_~rY-sYNCVRPgchis}JX4A<GVyj%xrgc~dEMSP_2aq&`Rgp#K`(j3K49N0n!;v^ za8ZY6?HpGjWX-c0{jb=H_bEuDxS{2c%F*Wb_;x}{6&R=Ml=%ZmP2(?;;?b7HhY^cK z=leH58c3uQ(oRKAO)lG#JLuOjG19()n$|l0I>sWeb)#)aC9|+c!`R>AvH6xiONe(y zyGoXoB~N=88pIB(zFM+0J}u`!!z?nqapR)Pc)ATr`{~?LNGkWPnF2OA*-&K)NwjEZ zrjW*Xmpm|PsaWl&^oF77{aH<GAG<?#Q!KTgX0mftp07XElixbGTdV5oZLoTVV=$dH z%Tu^nZcpDF@N2Ha*|4l_?WGU3g7h{GPR{O;Kbk%zJ``jB?yxj|R%3>WY_c+sLv%i` zG0rb)+XGu+KoFHkE6&K%hb!7+2Ri1j&z|zWcy==NO4Z!HF~yCIOVMDUR%h&3r}Xqd z;}Nah!A_fSmO-dVJ%zraZg^BaT~$vQ!lkv|a9Sc?bU+Tg?W3!%*i(2WdH%t}wsc@R z^x6o7dTU~;P$jQ!<sUEi_1e5?84oW~xty~qCX{(-FaO@_(dpU=tKA`n5=cz8Mt$Nz zFJfnCo6sO@am+RwSaEfRNai@vc&F50t54njhVs38x=zH%esq#G9Y*vg$%!{g4ZJpL zp}|agg_gpyFWvWT(yXybcYjNG$=c!B$M;5ue`y<>i}pwqvj+2qDNR8q%gc&dR>6+O zoxYR)F~>+_A9Ct+m_h20Uf<xBc^sSw`JkmZzXDx2I?&N%sPZ&tn2|97?}{@h2nf9N zu%_a|ln>H))@1G7sd_h?<BS*nOZv}Q0Rym~cD*Z`&F62vcXb@TT4Z{rdkm7Uary4E zuG1O5p-KInmx{BnCq;2}iQbvm-(9Vq99C(qOY<HE^MLaleG{+%ZF~($FLVCIDN(IY zE9!izVve0zlo_CF>9WSB_2*YFnloagj(RH0sTBg`!63lg1EnRrc3@1PHHRh^b&NN@ z+S);%Dz6vnsqD1W_3PGjA^V#(CEkrRz~J{Y<%6Z;aerLMKLJiZ*k+jjK$4dBQ&eC! zd`+>1ww?2_>p96f^S`O9x&Cmg>-nuU1NOH9ykC%ADPj9^&ZpgnUA_+AMKODPbNj$O z%w>&jbEFf0t~K`H1lR7AAHAXa?ABm@^X&qS%=m`|PnRlabsV#Yi37EliLy0@GX6Nd zs*uA24Hgx6CR3j@sHr-6KaXB>cN$J@-kfkJo&WAyQcqo7`Kd}w)jiw3ytdQH{_JdX zHLokx+2vzHB#hLurpGCQU2`q7Cn|-|e6nKZ2rl4Ve#=tz6_wQ0p6T$57I1I(%P}GC zB=l8D*3}m*<Nf0kO(j~=wB+#;%9ZMn;Nuesu4LCKf$<5invdl`&tzwxM0NW0%|vMJ z!()Lfoq7}AGUp54hIIR8+)PeBN@4Zu_Zj(}4f{CKTW~P<x>FA}>SeahTeIl&YN{!` zDq;IynxwTc#~%0=1nP%OYzV97Xx97hIt9bu_mKBKwpQEKL6kAiW~#qDFf~kH<51t7 zVIi&Dn><NSKgS<|7`}J;dDXI2dDQ{V3e%DBYE!MaX3RQd8K_aV)#VPW$1_STbkh@- zJ!^G$vZH1`H`waK{WG>EHgai^#4-EvPj6Loi?+z(qvSM>zoD+e5>6$_2X~xJolme0 zk+0WYA~-k~>kZElr8<_r^CvxK0<%}MkXg<~c`MiE_^mT@ImXGTElQe{nPM^v-k7f6 z?eg;NO}p71DC7n!pZkEFmb`g%K>IzDRHSG1@H!SfW;`K%pA8w&^o#FxGkan^(~=8s z_*H$ky+wD;u!-vVE}zKhL*`Fzrj%MWIF$dsN>`>MKvY@C;Pa3iqvP$6jQg4`Rp6UC zoB7)1RW|>|R&JT2Z7s?)x4T#@zcKU(Q`Wk%vEgSAA@Brj%<8T+FNKCh-3vu0bZ_o! zuwMF`r_UzOW}DWgw3LyLVLs1b!&)9!lHO1m{?c~csTt&<s><#fj9PupYN=_1cH-jE zXBVP#i(Tr}oq8qKy}m7-9|JOCFvg7omaW#V27(@iQTFs2XSZ`b@R$~9Y~K8a45?iA z;F;L=!pH_4tCAqA+TD9SyVySQ-I9|E$qwo8`hH)xt+W?|`oVe?Q$>ZNGR>5&%W-$= z8wn0|s<$s8U9kPAs*}b?k);(oWc9YpCF&>l95F!>o(-IthEweCZ*EoRzNyN8e#uj& z=ye$ptTUV$bvAz@y~$ws`-Tx+RPwy<)W`X))DL(+Q{A$>k7UxNpu8-Pz*h?UjEqw% zok!+Y5Da*?Pe50909~%`39-h+gB#+QjA*j3#w4!h*<O{!kY??;U(ARV#S71Dx}z)Y Jl6}CT{{Xf&9%ujn literal 0 HcmV?d00001 diff --git a/RunCat365/resources/game/cat_running_1.png b/RunCat365/resources/game/cat_running_1.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ac9a0f24613b758a29dd840a841c562a6e24b8 GIT binary patch literal 3060 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 literal 0 HcmV?d00001 diff --git a/RunCat365/resources/game/cat_running_2.png b/RunCat365/resources/game/cat_running_2.png new file mode 100644 index 0000000000000000000000000000000000000000..2df844d51dfde3e5f9ef6687b0aa5fdf74c8fcc0 GIT binary patch literal 3344 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 X1=P?T4LO#y_>V$$-$<!;4NLtG05+PC literal 0 HcmV?d00001 diff --git a/RunCat365/resources/game/cat_running_3.png b/RunCat365/resources/game/cat_running_3.png new file mode 100644 index 0000000000000000000000000000000000000000..d145bf32bef5ed71e09a0236b02c980de1eea22b GIT binary patch literal 3357 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 literal 0 HcmV?d00001 diff --git a/RunCat365/resources/game/cat_running_4.png b/RunCat365/resources/game/cat_running_4.png new file mode 100644 index 0000000000000000000000000000000000000000..d8937e91c8f795ff6683af23d05f2104c62ee72d GIT binary patch literal 3115 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 literal 0 HcmV?d00001 diff --git a/RunCat365/resources/game/road_crater.png b/RunCat365/resources/game/road_crater.png new file mode 100644 index 0000000000000000000000000000000000000000..2d25a237fae00ba234e998211caac021260f6172 GIT binary patch literal 1158 zcmaJ>PiPcZ7#}N$4O%=XwjSg$DON*g=FQvrvomDX&Caea&Bm}U7^IQBoq3atoB89+ zi#r=A1P=x4!9zh0?Lp}!U@Kxt1$$_F3aRKt1d&kEUMeC4^b#qAzDcstLvUc`z4_+* ze&6r=z3-dL!$T)__Z;ZqIBs|Kq*Z6@L3X2^JJ|D!bFF2zd_v13^mORbHjW8bbiyV9 zRUeO&I>Aoo!UE~%xb0tijS)Ih8#L|E7jfnzrhdetIj;X$8ezLdC}@&#FDUTKzy8Jp z&nfU{)EcZsB{JcioQ}!q>7j-_-LegbKXw%KrzQjN3B@4wCxgUH3;Y_c$@ZC9;=!5= zZ58-+QX{otPzqxL3{e(r2y;L;L_;$m&g-uIIY1Dp63j_Z6A(02Xv!McxOkQ@c3iV= zRW{PGw*o&wX=F-LyWJMsIWdgKCD||x2_gw0fq4i?C!jbLf~2>LV3EX*y@+~Y05U|} z45w&;XJpr_@S|F76F5jVv|_4BDUKvrgp%)PrLB1<v`*gA*wQ;`bRr_vNfJ)QHailx zw;Rmldw-(Lk+CsP#U48sJZXjYlurU$wF*4@B08R9YO?MkNF0HvYEw|KtqDzCRt21M zY^0KAPKM1c&Q|e8#gL0-OVd=O$Z`b^l=1_`az0m9N>H)%ayPabBoqfW>E`xWZlj`G zs8UAnjWtU#!8D8;VK~`sgyD&hhRH-20i=m}aJYtTFUTxMvQt_w+9I)ckvNq&^ue0U zrndzJ2V+&s6IsZs3KSGoGlZsr6aj0Fjn#b4b!3O%h<DzRZ@p8Qg_RL?*_aB#N={|! z>9!#YSXNvHL=e+fcV*<t7%7;S7)2@ToOe2@Yhvx0Z8t}Qy=)E_3D`u%Y;?Fk{yxXX z?poC<HqvJ=uNQk}z@GAVhhLoiYu3M_jsDnr^5@>ZFJ~X}cb<Q>a%1-O%11lDnfs;h z=Ka1;f1la5eaEhk;aIj=-ShN8U%|My`t9|*k7s}SY<}s8|EL9*zyB{?9J~Y;ZVaN< zi_U}P)%n`_qIK<ueTU90E$;VjcE~@s=G!06=~27)-#4!=cWz~%D|1VuGuyba53W8w TzVPzr?9Wgw4_UVd#xDI2<&1&l literal 0 HcmV?d00001 diff --git a/RunCat365/resources/game/road_flat.png b/RunCat365/resources/game/road_flat.png new file mode 100644 index 0000000000000000000000000000000000000000..ec7457863c4c39f38a04148eeb61af77342165fd GIT binary patch literal 1112 zcmaJ=O=#3W6b}BO)j}_V|AZ7#!6cK(-zIjI?Pgb3-MVa7Tn}nzlgVz_=Er2}ZhMl7 zf8b5<Ab1k5g5XKPsyFc@2!i0*AC$ca^`?_{xAssPNM`2ceeZqmoA>TkCQc3y?HOVi zX1H|9s?zlUec{$E^n2!VyGNJZq);c5p-Va_#!Su$8<;KmsEMl>IkQ*a;W38Uc+0ER zNxgj5v_oG&sgKb0BZ_92u@l`0*=<bN25x#mmg~J-;8@Seau?JxC`WnR@=ndgcyex{ zX3w>4!{JUGXUDoG4d7#f*sebvBxX0uEyXqIJ~fLRyW~RJS#FtBy<B1QVT@Trka!ya znbi%!&<ubwx@#Y0A%Lm~WD#gQ1f~j1Nn`sDM-#@5YgVmdKOH?~xfUUjDT<v=N9f2x z7&k@9Fboku5kj7N@X2gIP?ryq(Ln?YCwA;b#0vv9jffiI49Rko>~a-;R4%Us4wAlB zR5h`SB2f~6==*7DOWp~o;{P<(^iFEC5f-aB31?!PUWq$808{zaPn0@RHs-n5qxXWQ zt<awFaX?B|mZN_J$8$_g(p?C!!(&x#@CvduzM)Ghk7UP&DsIRUXbj@4g*S@21&h|W zrb0!MieNmS8P63mazV)h#nKA{Y$-?x3T!;c?a|zQY;IkwnU66dVO$Ht=|Lk@S|JIO zRv58R6Ef`KGP1oOwH!%rX}M?%$KEyU6ywlmmt;1*H7Ga;sagh0d`49Ouc(^AHw>uo zNONqYW@Oiq9IlUdR>`;AsnkNthz4v-1tLXOsd~C?NIa4hmj=R+YOA{vbR`58#EF!m zn0C&pP8yhKd#2l!(V&Nw;lcr(sF;q<w~_g`bnIFsD_84&{`o04be$d9TsicjeyG>F zpL;&C>B7a|$M5X@^}V%yRDOT&D6YPq0=sr>x$$NS{K-cjAN>9NtodW|V(;O}pUo?0 z7KR^vP+yggEi8Uny!7<ilgB%E@BiA_K)oaVHnWl0cJtu*eW%Cvq_bWsOju9Hr{@0w D18-#N literal 0 HcmV?d00001 diff --git a/RunCat365/resources/game/road_hill.png b/RunCat365/resources/game/road_hill.png new file mode 100644 index 0000000000000000000000000000000000000000..c8f105dda1de11f043acb0f64bf62757549dcc86 GIT binary patch literal 1197 zcmaJ>YiJx*6rLK0rL<5hTC31pC-}s9+<EQJu<K@bXV)xd)3{m8A`*IM=1wvu^XSY? zcM>cZk)jBSB0`0t;-CI1Dp(3CLHdwDiw}ylrJ_{mFQE$l=no~{Np@qA(1DqI=gj%O zbIy0qnKvfJpV_tJ!5s|4>}rgfExPWfx3qnbKA)YQyGfUQq}Cymp-Z|b#!T4>Eesky zn!zoMoW(<{xWF(2N4<83bedy^9r`@VeE8IlD4Jmkr8GkJ945fRGhR?+Z+^ML0?#S3 zQ)*LeMpZoPjV{G_a%sG6FU{Gy!<L=~h18$~J|+mH{(O)aX^~y$HRwJw3oKZ7A#+7` zBdJbv0#w5o1D%JQEs8S8>AbG#BFg7n`zauak}8O@AZnZ>8meeO4fHOS28<ooXqok1 zIQmv(X9<Z6LFjh7d{^efct(J_t_z|hND@aqxMVRPDCL4=xX)nX#E!j)cwqoCMr4Hx zq{z}_H>&WXW^<D`NP1dP)r1s90^~)(_p{R0y%W;H|D~~|chX*ru+YLuxDea)NZjE* zn96tOK$#=W#yAjr^jy%q8QKdz4oJf+vh)k@c#fgLoGXdg;jpS&oPunPvvN@7knGr! ziY*z6R-b1pyk5_lQr)a;s-!?z7c13#rCiI)HKi&lX0F!9HiCqpz{dU99*y0@*6xTk zsxd|+jN4&2-*1G8*^q?EY#0Ga<MZJ0CbGRCvpkWV(nirHj=jU!smGxY)@3%lEmCk0 zQnfsWTwYZ~PEj?Tvvf(}kmlG(&C9L>9kz#eZj*1LQ>lfP5%se%6bUJ^O4ZBRI^+;k zTuOu`s%_4Nk_(ZfAXcC$3R&me)=7O6ZO?4GIU4k3bGUFoCn~0+^ZCOcKSsyy>xNlw zr&q1N*VamBMwmyBZoBJ~``><{@Y0_r&i!u#k8`f$Tw~6zEZ-{anJ&M7@gsgGd|><G z<@fAwrj}11>m<M4xaZS(c<GO!k(VEOeQMyd{JUT6-Mvze&)x^dANg^(b7c9g@2*2| zY*hXpPOpAAa-mTnzk{Ew^FIVn{>%;D`1T(#cCvi>uiy3zi9`2}z4%&X+lgP^xxBml vd?`Ir_~3Y*+y6y+>H2eT-hIt_g&AN@-C7&Ga%gfj`++oS<L1fA!B_tUwv>%5 literal 0 HcmV?d00001 diff --git a/RunCat365/resources/game/road_sprout.png b/RunCat365/resources/game/road_sprout.png new file mode 100644 index 0000000000000000000000000000000000000000..93d30594f5b10cd3035be8fb7e01108329095f89 GIT binary patch literal 1481 zcmaJ>eQXnD7%zf=Fc5~}Yep|OT-e}xAMLfh+d9(q)~(q($5x<Q;^gh!+qJCib$2({ zeMk_7Y=kMo94sy<qB3L>H+3L_s07KPgb5<S#Knb#Vm2LWP>8~OyRFC{giG$;_nv!x z&+~hJ@AF(saZ%o!SxaZ>bh<gte4zxbPobNcIUPL<Dyl}&vP8@EXr;1Gs|5<w*(BKu zF=q%=!V(Ciy6S$IrPED)IpFqa9#<hR${{_7`{<*g2tw<0S*xNEAXY&Q^TNtN*ou#S zb_&M=k`-Uax+qt~4*h}rdIgr&7rDjyDv^`$RoPfplt%$VPy<*r6b!3;)QXSC<<UNF zCUI=sMXR#n6Qn$@V$3cp5aaYTAySk9Gjn>*#8JRv_K7PohGJNfGLV#sU?`rYc-n+b zUN}mqNIt$qa7?B{Z&uu|X%U_zYin!uwFbScRFX8uaU{i%3_~CfLahsHAWDSQ)I<aU zs-hBzXaPBl#Ulc*T%%cWM0TQzP{ifB7dWg=YK2rIqaZ@kdWsB%;-!syt6B;CpT+~d zRd-zkk|j`;YZMV3i7zz)M)Ey8QQQ%+;h$9k=v+Whkj0u13~NroilZ-jDIoDC+U#Q} zC=rlly@U~nCc<l`Sppa&kzt|NKvUjCoCo1K2S?j-1)GUwj5O__a_p8ITdu{BYqV2F z!JM1GI>V|4!XixM4xrqVSni=%-mXBP$%<Q+gNa5c_RE^A`sE15nDiEGxeJJaaNLp} zKc$JH1*imGfRaOzL)f^?eBc2TBmh{G1=56tHBy9;HF1QOV~hkaNg`k^2A@Pr_#|Gs zPrivxMHW;>B*BI^GQenHk$Ps4qX|G8eJBuQkhW$Y&G=}*7y(Wqie$WV?(3w43AJZ@ zdv7$*%e~=(VKh++8lCH@=G8jglq*ib=8pb2vd6VTSiN{t%%7IipI6r0n1ZGjWLC{C zXlZ?20^;eMwv`8cm8QPFVAB(0n|kqg{WCk7i!XkAv$H<$qV#o5?CLB0!F_|*1~W(1 zLG?WMcLgkKKij%?sQS>7p7|*~^T$^89G&NE%zl10n6-HzeVhIFXyXCD_niezbzLu& zHg9?Q{U_HIUeN8IbL5vh{g21a&OCf$?mq*MzPO%Sy1{9gYTYGNkF*?{k$HRpbK)c1 z+LqC9^OIfIGWK|2_N&gW(NZCKpN;t5Hq~uU`f4CajU=^FJKNJ7F~{9y3vcW9r&RpB zAUx!d?p$~+FS@lM-&t}=pE{`YcH+sy!h54Pmw#NaH8wD95!IG<X-)T7+PU%`x7Fn- zEZDo@v13hZZ|wv>T)xiD>q|YCUi5}^mFir*CS$`DQ`Q$#E_D3_yGBlo^!NVp&4<Gc z8)xjMn!7K5H~p<MMK|hCu82$#i|)R8zT(cxp3@&}6X2mU8;@qp&2J<+JndyC|J||B z)!kOU$?Vy3PGUY?R#o;)atn4gXZ@GGzt#j}^Z&BvW!>I5!X+<yJN?g&@;<qvu=~J{ zli7QRj|XGV9lq6|z~Ld;TFXE3+qz);?zqq?)mOHknzmTi+CEy|RP6aY{&RKa770gk H)^Gj~ruZA0 literal 0 HcmV?d00001 diff --git a/RunCat365/resources/rabbit.png b/RunCat365/resources/rabbit.png new file mode 100644 index 0000000000000000000000000000000000000000..83e25af5b01d5bbb8d254517a5a2babf99ebd955 GIT binary patch literal 525 zcmV+o0`mQdP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv0005hNkl<Zc-q~T z%_{_P7{_<)%3H)uu?II%l)RRsgZAL)f`d4_kR0To<ix)q<zf${v`JX(wr@7u9%Ln? zWTkD(VP)TDe100G$!;^dn}er5{hpcq_5D8cd!Cur^uNPyx0`)FUk5Dt{r-9ACa)`* zID%6MK7pbV=iY!3oignWQ6VCoR;zV_%T;Is5g9l%o6WZcSMBwByD&J1XLyGcW|yp+ z{5I-#yK4&;SI_zaly8JMw0Jz8DpN5bDnsx96b*NQK%m`JY`9#m2E;s&{l#P-lb)gs z6h)B`v2xBs2yQ@HV-khgl8h)ujR;+Xq9Fyx6frH1EgTNl6w~lst%0WbuNdvXSSS># zH*A2wnh?@Kn!Q`BZAPD94ip1KpkJ@}B*Y+V(Bwq)FYl*<7pj$I5w0NtF?a+$(I?CD zNKOMW6?|uANF#8nj_)#zk>2YtsD|!*M^mT12ZL}!zV2{1Dh&2y&*^kl<}E`!2}jlY zb0gQoIt`+53=2l5su`{fH2g)=gZz=nWZqb|Aq#q9OSb{l%vvm#Q_^veAXmteBqd>m z{Yxe_B*+=TV6dF(SJdf9!-qtCsmbUOYLO45M@(EI9*>{dY_{Z|{c-pN2pmx8^%BN= P00000NkvXXu0mjf>MZN0 literal 0 HcmV?d00001 diff --git a/RunCat365/resources/runners/cat/cat_0.png b/RunCat365/resources/runners/cat/cat_0.png new file mode 100644 index 0000000000000000000000000000000000000000..c94ffebf337d0040892d7f271275607dd5740fa0 GIT binary patch literal 1797 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}$5JCa(|mmy zw18|51~x_^24;{FAY@>aVqgWc85qJCrQz&2Mh&PMCZHNa1|Z2G3dCvcnG7sY^))~m z1U!HkXcB}D$gD`s$xSTDFH#67%2zPfGuJZ&%CSsf0h=KLWN%u)h_HVF6Wlz71<VLG zP#uGjfsvV&fuWU=g@Tc>m4T6!ktu`Fd2J=26lZ})WHAE+w=f7ZGR&GI!N9=0Au}YR zB*NFnDmgz_FEJ%QDOIl`w*X`kgH44MkeQoWlBiITo0C^;Rbi_HR$&EXgM{^!6u?SK zvTc<jd;=7m^NUgy%=8TO43zA+6ciL}ic-?7f?V97+JQV<rHqo20xNy}^73-Ma$~*x zqI7*jOG`_A10#JSBVC{h-Qvo;lEez#ykcdDAuw}XQj3#|G7CyF^Yauy<|ZcPmzLNn zDS<441Bg3IGSd(?<rPD{1@xdkNJigK&p;oWw$zGD9NIuKIJE)82<|Nu%PJBJAez8| z0db=Z$OTrBL8-<0Ii(=K*qIv{0D-<Ch_nGa5Jei{J&4u_{92Kv(X}FUhUR6K*cm}> zLlZ{V<zJMU3XBo3TMeOFkj0SHgM!HloR}kBGILY&ib4J}2HJyF0;|RdTpE!ikTe3r z-pUu45>paO5?vBYQtd#=U)R7;*T^CSl>AMtj4ibdEUiF6i=h_H9Ot4`pb6Ma0c9d& zQ;<|*Gb6t!BtJjL4qL8<xB{#nstRg=jXo$%Bc*Xj1_Fx$bC4YuP$w)m+Hr9nuL0&= zCK*o`$B+olw^vVlhXl$TD6GE0%_O+=t&6`Gmr|i}&}@&zWou(OT)(Jq$(XJk8{Vx@ zAQ&>iC`h0)M54>3OG2+{&I`wjx7{Nn@4vqynU;`uccbK;JMuMiir-s)pHp1_eNJ*{ zsE{YyBp#h&wy@BQKfYh8IbKgZB)R5rvdEEFO{+h}tXVkw@{0qhIY;X5xSQ@%6rVcd z0Atnv9=k1%tkWJoNZYeWxL|_Xk859V@V=Kct>`zYQ;>cd$L#*%D@$Lp_PYn7XFT-h z-0<>ImX4dEU2{3j<j+fk!|zqUB#5kI+`LJ6XT(J9qxu#vZ7sTTe{@;CaZt`m{BwjQ z=5KVu?#La=dP-#$39@AiS)YFt;|o|NZL^twW0L;bT_0K2-3ekpo&R3yLvhP_XG1Hq z;H#a_H%u1a(OUhZ;ZNV=DeV={43xJ2@zh%XSk3JNU!L&kw;cDcd=h!YGwc4b{CAxZ zCUd4PpJE)-y}ZEa`Ui&j0*@qHuiuc%JMzQyYret%_1o5k{LPJCwqk$NpY7bK;XfqU zJ_<eDxBG#Fk}}VaR<Wp_oS(bv7JBUce(s=bk$|`X^J6`^RByrhLo7<GxbtSa-M><> zC~;Grn*X+b1G57;vnJN12uM!U-h4us@4>kbZ`lkw%_=l@>cy<lOL#56NP2tVwSohQ zJ7oP2F8;2y>%q6R6+42@9hz*w+kfwWSI~dyD!UykY<}Op{kWi7ZDNYT$pe#&KX4m2 WF5Ow`t=S7I$vs{DT-G@yGywoA8c=5d literal 0 HcmV?d00001 diff --git a/RunCat365/resources/runners/cat/cat_1.png b/RunCat365/resources/runners/cat/cat_1.png new file mode 100644 index 0000000000000000000000000000000000000000..3bb178f4ce21e44c8e66540972f1205ccd040900 GIT binary patch literal 1775 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}$5JCa(|mmy zw18|51~x_^24;{FAY@>aVqgWc85qJCrQz&2Mh&PMCZHNa1|Z2G3dCvcnG7sY^))~m z1U!HkXcB}D$gD`s$xSTDFH#67%2zPfGuJZ&%CSsf0h=KLWN%u)h_HVF6Wlz71<VLG zP#uGjfsvV&fuWU=g@Tc>m4T6!ktu`Fd2J=26lZ})WHAE+w=f7ZGR&GI!N9=0Au}YR zB*NFnDmgz_FEJ%QDOIl`w*X`kgH44MkeQoWlBiITo0C^;Rbi_HR$&EXgM{^!6u?SK zvTc<jd;=7m^NUgy%=8TO43zA+6ciL}ic-?7f?V97+JQV<rHqo20xNy}^73-Ma$~*x zqI7*jOG`_A10#JSBVC{h-Qvo;lEez#ykcdDAuw}XQj3#|G7CyF^Yauy<|ZcPmzLNn zDS<441Bg3IGSd(?<rPD{1@xdkNJigK&p;oWw$zGD9NIuKIJE)82<|Nu%PJBJAez8| z0db=Z$OTrBL8-<0Ii(=K*qIv{0D-<Ch_nGa5Jei{J&4u_{92Kv(X}FUhUR6K*cm}> zLlZ{V<zJMU3XBo3TMeOFkj0SHgM!HloR}kBGILY&ib4J}2HJyF0;|RdTpE!ikTe3r z-pUu45>paO5?vBYQtd#=U)R7;*T^CSl>E)C49&C+EUiF6i=h_H9Ot4`pb6Ma0c9d& zQ;<|*Gb6t!BtJjL4qL8<xB{#nstRg=jXo$%Bc*Xj1_Fx$bC4YuP$w)m+HtLEzqX%& zfr-u2#W5s;^X-+p+9`!H$3K4DF)zJ!!=ctoK^{d5MSSmg-prYlp}%y;0^PhNe^?)# zn_KkQDX4n8=5`Iu-5R~^ospHxGHp{T>($)VO)n>$zhiN~>g=52w7UK8-`DKlUo69C z{f2ALcP^L6m<Ikc_xqG&7E8xJIH)Ld@z(}}eMaBQbrwst-Z<v|L-~@$h6mRDmf8!S zNM^WN<rT2kM?^MS8L238M|p4seUywkVrLVktI&QjHlsO-D=#DP@`r_7aoSM{IeV&v zBtFh=wtVwQq&|=-oke~<uR3$7cxp%cs+Do!4!i9b-85GIT4$y)rJSkueDs2=;tM2R z#Tq>-=r?}x@nWn-rur#CFVU;j#W{tagvEDBbVv0#PtIQImC;)KY;G&J;fLvqy5HBm z===VGd-e}z-W^SG5vzQZL*`y@S!Leh8S_~4%Kn@ePX%)PU$`#n{W9%ThCYw;Pp3Yg ze=F<OKah8dJ;3?j)NFp`8Qts0C-g5^cy{R|{X;g68<KScbl)^atvY+1+x*PqYZm!V z2LiOMHt>CR_`I>~0}tE67F~_jpC2Dzk+0Hme{hulii3a5fs6;!Sv4N2niYJgSeNZC z;UE<!w93OvgLz9}O@xzi$T3-spEh5-YX9*)y!4-2Jvei@n$!8!r<VU)w@5INckc?f xjlKC7DsL!H@0l+k`t3}a({83R)-~%6Fk3V&+;&JNiXBvDd%F6$taD0e0s!ZbKGOgI literal 0 HcmV?d00001 diff --git a/RunCat365/resources/runners/cat/cat_2.png b/RunCat365/resources/runners/cat/cat_2.png new file mode 100644 index 0000000000000000000000000000000000000000..fd48ca83f21011390f12e1130e5ca54340af11e7 GIT binary patch literal 1766 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}$5JCa(|mmy zw18|51~x_^24;{FAY@>aVqgWc85qJCrQz&2Mh&PMCZHNa1|Z2G3dCvcnG7sY^))~m z1U!HkXcB}D$gD`s$xSTDFH#67%2zPfGuJZ&%CSsf0h=KLWN%u)h_HVF6Wlz71<VLG zP#uGjfsvV&fuWU=g@Tc>m4T6!ktu`Fd2J=26lZ})WHAE+w=f7ZGR&GI!N9=0Au}YR zB*NFnDmgz_FEJ%QDOIl`w*X`kgH44MkeQoWlBiITo0C^;Rbi_HR$&EXgM{^!6u?SK zvTc<jd;=7m^NUgy%=8TO43zA+6ciL}ic-?7f?V97+JQV<rHqo20xNy}^73-Ma$~*x zqI7*jOG`_A10#JSBVC{h-Qvo;lEez#ykcdDAuw}XQj3#|G7CyF^Yauy<|ZcPmzLNn zDS<441Bg3IGSd(?<rPD{1@xdkNJigK&p;oWw$zGD9NIuKIJE)82<|Nu%PJBJAez8| z0db=Z$OTrBL8-<0Ii(=K*qIv{0D-<Ch_nGa5Jei{J&4u_{92Kv(X}FUhUR6K*cm}> zLlZ{V<zJMU3XBo3TMeOFkj0SHgM!HloR}kBGILY&ib4J}2HJyF0;|RdTpE!ikTe3r z-pUu45>paO5?vBYQtd#=U)R7;*T^CSl>E(r`9Ryi(h3x`7;4eXaV|;)nt;s|P$oh) z1xY0~GxCc<^7C`-u;prqE5Q1ps-Ong=!4QUQW}S3Ah0Mf2ib7}b;5F^9hcw_o0Guu z<FBWSV@L$&+biB0xq&jrKR*83(a{*d#?#`X!R)ed&$^QLk~1VU?pg{j^_jxSoThe) zK~tG$ioi=3p}R|#tj?1YemeE_->&!Tzg>HIWSi{K1OKisFZ~vo{r>;0|69Km?VMAf z^&sTI?r?<{les3i&SPtl{CQ`K;Em679SrK1ExItlQM#}A&Vl(So-GTz@_;9F#o=8V z3nicaxp1JSWk$W!TgJB{zc#S!p4^$9V_PQJkyf#xEqccu^@3AhWu9$p7GB|`xx!&> z;)HGN(HssYCW-g8R{Edp7VK8Z$T6Mry1&r(bD73Lew{~*TK5gY3VPk&Br`1SXi{5K z_qFp^U9#BZ7p|>oKj(R*7qHhks@7^wdBgYW`?>=4>x(m5rhSxnw(QCBy&ee>_U{t+ z&Aj`qtNNdF_WnlSEeFFgc<Ync(oVirtING(a$c(;bw$rD6YdYs*VazX{@=5JrAqVk zg<mF#;`{i2o!EM=N%6^nBL1x7{|>uPioCn~)Mo9y<(k*eFFfyeeEB&B-$TtFB1(c> zbD6D#k1g;I5WW0-dFtixg2tFF3i7|=3pr|8Z~0dpTP^79Z}jCtLCHg*s@0rN4*I=N z-L>$@uJGAAWD7UQt~zG1MR04~%nE-N!yP=q7g+us;(hJAfYGhxl9;3S<{srA!cogi qGAy?(e0-a8Ig=mj9Il#N)_Dw`!aFOy_#&r*ifT_+KbLh*2~7ZSaYm;A literal 0 HcmV?d00001 diff --git a/RunCat365/resources/runners/cat/cat_3.png b/RunCat365/resources/runners/cat/cat_3.png new file mode 100644 index 0000000000000000000000000000000000000000..128fb5d284b5c4d3a79078f4b3c819b51c7466c9 GIT binary patch literal 1826 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}$5JCa(|mmy zw18|51~x_^24;{FAY@>aVqgWc85qJCrQz&2Mh&PMCZHNa1|Z2G3dCvcnG7sY^))~m z1U!HkXcB}D$gD`s$xSTDFH#67%2zPfGuJZ&%CSsf0h=KLWN%u)h_HVF6Wlz71<VLG zP#uGjfsvV&fuWU=g@Tc>m4T6!ktu`Fd2J=26lZ})WHAE+w=f7ZGR&GI!N9=0Au}YR zB*NFnDmgz_FEJ%QDOIl`w*X`kgH44MkeQoWlBiITo0C^;Rbi_HR$&EXgM{^!6u?SK zvTc<jd;=7m^NUgy%=8TO43zA+6ciL}ic-?7f?V97+JQV<rHqo20xNy}^73-Ma$~*x zqI7*jOG`_A10#JSBVC{h-Qvo;lEez#ykcdDAuw}XQj3#|G7CyF^Yauy<|ZcPmzLNn zDS<441Bg3IGSd(?<rPD{1@xdkNJigK&p;oWw$zGD9NIuKIJE)82<|Nu%PJBJAez8| z0db=Z$OTrBL8-<0Ii(=K*qIv{0D-<Ch_nGa5Jei{J&4u_{92Kv(X}FUhUR6K*cm}> zLlZ{V<zJMU3XBo3TMeOFkj0SHgM!HloR}kBGILY&ib4J}2HJyF0;|RdTpE!ikTe3r z-pUu45>paO5?vBYQtd#=U)R7;*T^CSl>E)CjLozSEUiF6i=h_H9Ot4`pb6Ma0c9d& zQ;<|*Gb6t!BtJjL4qL8<xB{#nstRg=jXo$%Bc*Xj1_Fx$bC4YuP$w)m+Hpl}m62j# zV6yadaSVyzd^_!|cSxW_`(H1^)vX$mSuA<CTEwyf9xPg_+ae&|_-K)<?y6AjiDrM9 z1-Er{{9_R{KR89eQMbj;yj5ED><POQ3!J>?AAfczHLc{G;FJTun~xh8zpJ);_I=;; z7;mqjrF={H-juO>aZ6lqy>FS(w*G^Z+@a`*w%qHyVLv#uH_Upf{#Ij7lhF;qx2aRb zUNlyJV7zy*az#sk<$cB#9I_HeXV3C95UrhXrPKE256xS*3q-6Ih-#hsIXT3b<(#AX zoO66uPSrwxLa%jacAx&K?_~ZXN3i6JQAGWDg$U=Kf{iQea@I~1G)SEovp`<%VC;px z_8+*63>Z9PRldyscJWTjeS!N8^Zy@Wc`>2;`yua+NBchfl$Ka7EWW^Gi^7?|ks2W_ zdasO&Uu$MHH7_W6BUQup_WDM*75q0HteNjP+)3N_>}0FzI;njYanJ9Zk+tBlniVm< zV@~6VOKZ1jpGh?AcP{o2d=YkHrQ)6ia}F<l`F5AUq$XCj8P3JxCl>|%UU=h~&Yt5F z7{%waaT{&q6RecC@p@J$@#;W)G1I!{$+MTmPnfNwzkzW@o36H1)chHV1<jF*lz%im z-#I&CS-#M@169AAvl<LvUoY4r@b>i7Zo3Bcgo8&@Pwj2%Z#>7kUm{KNv3I82n)co; zN16>S`1U!@KcxF1>66nYxgvA-a3fQJYb>FzhjdS^{vdbfg6N6e2f9M_l0SWEp7%b% zFi$P`BU?{4^W18_zWaq&H!b?ly~IoQ$A6g!=6jqIuCyPM;{X-&p00i_>zopr0H^9% AeE<Le literal 0 HcmV?d00001 diff --git a/RunCat365/resources/runners/cat/cat_4.png b/RunCat365/resources/runners/cat/cat_4.png new file mode 100644 index 0000000000000000000000000000000000000000..cccc51b4ea2ad38955bff3fc710fddd86682db86 GIT binary patch literal 1734 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}$5JCa(|mmy zw18|51~x_^24;{FAY@>aVqgWc85qJCrQz&2Mh&PMCZHNa1|Z2G3dCvcnG7sY^))~m z1U!HkXcB}D$gD`s$xSTDFH#67%2zPfGuJZ&%CSsf0h=KLWN%u)h_HVF6Wlz71<VLG zP#uGjfsvV&fuWU=g@Tc>m4T6!ktu`Fd2J=26lZ})WHAE+w=f7ZGR&GI!N9=0Au}YR zB*NFnDmgz_FEJ%QDOIl`w*X`kgH44MkeQoWlBiITo0C^;Rbi_HR$&EXgM{^!6u?SK zvTc<jd;=7m^NUgy%=8TO43zA+6ciL}ic-?7f?V97+JQV<rHqo20xNy}^73-Ma$~*x zqI7*jOG`_A10#JSBVC{h-Qvo;lEez#ykcdDAuw}XQj3#|G7CyF^Yauy<|ZcPmzLNn zDS<441Bg3IGSd(?<rPD{1@xdkNJigK&p;oWw$zGD9NIuKIJE)82<|Nu%PJBJAez8| z0db=Z$OTrBL8-<0Ii(=K*qIv{0D-<Ch_nGa5Jei{J&4u_{92Kv(X}FUhUR6K*cm}> zLlZ{V<zJMU3XBo3TMeOFkj0SHgM!HloR}kBGILY&ib4J}2HJyF0;|RdTpE!ikTe3r z-pUu45>paO5?vBYQtd#=U)R7;*T^CSl>E)COiZ;6EUiF6i=h_H9Ot4`pb6Ma0c9d& zQ;<|*Gb6t!BtJjL4qL8<xB{#nstRg=jXo$%Bc*Xj1_Fx$bC4YuP$w)m+HuV-T6-H< ze%$qRaSVyze0%k@wo9VK@sG(9qSr0eiSgQ~aMUUC=8lx))KqP5Pr*nJ&uQPLw6;d> znA-Y>QA|Uznp?8m_g(qPr@v31k+^(jPT{h|;(5Q$?A-f&ug&w?`-VK$Z+LD<ZZQ6E zUb3S<@we&~+lCyOg`6`j9M3H75u0Oi#NgNiH~mQux-*O>_~>f>IIw%Y+u;*W_ptlR zy_J!@aN_y~UhjooT82%&cbt2*_ev$28X0hizx%*7b)t94LwB|vX1seZG`QY56rK3s zV{iKT5BVjNUgzZ`@Oxi~`QXZwE)^<Uwy{TA!=zH`VxyGC(}zxyTrzh>zxNgLs-K(K z<+5UNn^izVScv0fxBFVWt{2vXYTW%D&~<gA$Kvzr7d&fA`t|z5-_@NrnnE)kRRmWb z`^j`GprdNdf!}vd1<rSh<drJC<J)dDsr^8SSaH7G{@e&{mzlEdcH3`llsUU+rKo_X zx}2st>)O5p2MbPDm3(@|c*e@meJ0oDG?_HkCY$TOuDv*O$h9$evs0MWf{Uw@QWat{ z&R1}RE6hrNRl(P`;Oe4tIf-o6^RoX6&aA6`%N*up93B0dWlQ1HWU*T%Zh>7o8KHY0 z_%EJ+?M{H%sk2diS-x#6Vs>Zfewlf#kP#gA95WmJIsQ-R^ZxTd5L6U<y85}Sb4q9e E0EDJ6*8l(j literal 0 HcmV?d00001 diff --git a/RunCat365/resources/runners/horse/horse_0.png b/RunCat365/resources/runners/horse/horse_0.png new file mode 100644 index 0000000000000000000000000000000000000000..58f5ba2d95651610db59c8d1d13bc76789b900c5 GIT binary patch literal 1836 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}$5JCa(|mmy zw18|51~x_^24;{FAY@>aVqgWc85qJCrQz&2Mh&PMCZHNa1|Z2G3dCvcnG7sY^))~m z1U!HkXcB}D$gD`s$xSTDFH#67%2zPfGuJZ&%CSsf0h=KLWN%u)h_HVF6Wlz71<VLG zP#uGjfsvV&fuWU=g@Tc>m7#@|sWHO=vp`j#6lZ})WHAE+w=f7ZGR&GI!N9=0Au}YR zB*NFnDmgz_FEJ%QDOIl`w*X`kgH44MkeQoWlBiITo0C^;Rbi_HR$&EXgM{^!6u?SK zvTc<jd;=7m^NUgy%=8TO43zA+6ciL}ic-?7f?V97+JQV<rHqo20xNy}^73-Ma$~*x zqI7*jOG`_A10#JSBVC{h-Qvo;lEez#ykcdDAuw}XQj3#|G7CyF^Yauy<|ZcPmzLNn zDS<441Bg3IGSd(?<rPD{1@xdkNJigK&p;oWw$zGD9NIuKIJE)82<|Nu%PJBJAez8| z0db=Z$OTrBL8-<0Ii(=K*qIv{0D-<Ch_nGa5Jei{J&4u_{92Kv(X}FUhUR6K*cm}> zLlZ{V<zJMU3XBo3TMeOFkj0SHgM!HloR}kBGILY&ib4J}2HJyF0;|RdTpE!ikTe3r z-pUu45>paO5?vBYQtd#=U)R7;*T^CSnEZ_lt&A<S4J@rdL5ral%^c^VRG<l1OaW&i zWK)n-VlyMZC?r2W#|~SrhPVQ(AF2v!fQ>#VO(UgoNCpCn0&|cZ7f>fGH`;Lp&W^vq zz`*3}>Eaj?!TI)zx3^fJ#DR}5>&|oEU11<TNo8tng9_(Du|O7G?xm?)ID{0#^=@4` z7PaG(_Li(b0XJ^JmZ+4@D~lFgFnYPHY~$|#|4+}HUKk+7%9<(nqww6!@3zM0E6>g8 zTx9c!>xt-(``Q~)<hVCXsh<8Ip~6l4Ez7^Qk9$nDcYgMhIm}yguzE|P^s_B5p8Dvt zny)*=Hzm<D=A}{2kvx+}X8R6aJ$CG6{IM{R$sdlr{E+s01MBJyW?!^3=H^7&KM;<& zsnPScAkOyM!5^*WKX~i+H`p6Yl<&C2X<^r^HlxA(N1xOhN5kS@ZRWotU$|c6idsFf z$B`}EpeIV^5aW+IPE1>Z7d2iKjxgIScVMkSpZCnIe^2enj^ICBrtfn^OZ<?}q{1l& z*A+apdn=p6_4uY4|I7=0=Mxv@*1zz-9a6MaeA?B}ZHNBaHSN%f+ivtyTqjoaez&bh zzU1_@zR!P5nB)tDuNLgrdF)+rcT-%8ehPcs;p~0dYKfoJ%EdPK37^@~E*DYOf5XzI ziPQG5YK0b0`1754EmMsdg-iXOO%;!4Q{zo$x^Bo4{*~$9a<!hj*UNu&{9wsh7T?bM z;!tQrtItHA1IZWJ&sWGyE9VKVXfTpF7G1IL`(oB}vJL<Da*I#Wob>#fkd|zn*WLQ< zhm3RQIH{gH(BF5p*zmkyz4(iN){{hMyu2?L`u&S$+`+3;539&67S8Lv`noOt_)D=v zPj|M4emeTuJAFsi_Qw`?zO(kH&8rZKT($kd$*25hv?qiod<;zx`o}x5eNBGoNl=0B M>FVdQ&MBb@0F2pW00000 literal 0 HcmV?d00001 diff --git a/RunCat365/resources/runners/horse/horse_1.png b/RunCat365/resources/runners/horse/horse_1.png new file mode 100644 index 0000000000000000000000000000000000000000..fb418be527d641bb7772d96000af3b561530ec85 GIT binary patch literal 1782 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}$5JCa(|mmy zw18|51~x_^24;{FAY@>aVqgWc85qJCrQz&2Mh&PMCZHNa1|Z2G3dCvcnG7sY^))~m z1U!HkXcB}D$gD`s$xSTDFH#67%2zPfGuJZ&%CSsf0h=KLWN%u)h_HVF6Wlz71<VLG zP#uGjfsvV&fuWU=g@Tc>m7#@|sWHO=vp`j#6lZ})WHAE+w=f7ZGR&GI!N9=0Au}YR zB*NFnDmgz_FEJ%QDOIl`w*X`kgH44MkeQoWlBiITo0C^;Rbi_HR$&EXgM{^!6u?SK zvTc<jd;=7m^NUgy%=8TO43zA+6ciL}ic-?7f?V97+JQV<rHqo20xNy}^73-Ma$~*x zqI7*jOG`_A10#JSBVC{h-Qvo;lEez#ykcdDAuw}XQj3#|G7CyF^Yauy<|ZcPmzLNn zDS<441Bg3IGSd(?<rPD{1@xdkNJigK&p;oWw$zGD9NIuKIJE)82<|Nu%PJBJAez8| z0db=Z$OTrBL8-<0Ii(=K*qIv{0D-<Ch_nGa5Jei{J&4u_{92Kv(X}FUhUR6K*cm}> zLlZ{V<zJMU3XBo3TMeOFkj0SHgM!HloR}kBGILY&ib4J}2HJyF0;|RdTpE!ikTe3r z-pUu45>paO5?vBYQtd#=U)R7;*T^CSnEZ_ltxOHI4J@rdL5ral%^c^VRG<l1OaW&i zWK)n-VlyMZC?r2W#|~SrhPVQ(AF2v!fQ>#VO(UgoNCpCn0&|cZ7f>fGH`;NXny;{& zfq{wF)5S3)g7fVaZ;y~bnd2WdjT70NLV}okB?Ao{m#kf+p&NC>iD@EJAxpUy+oK@! zSIZm%1@3UXa|tN8xXeW@pkqO+^wwKX8uDwhrR?_G&rlARnY-Fz$A^Cp56`jue&_R# z`NjRGpSDb9RA>IK!2EH|$Cs(Edv?A#sC&hJQNK-yl6d`w?&5`R7dvvSt{zzb;BbA# zg;r4))kiN(<?qfoXy&JLP2=~%vh<G+)`;x;Fd@sF>!VnlOcLj2jwJTX3f`qL+P$q# z!WK=xCb~{ZW;(t@;MOFr6$eekoJ>}fnwFiC`XL>+h$lH9jOoH6y_QWM<yIRQUsrK+ z`u~<EEBEv4?_CLxI9ctz1i!sm`XNDN)=sNihulq)`LCT*o;vkj)Q!I5Th=sxyH;Z7 zXUXpMP{Ay5o^G(+hCk+CpMBRqFO+Cqv*i!Z+K^`-`K&B<X>)yGPHT`mmAlZY_V%)S zf6M~Ywa>)8SjP28d&?(HmIWbMOfNl}&N*|InEf*3NnIf|^TNK@-W81I{~n$)5RO<L zs=wv^E{!jX&NXrRx=cT5e8frkT2{T&+wPCtb3ZH;<jrVb8?by<&%Ty|h0jl}IHdCJ zqip^ISNW_3c2hPoZc)%$IC~AVRg2Y(U0=84{@OEdv0VHDPj{ZP-*zordoixspe3Z{ zkWAFVw-;5+1iqd~XyHH6WHh;9wocdeIR!=!QVyIvAe;I?<hk_R1-Eze_=1XVPgg&e IbxsLQ0IPUNE&u=k literal 0 HcmV?d00001 diff --git a/RunCat365/resources/runners/horse/horse_2.png b/RunCat365/resources/runners/horse/horse_2.png new file mode 100644 index 0000000000000000000000000000000000000000..335df4b365500a82a7594b5ec9fbab10d4377b4c GIT binary patch literal 1890 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}$5JCa(|mmy zw18|51~x_^24;{FAY@>aVqgWc85qJCrQz&2Mh&PMCZHNa1|Z2G3dCvcnG7sY^))~m z1U!HkXcB}D$gD`s$xSTDFH#67%2zPfGuJZ&%CSsf0h=KLWN%u)h_HVF6Wlz71<VLG zP#uGjfsvV&fuWU=g@Tc>m7#@|sWHO=vp`j#6lZ})WHAE+w=f7ZGR&GI!N9=0Au}YR zB*NFnDmgz_FEJ%QDOIl`w*X`kgH44MkeQoWlBiITo0C^;Rbi_HR$&EXgM{^!6u?SK zvTc<jd;=7m^NUgy%=8TO43zA+6ciL}ic-?7f?V97+JQV<rHqo20xNy}^73-Ma$~*x zqI7*jOG`_A10#JSBVC{h-Qvo;lEez#ykcdDAuw}XQj3#|G7CyF^Yauy<|ZcPmzLNn zDS<441Bg3IGSd(?<rPD{1@xdkNJigK&p;oWw$zGD9NIuKIJE)82<|Nu%PJBJAez8| z0db=Z$OTrBL8-<0Ii(=K*qIv{0D-<Ch_nGa5Jei{J&4u_{92Kv(X}FUhUR6K*cm}> zLlZ{V<zJMU3XBo3TMeOFkj0SHgM!HloR}kBGILY&ib4J}2HJyF0;|RdTpE!ikTe3r z-pUu45>paO5?vBYQtd#=U)R7;*T^CSnEZ_ltxV0d4J@rdL5ral%^c^VRG<l1OaW&i zWK)n-VlyMZC?r2W#|~SrhPVQ(AF2v!fQ>#VO(UgoNCpCn0&|cZ7f>fGH`;M|1Rl7~ zz`#`L>Eaj?!TI*;X>ZX$nFED;Bfl+sp*d02E%i&ALe~YQoJie6x!W>>cXO~fa^7;^ zqVbErD=cue(n_<1-9aqes+YPp9apOU@#5=Wzhb@O<*QSktonJdeWqo3+PU|C&RG_F zdu=+QH6ipt{d$L&BH{^F@AbQDAOEntdp|_Qpx5tNvZh%wYuIB}y$9T%63hN;J^Q%G zYt7NTE6KKNnhZPYVvd%(1g>FP_}0C~zwfcpnnO$$ht^9R;z&Due|w_3St949#O1je zEuAhC*BsD^`j%*&c3}GLiLz^&7i&*DAahH%oYhB9@^H)@2h(jy%6t!%+$Qq7-|ad6 zgG2tyjlS<2q$WRIw3}t}{l?P;f_4tFTuJufFZ+&VSoem{$a#LRUfj={udRC{r`{2* zCx=CEb3Z>ZDSB3bm3XlIKefhUo9!HmYc>U23(s?ZC}qL*{JXA>f5K1SV=Fz5F^KDL zWIMP2^STc~{c1U`vLQRRtxdSMv(HZGyhYqW-#f>oe=G>>E5CSieeRQ{nwH5MinX_} zh874`|9ARvyYolIw8!i{(rNEs`Mu-F-xkvTQHH;e=X!zcxpX6$rRQfq@VfF?%&Jge z+P;h%JC_!oJG|m>?{16CM&-O#{WWd!)2$_3jB4t5`mSYuu71FDui<HdZmpB!i~|)9 z>$WaQPhjmix}te*`Qf$G_*Pf4?E7uA>w$@E!}+~!&3#FWSiTjt?|v+IN7n91N6eb) z2gjH5hv`ce?=1NB?y=?{egn?c7bN1Ndo|R&7EH6&S^hbLsjXhcKS7Cig(JJ0z@g8K zD&m_xza8<>+PgX9mu=tWC)2jfd3oYuK&RQ9L-X6ZLnBi}LCHZOzHz?gyRDnIM$DcI PswO;L{an^LB{Ts5JMezl literal 0 HcmV?d00001 diff --git a/RunCat365/resources/runners/horse/horse_3.png b/RunCat365/resources/runners/horse/horse_3.png new file mode 100644 index 0000000000000000000000000000000000000000..341718ed037a56ad5c4fc4f2d646648d3b628797 GIT binary patch literal 1881 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}$5JCa(|mmy zw18|51~x_^24;{FAY@>aVqgWc85qJCrQz&2Mh&PMCZHNa1|Z2G3dCvcnG7sY^))~m z1U!HkXcB}D$gD`s$xSTDFH#67%2zPfGuJZ&%CSsf0h=KLWN%u)h_HVF6Wlz71<VLG zP#uGjfsvV&fuWU=g@Tc>m7#@|sWHO=vp`j#6lZ})WHAE+w=f7ZGR&GI!N9=0Au}YR zB*NFnDmgz_FEJ%QDOIl`w*X`kgH44MkeQoWlBiITo0C^;Rbi_HR$&EXgM{^!6u?SK zvTc<jd;=7m^NUgy%=8TO43zA+6ciL}ic-?7f?V97+JQV<rHqo20xNy}^73-Ma$~*x zqI7*jOG`_A10#JSBVC{h-Qvo;lEez#ykcdDAuw}XQj3#|G7CyF^Yauy<|ZcPmzLNn zDS<441Bg3IGSd(?<rPD{1@xdkNJigK&p;oWw$zGD9NIuKIJE)82<|Nu%PJBJAez8| z0db=Z$OTrBL8-<0Ii(=K*qIv{0D-<Ch_nGa5Jei{J&4u_{92Kv(X}FUhUR6K*cm}> zLlZ{V<zJMU3XBo3TMeOFkj0SHgM!HloR}kBGILY&ib4J}2HJyF0;|RdTpE!ikTe3r z-pUu45>paO5?vBYQtd#=U)R7;*T^CSnEZ{5tPD)F4J@rdL5ral%^c^VRG<l1OaW&i zWK)n-VlyMZC?r2W#|~SrhPVQ(AF2v!fQ>#VO(UgoNCpCn0&|cZ7f>fGH`;N1vyv5H zU|=fnba4!c;Cy=}I-{>p=D^4H-tznmKIyb%Z_70*-FGCCPAM)GnJH5A^w8YyyKAT1 zl?V@d<m8rpXGicYQ#DsU;l0XJG?Sj1w9kD1{blX7&6)4--Sc?)^J@C}hyVZh@BjZk zRzPK9io!{UNsaY$8Vl<S|9$L<Z8A|?r1AUC`LCjNN<SuZYozV@w8k@Ld9vLqL(zS+ zThlWf`I)SHdqnjA{1D!kCjB>0P9{U(ozuPDr==`z7U?)hrY#mpQ<6JfQPDE_MZf+5 zk(-s)Vh?qFu9k-+8pbrN>;?*5Um!HuFzU;t1h!>~qU#iz7v4A$tA6jW=bgRZ%f8&Z zD|X07?x<MFfsJts1U1WT8LKzQi+StrJ8*Q%;qrI;Cj4+)?rhPVcc=05)x$m|iV^(b z#RBsaZ}A^)D*EKDk@Ec8$pu`25ns3qW!Mc^6Dz)*FBF~qP)qlSX$1$najE&mp3MdB zwFMWq?TqfvW4PA)eeR4-!^5Fr2f9p6tqXbOA13In<1H3+oi$t4pxV7aO6;BOoWr>h z&SIr|ZdA(1T|4+{4R6fs0_Lz^-X#kdE!h{=vdSfx`;^L_d#tzZ;Nw5KbM7>LKQ!OX z)Mu&t2e#z}Ja-M2?o5*J)!cIE=zcfxIX7G@P5dAJaDM33D>*~>9_vA`b^n}q_PqX3 zbDZn=$MW3y+{$)(4=ZKY==PuJv2&A1JMba>`OmzgL0b+sNpFjq=iY53Rko1zot>P0 z#fbxVuO}(nEf8nE$fQ+i(Ww66&bz~pPMeo~NMzM}_TodI*>T^)kKZ-EKeU0*>tUtq zaUruOKht&Z-*rlsyKg<cyTfe0`}8N1RhT{5{ypdU!!+4)Ud_eNv!;V;2TxZ&mvv4F FO#sBTc{cz6 literal 0 HcmV?d00001 diff --git a/RunCat365/resources/runners/horse/horse_4.png b/RunCat365/resources/runners/horse/horse_4.png new file mode 100644 index 0000000000000000000000000000000000000000..25423fbd2ef005b117f827017b49361dca2218c3 GIT binary patch literal 1838 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}$5JCa(|mmy zw18|51~x_^24;{FAY@>aVqgWc85qJCrQz&2Mh&PMCZHNa1|Z2G3dCvcnG7sY^))~m z1U!HkXcB}D$gD`s$xSTDFH#67%2zPfGuJZ&%CSsf0h=KLWN%u)h_HVF6Wlz71<VLG zP#uGjfsvV&fuWU=g@Tc>m7#@|sWHO=vp`j#6lZ})WHAE+w=f7ZGR&GI!N9=0Au}YR zB*NFnDmgz_FEJ%QDOIl`w*X`kgH44MkeQoWlBiITo0C^;Rbi_HR$&EXgM{^!6u?SK zvTc<jd;=7m^NUgy%=8TO43zA+6ciL}ic-?7f?V97+JQV<rHqo20xNy}^73-Ma$~*x zqI7*jOG`_A10#JSBVC{h-Qvo;lEez#ykcdDAuw}XQj3#|G7CyF^Yauy<|ZcPmzLNn zDS<441Bg3IGSd(?<rPD{1@xdkNJigK&p;oWw$zGD9NIuKIJE)82<|Nu%PJBJAez8| z0db=Z$OTrBL8-<0Ii(=K*qIv{0D-<Ch_nGa5Jei{J&4u_{92Kv(X}FUhUR6K*cm}> zLlZ{V<zJMU3XBo3TMeOFkj0SHgM!HloR}kBGILY&ib4J}2HJyF0;|RdTpE!ikTe3r z-pUu45>paO5?vBYQtd#=U)R7;*T^CSnEZ{5tPG8`4J@rdL5ral%^c^VRG<l1OaW&i zWK)n-VlyMZC?r2W#|~SrhPVQ(AF2v!fQ>#VO(UgoNCpCn0&|cZ7f>fGH`;Mc$a*Nr zz`*3{>Eaj?!TI)zw|8iu$bpZyoljj_BRw&(DPV#do7=<*t&<P1H9k&jvgrE5V5ue0 zsgZF(WtHRn1?)?Bvo0y9+p>4IEp=6xc**<hsbBy3(+@v<@HKAHoC>i&H@3aE%znT3 zo7K~z$Q02NS{v?YZ%E?g+R$aXMJV-0TcyiKd$R{luLDGHAKM}Obj9&h9_6m95Buv4 z)+xH{mM!FDzrZ2>{fXkIKNmYK)h~$_T(^GkgEju6u;>jA|1_V+)n}Z4L^DSfvgieA z)T|fnuQ@PXH&T}Gk-)b@yfuAi4Q2&QyI7DXHt*2yyDa{%+%C6&nyLPyB`xQG=AMSX z6K?lrOSF2{AHQ>;_DizeJnsEdt)dP}7bI$5Y1W*vn>&zIO;Y}VFyAA^nvbe6KU6L) zPg<2x@oBb2Z@IyB)r#6@HT@bsd68KGoYKcu7w(e^4|vr%`F!nzy~!T=_x`MVEX8`b z&#uv0;-LPY0}?*F_@6(ty|u<HY{xPKyR>u9bSw|~<*qO`_!xb|;oHGb8MmV6**~|R zt(Lv_TAJsemrMDX9T_bt(Un>JX&2l6R&a^$Wu5%na@pbM#}irI3dQnj7}f`v9AY#3 z{3P%OyZpsoyNZ6Z%!M1uZw2;q@8~Z2QCXSms+@D6Z-2+!4J~s&l$=vP%$C)5a`nX) z-4DULd9Ck!UvsKTq;~`3`y8b-{fegIir$nNTUaY2zNJevo&Wh#%Iu--4exr{I<<wG zlRfWjP+#BcuDvNhCVf-+LiuS~>n66&Tg?0~e7<W~;~J(&R<5uI{5vO4ODqZfr35PS NJzf1=);T3K0RR{&V(I_@ literal 0 HcmV?d00001 diff --git a/RunCat365/resources/runners/parrot/parrot_0.png b/RunCat365/resources/runners/parrot/parrot_0.png new file mode 100644 index 0000000000000000000000000000000000000000..a3e36f06f6435425bb7edc96b2718f7b43af255f GIT binary patch literal 1865 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}$5JCa(|mmy zw18|51~x_^24;{FAY@>aVqgWc85qJCrQz&2Mh&PMCZHNa1|Z2G3dCvcnG7sY^))~m z1U!HkXcB}D$gD`s$xSTDFH#67%2zPfGuJZ&%CSsf0h=KLWN%u)h_HVF6Wlz71<VLG zP#uGjfsvV&fuWU=rGkM0h+$~PAp6<pEKrKGz$3Dlfq`2Xgc%uT&5>YWVBU}!5>XQ2 z>tmIipR1RclAn~SSCLx)GKs;a!V1XDO)W`OsL0L9E4HezRRXK90<uBE`br95B_-Lm zN)f&R3eNdOsS0L#26_fcc3cVy3N}S4X;wilZcyz&o~=?wNlAf~zJ7Umxn8-kUVc%! zzM-Y1rM`iYzLAkGP=#)BWnM{Qg>GK4GQ<#=IWDQi$wiq3C7Jno3LtY6lk!VTY?YKi z7Qq3;oh6xR2%GYXq22;|P#+|tZ>VRWk4;-@MJ5hyAQ_z6fMEpp7K&vRi3Jc%;J|>m z(FWuKtH_|#;{2RakYDV~jSPT5-w;IFfE|b;jqn~sYXp9+$kOOq5jsQjGE3}?pthk2 zqwDf7%1i~u2-vNLP%X$}Na{hsWCc#lkuI6Jsd>d9{}}`A!771OV+1aZND@dIfnjgu z3rvYAi6x0Hi6yCapyaP>V5n<k83IcFW>$u#+6I<ZprFN2i)M~<Q7X^`Y^H!R5wa;r zDzTZ7Ulfv`pJRtDS3_I@)(=$$HNZw6l%|o=I3xpsMS(fUjti(0mK*K3UV6Q>WME)Q z@N{tuiQs%Y)wWy2QJ}57Dy{6;-B3Y3KanHO#=Rnjh7-8?9D9x!hcW+en9-4tk(Z#5 zl%>`o!MUh$W2eHs&IJlwO?t~a%+0Oswth3I^?ko{ueDpAW8l@VU$0&H;=bB+@lBS0 z-#J};`4rB7Ze66&7hv3GUbXk$<+}a<w|esAueIo#eoSrMyQdUdwNTEPdYSyMbG z=^VPQ^FipZ@*hSyvuRqTl6x(g{>WT?r9bVE;1|xF6PLXVG|aH-_`_!YYj=6@hK9Fn zOPb4jeyf#Tj8_bMP&sSwl+>GyU*>-J!g8W?)s+XL3H%%GUfU+j5Vzsa_lw4M|Hb!Q zds*^r!@Mq$o3A%y9=P~@)4tT3DMC*937KJalNB|^yo`>SD6Cwb{99@Ds#(r6{tDb- zcx=0vyNY#rqP?NM&U5~??=J|I*IfM6zOv_oy5!<x@f*e0J-E-uUvft|h3R%>d8EIK z(XNRP9xZmf`BUh-)U>^u4v5cpon@1E#`T);WK9>=^?VO9Yi>`;x+~}z9KYrU)7>|W zUlKkw1s&a*zH3u;O8aa>5!3L%EnY%ORj(O~4?YdAQS<XVpcX$*MSUad#0EQ+#Yye+ zZ+(4kHrX&w>rM1zbDQ6N{izZsuVx+Cb@yG(?z?s^XaB7~mVbPg6|e0<GrNyR%{$7v z>z{9&Xuf}P(LBvx_k<rm<GFrL+4a`75{d2G1-=PAIDTSX=%c4%A4_E`kNop1shYFG zYNe-T7_)c7^#6+(_m;c)H|X29m9LSt^K6c}{5_^*=VIQesg?7N78_nEUsq_wRo&3O omTT8Vw&sI&%g^Lk&USch-sz??#ZUX!a!_sH>FVdQ&MBb@0D{PM1poj5 literal 0 HcmV?d00001 diff --git a/RunCat365/resources/runners/parrot/parrot_1.png b/RunCat365/resources/runners/parrot/parrot_1.png new file mode 100644 index 0000000000000000000000000000000000000000..9c1bb4795ecc934f71b7b0902aa2de20e6bd79a7 GIT binary patch literal 1887 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}$5JCa(|mmy zw18|51~x_^24;{FAY@>aVqgWc85qJCrQz&2Mh&PMCZHNa1|Z2G3dCvcnG7sY^))~m z1U!HkXcB}D$gD`s$xSTDFH#67%2zPfGuJZ&%CSsf0h=KLWN%u)h_HVF6Wlz71<VLG zP#uGjfsvV&fuWU=rGkM0h+$~PAp6<pEKrKGz$3Dlfq`2Xgc%uT&5>YWVBU}!5>XQ2 z>tmIipR1RclAn~SSCLx)GKs;a!V1XDO)W`OsL0L9E4HezRRXK90<uBE`br95B_-Lm zN)f&R3eNdOsS0L#26_fcc3cVy3N}S4X;wilZcyz&o~=?wNlAf~zJ7Umxn8-kUVc%! zzM-Y1rM`iYzLAkGP=#)BWnM{Qg>GK4GQ<#=IWDQi$wiq3C7Jno3LtY6lk!VTY?YKi z7Qq3;oh6xR2%GYXq22;|P#+|tZ>VRWk4;-@MJ5hyAQ_z6fMEpp7K&vRi3Jc%;J|>m z(FWuKtH_|#;{2RakYDV~jSPT5-w;IFfE|b;jqn~sYXp9+$kOOq5jsQjGE3}?pthk2 zqwDf7%1i~u2-vNLP%X$}Na{hsWCc#lkuI6Jsd>d9{}}`A!771OV+1aZND@dIfnjgu z3rvYAi6x0Hi6yCapyaP>V5n<k83IcFW>&_g+6I<ZprFN2i)M~<Q7X^`Y^H!R5wa;r zDzTZ7Ulfv`pJRtDS3_I@)(=$$HNZw6l%|o=I3xpsMS(fUjti(0mK*K3WGj^CFfcHc zdAc};L~y>Hwm&<>QQ-LZzk39VRi?8nijWBSz~1HB)EemMxMpq3jUVhR)zZ;_<=5zJ z3FzqTo!gP1#cZY+r5R|#r4_!i{QJ8<XHLI+{Pga=J5QgUJ0>l$Z@2O0&vWO_E$<9s z{(0Z}!P||Dzb*F5%eqEq@cuP_wCkPj47<fnI=edG>fMN68KSkgZ}F@R5|4E14vBwR z&6T<JQ|*7732Ofi{^Pz?B9ksG<5aEJeljB}CQ(-WLFGN(Ya0V@Snm3K<xO?(>pSn( zs_0Jja&Hhz={G%D{6W;}sLUM~@s3)fwv7Mx6fPHKe$U_X^!F>KqcIb=Ui+QU@o$nX z>$*nUiR>wcDw#HIu^zo|_om&xU?zDjF?VxQ_SS9E=eNxk>YgC2`O-CX@!_5rBR}af zorI#Gsg@SG);+mAP3fBR??j}ea8K!4^kPfo?G4F{SF;MPlm+DQ+)m{X3;tJLHJ3-; zus!IX)9LIvM)`A&zW))U_K#VD)zRSefjFPz#vP~M6dyhRHG|#U;%3gQbK6||oh`0s znE0JY4_|*hyz|G5&PnSR?f7u)y5-!xm1X&Qn-V%}1LxGfe!{q*FU@nZ?e^)*C+zR3 z*D3tO92$}0!94FF-wc6U*Y<qPo-KPje9H!(%6Y>7x9wiH%YB+`_leKObBtTH9{hc- zswrEc!s$`cHu1mOw!0esTU4HRcl6ZzxJ{bRe)=irT$g!nCLd?-u;DrUL1f=L*MFhW z?z!f<3H6<JF1z&_xN`*bUCXB=Hhn&k%UYVt?fgDV{hQ*6`vO-=FWo)zY3YgQdluh0 zc3b>Y$h}<F8Sxu#oY*4&JiR<M+NIyz=5Wngv6FvzQZ6*^V6JD3m@6kDw%F1WR7ZHa L`njxgN@xNA5juk3 literal 0 HcmV?d00001 diff --git a/RunCat365/resources/runners/parrot/parrot_2.png b/RunCat365/resources/runners/parrot/parrot_2.png new file mode 100644 index 0000000000000000000000000000000000000000..9b6f3e09d20e4db1437b7124453f4e4f475d0b5e GIT binary patch literal 1849 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}$5JCa(|mmy zw18|51~x_^24;{FAY@>aVqgWc85qJCrQz&2Mh&PMCZHNa1|Z2G3dCvcnG7sY^))~m z1U!HkXcB}D$gD`s$xSTDFH#67%2zPfGuJZ&%CSsf0h=KLWN%u)h_HVF6Wlz71<VLG zP#uGjfsvV&fuWU=rGkM0h+$~PAp6<pEKrKGz$3Dlfq`2Xgc%uT&5>YWVBU}!5>XQ2 z>tmIipR1RclAn~SSCLx)GKs;a!V1XDO)W`OsL0L9E4HezRRXK90<uBE`br95B_-Lm zN)f&R3eNdOsS0L#26_fcc3cVy3N}S4X;wilZcyz&o~=?wNlAf~zJ7Umxn8-kUVc%! zzM-Y1rM`iYzLAkGP=#)BWnM{Qg>GK4GQ<#=IWDQi$wiq3C7Jno3LtY6lk!VTY?YKi z7Qq3;oh6xR2%GYXq22;|P#+|tZ>VRWk4;-@MJ5hyAQ_z6fMEpp7K&vRi3Jc%;J|>m z(FWuKtH_|#;{2RakYDV~jSPT5-w;IFfE|b;jqn~sYXp9+$kOOq5jsQjGE3}?pthk2 zqwDf7%1i~u2-vNLP%X$}Na{hsWCc#lkuI6Jsd>d9{}}`A!771OV+1aZND@dIfnjgu z3rvYAi6x0Hi6yCapyaP>V5n<k83IcFW>zK!+6I<ZprFN2i)M~<Q7X^`Y^H!R5wa;r zDzTZ7Ulfv`pJRtDS3_I@)(=$$HNZw6l%|o=I3xpsMS(fUjti(0mK*K3H2pf%7#NrW zJY5_^A~@epwayj^6lr*$Tz>Y9p0x^F&mlG!MKL9@%)g9fVv{u3Hf|7E!{W^yc;!%( zz!9YhTQ_wjC^v0WN}8y)WW(hS38j7Mf6k?)@7!#>=JA^~0ymh`&;2$`e`mY+io`MD z8==BGmia8dKjUBjv)cRj{pU`9kZw@)!TOKe(jZGlS>7vITUnQ0-FB_2mn-jM?ic?9 zz8Aw+Uwyo^+~H&LB%2w$YSt&WR_PhZC$g?OXqC}x7@l)>UX#A8labrJ=V!grxbBMW zJbnMwr_}*>t?pQ<{JL}?s(NC|#}o1g<yqoCYF=9ydR)!U*rc4Zihat-DNOk%gv>82 zJ~pfUh5E0YVn+dw=82nLF>Mj~;V~^PvAv%0z2&AKGK}9#N{ft_%zX5~|2KQbIW4)@ zDQEV}%-?w|<?#yT`quoW)`vV33peVV>U>l4{)X96$sNy+DcskHnd`vWH+i`R`xlvS zVm~fRl*(#N_;UHx*S=jhK09h9ZffYc@%Vsl*@~dkn)Qosy(l_(F3*2gp32cFCI?fi zSJka9V?LnO`{nTTI@i3JTdn$wi<U%gGMxT#vg?#jsqrUF<(RfqxtC~tw14&IkZj5S zg2QGC`ijw;4S4qOrkuU}K%MXPOC{Mm(-qd;@jPK};J?w)?)(WwZ5#7F$BS3Tt$*Jf zWx(*gX;T)vs8mX|ch0r7&Tkp=YsD`5ZaJB@yYrvTFZo)t>+jdwSWcT0G;__J*ZhY? zP72P}m?OcNUnTmw<j~@jg*S8jc4|I7e~tOy_qQ57X;oc<20AN`CraFtb$nHLD%Pse Ye&b4s;|^=j{{of%p00i_>zopr0LNNyM*si- literal 0 HcmV?d00001 diff --git a/RunCat365/resources/runners/parrot/parrot_3.png b/RunCat365/resources/runners/parrot/parrot_3.png new file mode 100644 index 0000000000000000000000000000000000000000..e2b01dd876ef1cf10e1818324c64392dea78094f GIT binary patch literal 1895 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}$5JCa(|mmy zw18|51~x_^24;{FAY@>aVqgWc85qJCrQz&2Mh&PMCZHNa1|Z2G3dCvcnG7sY^))~m z1U!HkXcB}D$gD`s$xSTDFH#67%2zPfGuJZ&%CSsf0h=KLWN%u)h_HVF6Wlz71<VLG zP#uGjfsvV&fuWU=rGkM0h+$~PAp6<pEKrKGz$3Dlfq`2Xgc%uT&5>YWVBU}!5>XQ2 z>tmIipR1RclAn~SSCLx)GKs;a!V1XDO)W`OsL0L9E4HezRRXK90<uBE`br95B_-Lm zN)f&R3eNdOsS0L#26_fcc3cVy3N}S4X;wilZcyz&o~=?wNlAf~zJ7Umxn8-kUVc%! zzM-Y1rM`iYzLAkGP=#)BWnM{Qg>GK4GQ<#=IWDQi$wiq3C7Jno3LtY6lk!VTY?YKi z7Qq3;oh6xR2%GYXq22;|P#+|tZ>VRWk4;-@MJ5hyAQ_z6fMEpp7K&vRi3Jc%;J|>m z(FWuKtH_|#;{2RakYDV~jSPT5-w;IFfE|b;jqn~sYXp9+$kOOq5jsQjGE3}?pthk2 zqwDf7%1i~u2-vNLP%X$}Na{hsWCc#lkuI6Jsd>d9{}}`A!771OV+1aZND@dIfnjgu z3rvYAi6x0Hi6yCapyaP>V5n<k83IcFW>zK^+6I<ZprFN2i)M~<Q7X^`Y^H!R5wa;r zDzTZ7Ulfv`pJRtDS3_I@)(=$$HNZw6l%|o=I3xpsMS(fUjti(0mK*K3*n&g;FfcIH zdAc};L~y>Hw!iyIfWYz3pOPnk6`684e#ePbQx~)*C~_!qaCK>{*t#M?{Z`kFjHim* z4joL)RR6~r6?r16OQvb=iaFsN&-JRG9X<c#)25SoWp`7qzbZ>GdcSw(&vSb!C+~^4 z){`cB<Be#*Vy+80X3W)f_wFY~zFr&l`n$&Mm9J!u@8n4k@B8(G|MRxzmD?x&?_Jk? zN4_Fq-IP}e+e>dn<}iOye{*}=UxrMk^%nc;_r<M$zu3w=GJbQ+cNsH%N&o&ESJ^M@ zQ|ZtP^3wCnY41PO|M2ez&KsMW9x!yq_8gyVC)MjF+avIAT7svk)1+T5B@aw3lKu&1 zUd`I79P(h^(ks?8{e8AQwqZXq<q!Mg(3!$dB#XS=)Xl0l#G7Q_xRYvQSj&1)WrEka zKWwl6a?1EMEi1cr=gvDV$s3PcicJNoyBQ7{O!<6`)yi_3+}7LSRg*uu7c$+=`~D?B zeCZi;#o0%+_7><oU;OptotiVAa~womFFidf;<`H^!|R`hVTR)V;F;M+`JRS7X8HHj z>4SRI>*a5LiEo?!f}8VQ`ri$e^XE>NVy<9pk8|ejE4`%77A|!1_U?C)i`OXa%zxx| zy7^i2iRecgFS9;rke$6FRJGt*`c4ju-Nyv?q}@BWZfWw;C$|;j&u1OsEtm0s`K9r0 z@9wnS@BVJOc)5J0+GL^Ae120|4ZlsimM*dWz*Xr<#&sMHPqiMbwp<l{;#14w7!$_r zcO3O*p6{_Pc$&P?_C4RfrT-*V659Lrb@3!PPY!X>+oIY~Cbc23NcO3l!O|zcYP&yo zmz;gE%JZN#%X5wI!K-AR^G1Ev@>FuNoZY*0q5nt8tp23P_JuY2Jl_Hq%uM<m@<6}j WEQ^NKwUy66b%m#^pUXO@geCyu-I5ak literal 0 HcmV?d00001 diff --git a/RunCat365/resources/runners/parrot/parrot_4.png b/RunCat365/resources/runners/parrot/parrot_4.png new file mode 100644 index 0000000000000000000000000000000000000000..06c61f98cdc28e707d33aa6dc9054a9b311d50aa GIT binary patch literal 1855 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}$5JCa(|mmy zw18|51~x_^24;{FAY@>aVqgWc85qJCrQz&2Mh&PMCZHNa1|Z2G3dCvcnG7sY^))~m z1U!HkXcB}D$gD`s$xSTDFH#67%2zPfGuJZ&%CSsf0h=KLWN%u)h_HVF6Wlz71<VLG zP#uGjfsvV&fuWU=rGkM0h+$~PAp6<pEKrKGz$3Dlfq`2Xgc%uT&5>YWVBU}!5>XQ2 z>tmIipR1RclAn~SSCLx)GKs;a!V1XDO)W`OsL0L9E4HezRRXK90<uBE`br95B_-Lm zN)f&R3eNdOsS0L#26_fcc3cVy3N}S4X;wilZcyz&o~=?wNlAf~zJ7Umxn8-kUVc%! zzM-Y1rM`iYzLAkGP=#)BWnM{Qg>GK4GQ<#=IWDQi$wiq3C7Jno3LtY6lk!VTY?YKi z7Qq3;oh6xR2%GYXq22;|P#+|tZ>VRWk4;-@MJ5hyAQ_z6fMEpp7K&vRi3Jc%;J|>m z(FWuKtH_|#;{2RakYDV~jSPT5-w;IFfE|b;jqn~sYXp9+$kOOq5jsQjGE3}?pthk2 zqwDf7%1i~u2-vNLP%X$}Na{hsWCc#lkuI6Jsd>d9{}}`A!771OV+1aZND@dIfnjgu z3rvYAi6x0Hi6yCapyaP>V5n<k83IcFW>%&q+6I<ZprFN2i)M~<Q7X^`Y^H!R5wa;r zDzTZ7Ulfv`pJRtDS3_I@)(=$$HNZw6l%|o=I3xpsMS(fUjti(0mK*K3Rwg!BGB7ZO zdAc};L~y>HdVaM}p~!*#``?xCv5xRbR<=LI^iot(NOSYVrK)0+TGwt0)R-5v>7)1! z&(541L8pSkG^B4v2y!bPtNs3KPNng#@8|AR=D*vUzwp_WneTtro}2S|@AK7Hc+zBN zlqM9he@XeOl_}kOEYRscTe5-Vf(y25zwQoOy;ZI%^uVMCoD<tUx&4#RJl&-|q3nLV z=ck3e#p}3Z`6IH=3u-=`e>W)WU`FnIF8+OijvKb$&08OQ?qo)t=F<D@js*_Uzd81a zadZkba<<NqaGCS?58tUh{muOcdA)vCcJ1NSEl}n;-0Pjv8vpE{)c1dTIO}|!OlP09 zJrVEZRcIUVC1}F2XKTOLsXx*Fk)M$ILS5bKS;@J0*KOA7;UWdb%9npx)@T~UEKzoy zS141fd7<{qiOEk2+U7SI*4#PX_4cb{iL!3r<A`_eQaU}J++kj`ExO7?B#(c5R97N@ z;C!aEo54BvW9Fth;a{)iZGY|YBS5KGbAF+PRe{y?Ou>C2j71B@*v<(hu<TU1K9So) z{Mv_^^PZf!eKI_VFGAz@hcoPFKHWR7?x{38C~fXl-H)4`wQOS^H!VvodhPu0Z*vn< zN^_h`INuhtO#zoU-7}u)XMaD>vU~oEZOuy)bmNpgy-)0Ww0UU=t3|H%#DbWMwr-_q ztCS*kPQUSXcfqGEzgW}%C$5T`@HI}(tkQcL>&={^iR%i^m0Hbph;#kHt+c-D$WHGb z-vmR6&+ps*A9%>eI_IfPzxz|BHp7Z?zNgwA^}A<h{@>eJcyFDaUDEtHN;j78VmkNe d&wtq;+&d@o%Y;7GeFdrmJYD@<);T3K0RX=HZ=C=D literal 0 HcmV?d00001 diff --git a/RunCat365/resources/runners/parrot/parrot_5.png b/RunCat365/resources/runners/parrot/parrot_5.png new file mode 100644 index 0000000000000000000000000000000000000000..7856792ca794d5c5a9862738d51209bc6efb4528 GIT binary patch literal 1884 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}$5JCa(|mmy zw18|51~x_^24;{FAY@>aVqgWc85qJCrQz&2Mh&PMCZHNa1|Z2G3dCvcnG7sY^))~m z1U!HkXcB}D$gD`s$xSTDFH#67%2zPfGuJZ&%CSsf0h=KLWN%u)h_HVF6Wlz71<VLG zP#uGjfsvV&fuWU=rGkM0h+$~PAp6<pEKrKGz$3Dlfq`2Xgc%uT&5>YWVBU}!5>XQ2 z>tmIipR1RclAn~SSCLx)GKs;a!V1XDO)W`OsL0L9E4HezRRXK90<uBE`br95B_-Lm zN)f&R3eNdOsS0L#26_fcc3cVy3N}S4X;wilZcyz&o~=?wNlAf~zJ7Umxn8-kUVc%! zzM-Y1rM`iYzLAkGP=#)BWnM{Qg>GK4GQ<#=IWDQi$wiq3C7Jno3LtY6lk!VTY?YKi z7Qq3;oh6xR2%GYXq22;|P#+|tZ>VRWk4;-@MJ5hyAQ_z6fMEpp7K&vRi3Jc%;J|>m z(FWuKtH_|#;{2RakYDV~jSPT5-w;IFfE|b;jqn~sYXp9+$kOOq5jsQjGE3}?pthk2 zqwDf7%1i~u2-vNLP%X$}Na{hsWCc#lkuI6Jsd>d9{}}`A!771OV+1aZND@dIfnjgu z3rvYAi6x0Hi6yCapyaP>V5n<k83IcF=2iv<+6I<D(ncRcEt)ybMX5j&u$cnNM98Kf zsl;YReo;t%evTcsTn%vrSU*%1)BqcOP?|<c<B$vl76s-YJ1(G3SZ=iA^0T_Im4Sh& z*we)^B!ctpwDZ}*fda?x_un;ZysMBUn#rs6gFU1Bo60}trg?if0zW8KeO}NJx2N-e zgTfDS58Ljh{d`pul~%A<zYG+Zs5Wa$+UE1;r`(;f<aS=&-C2z%_xwD!XXeey{Pe|F zTGV7`lq75~cX)1c;CS7g&wD=4`+CanrAF63z3owJpFg<&P$T`n$1~$M|5$hHT#E{~ zecE~c$H}PuPFLCtpK*SYo)g*fz)?WPp|5|<R`Cus&ikHMk~UhjPYB}<+g|o+QP4ll z<Ui6cbSr8^+8)*|GEMaSCgu0ioLjtY^Y019B9)Sw-;>w4AK3V6J&W&c-Bz6mYm_9m zg)V8&QTZjk<O16b?v#72_e$=4Yj>G$u<Yb^kK{eOZ=ANZV>~%uZN?q(m!}F`7My=` zXOhLyWpBS&UULt!omjndg?Vs~#QRA9gSC@AZRZxdUoM@Nv+J4C4jFIpi#w~h1d<J3 zrf@wyRmK?gQr^1Cx|H?zdAa#&&M#BcpGD;@3_c(IU;n_1aBIusdUh?fbEnyh+27jR zwc==DP3V`2CpC(D6>i^S+-S)BWRYCU)2%wc_tiUn@cY(VFI%gTbfAR&^o7@rTxkcM zCse-8+H2Q*kMY~~mj<iXEkAkftI>{U8gePOLs@Gq9>u6u<O!<Ocf^~XzMl2FXvdp3 zS|VJZw2nnKvLEsK!S7~sRk^I?MD>X~dS4zES1sVm_%F2if$;2<Nq3u`dYcC++VuE% zaz7V7XLMTip?C%V@xq=(^ESr$e^}V1cr4oP<>n(NR4S*Mb?%Q%pPBVtxO8!d&fU1x z>ucwPfBx4M#hLw!|LBq2|3}ux3%0g?@Y@>r_rm+O&in6P9<b+Y6O7O{do&GHL3q0Q KxvX<aXaWH1n~fL% literal 0 HcmV?d00001 diff --git a/RunCat365/resources/runners/parrot/parrot_6.png b/RunCat365/resources/runners/parrot/parrot_6.png new file mode 100644 index 0000000000000000000000000000000000000000..aea3ea680b8a67e7c6a13f23e7e9c1a6e62485df GIT binary patch literal 1886 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}$5JCa(|mmy zw18|51~x_^24;{FAY@>aVqgWc85qJCrQz&2Mh&PMCZHNa1|Z2G3dCvcnG7sY^))~m z1U!HkXcB}D$gD`s$xSTDFH#67%2zPfGuJZ&%CSsf0h=KLWN%u)h_HVF6Wlz71<VLG zP#uGjfsvV&fuWU=rGkM0h+$~PAp6<pEKrKGz$3Dlfq`2Xgc%uT&5>YWVBU}!5>XQ2 z>tmIipR1RclAn~SSCLx)GKs;a!V1XDO)W`OsL0L9E4HezRRXK90<uBE`br95B_-Lm zN)f&R3eNdOsS0L#26_fcc3cVy3N}S4X;wilZcyz&o~=?wNlAf~zJ7Umxn8-kUVc%! zzM-Y1rM`iYzLAkGP=#)BWnM{Qg>GK4GQ<#=IWDQi$wiq3C7Jno3LtY6lk!VTY?YKi z7Qq3;oh6xR2%GYXq22;|P#+|tZ>VRWk4;-@MJ5hyAQ_z6fMEpp7K&vRi3Jc%;J|>m z(FWuKtH_|#;{2RakYDV~jSPT5-w;IFfE|b;jqn~sYXp9+$kOOq5jsQjGE3}?pthk2 zqwDf7%1i~u2-vNLP%X$}Na{hsWCc#lkuI6Jsd>d9{}}`A!771OV+1aZND@dIfnjgu z3rvYAi6x0Hi6yCapyaP>V5n<k83IcF=2iw~+6I<ZprFN2i)M~<Q7X^`Y^H!R5wa;r zDzTZ7Ulfv`pJRtDS3_I@)(=$$HNZw6l%|o=I3xpsMS(fUjti(0mK*K3_Mbj=j)8%x z)YHW=B!ctpwEf*z97K+*Pwt#yZNkN#$#*bqHM66D<C@Z~!B?U#xJmzKSsm=?!m=}t zd-hc4fG<1z1T3{hCmud0-?}J!;k@vSx*wH_ox7cdPE@t~?)&iV?~L!spPu<{@+y5{ zb)j^@>jU-g8jL+_ua}-bR=8(t$J{{U?QK~<7GE&$et#h<zDVY|GHXz`(zSO9+-6I6 z1TOP`lphvYExf3{b(@1UyMOiblhZ^WznmU(yf)%RsLcGMy{p$<nYoCgGx<qU+N3*j ziS=1qX14QhR9(om{NaB-wzm?IZ_IX2nz_|~!wvI)jyvZ3&g-zX=-&7Kyi)aqHZ^C7 zH2;rtUu@(x$lw;S*DG_k)PJ~X;r2zF%Ov;lMx`sS|7hK6Bk57rdSc_FZGN})lWwQq zT*`aC=yv{&oE3sobG<Hq2}l;{URM^Lu<-5i33exQ+ZgR~*Wa#s%2x2|X5Y4XDxGtF z@5=3;<k6?+JjLxg*UrA{xeo7&m0w&El$qyT6ryUeujuoS69(JZnZM0gaZEDduk*a0 zq3?FHP0#+NdcC{i%CrZX&p0)Ot`wc0eXsd`qQ^bK&GVkWUE6W^ijbqg8<i*GA<;3{ zX8bTOI6KvvQ`|%Rl!Vn!<IUUt%sgzrfZN=C^3{`3FQq5R|K}F9`xKPLE_6~nf2M}y z1@VBNE~T56@A<pt<X-*Slf|-oO>1t2sqFIF(p)DVr<SL9I(wI_#c5%eDMw!%u`S8% zv23V`xBgXJw{GeA75`WC+*dAPHg#I(%Xu%4d&+$8kV!W!;~yTrx9;A~tL3Xdxw~wb zd)7w4@!ChxbL(pq{yXI)^mhNOJ2gM*rTp9bay)EB(N-n060Z-)?-zYvCb4{56{w2v MboFyt=akR{0E<e7GXMYp literal 0 HcmV?d00001 diff --git a/RunCat365/resources/runners/parrot/parrot_7.png b/RunCat365/resources/runners/parrot/parrot_7.png new file mode 100644 index 0000000000000000000000000000000000000000..e9939e139775058e2d41a9b6e00b7e457fc62215 GIT binary patch literal 1859 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}$5JCa(|mmy zw18|51~x_^24;{FAY@>aVqgWc85qJCrQz&2Mh&PMCZHNa1|Z2G3dCvcnG7sY^))~m z1U!HkXcB}D$gD`s$xSTDFH#67%2zPfGuJZ&%CSsf0h=KLWN%u)h_HVF6Wlz71<VLG zP#uGjfsvV&fuWU=rGkM0h+$~PAp6<pEKrKGz$3Dlfq`2Xgc%uT&5>YWVBU}!5>XQ2 z>tmIipR1RclAn~SSCLx)GKs;a!V1XDO)W`OsL0L9E4HezRRXK90<uBE`br95B_-Lm zN)f&R3eNdOsS0L#26_fcc3cVy3N}S4X;wilZcyz&o~=?wNlAf~zJ7Umxn8-kUVc%! zzM-Y1rM`iYzLAkGP=#)BWnM{Qg>GK4GQ<#=IWDQi$wiq3C7Jno3LtY6lk!VTY?YKi z7Qq3;oh6xR2%GYXq22;|P#+|tZ>VRWk4;-@MJ5hyAQ_z6fMEpp7K&vRi3Jc%;J|>m z(FWuKtH_|#;{2RakYDV~jSPT5-w;IFfE|b;jqn~sYXp9+$kOOq5jsQjGE3}?pthk2 zqwDf7%1i~u2-vNLP%X$}Na{hsWCc#lkuI6Jsd>d9{}}`A!771OV+1aZND@dIfnjgu z3rvYAi6x0Hi6yCapyaP>V5n<k83IcF=2nJ=+6I<ZprFN2i)M~<Q7X^`Y^H!R5wa;r zDzTZ7Ulfv`pJRtDS3_I@)(=$$HNZw6l%|o=I3xpsMS(fUjti(0mK*K3RxLSmhJk@8 z%G1R$B!ctpl>OaT0tAkKzUO@}?X2GOra5AdbfY-3o+hTMcVw(w5s~rO{()%Mg4Tb` zX8%~rl)|~1!py{!y3`->i)<|R51Ha>vq`Nk&GXwP@1ogv_nzbNNqc5(Z(OP07aX{? zF^l;s+bZ5OI~sQd-(R^kF38Jv@fGVIy5DqP->7|2b?lS$GU-`*!h+(4|BnB7(-yj{ zkj-(!+(-Ajq|ytw73R*8Yqh*2^V~o4k>vX(({DX5G^KO%uFts@_u+Cv_PV0^O6I*f z`Tv@;G7r}!8e|GZ=dM@keZ9+l_St9K!uD=GUH+%F?t+@lliBtY-84@#y0C|7bB6i1 zAAEPn^#1p9<<@lNeNR=jcxI_rc^u|nr0rhoX_b=PS9vR1X#evHcH#daPJTt(3g-RO zS~=(ITy|@fojkvcKJs@4eZTT~Pq%ZVB^&Q8%MT1)kAE<@WizOFtz=xJvCC$bMb_m7 zjB4o*DvxbHwcI;={Z2`BqkWxMCcJo)Rs6Lr_r(481wy~sHMc)=opsva`bBm1bys~i z70pg7T>C{m=jN*}!)I%@mf2V7_cB`d*$L_zeU&w;sd&R6<ori;Ne$o5`RiG|e@su9 ze1YlU{f9g5=KU7gr&z`L?(EfP-#%<p-@GyA^7k7{GubbnKJvHi#r%u0i_aVukyf^T zQX|_radSY|wn;LAmS48zJkXQS`<ihj{8$>Ze5bUx)q2awmuhkg*!R7bcih*Q>b?Kr z!bI*jrXO@a2&`Ol)Yew~AMaBE(aA--J|FzE(r^1_Eyq7g#10$miJ!CKUE$X1_2OSI j#sAv1_|m`EynmQ&?mX2OOtE_lss}t>{an^LB{Ts5eD8M= literal 0 HcmV?d00001 diff --git a/RunCat365/resources/runners/parrot/parrot_8.png b/RunCat365/resources/runners/parrot/parrot_8.png new file mode 100644 index 0000000000000000000000000000000000000000..6bb8ba7118223a09f8c3bce9771a85629d0140d3 GIT binary patch literal 1889 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}$5JCa(|mmy zw18|51~x_^24;{FAY@>aVqgWc85qJCrQz&2Mh&PMCZHNa1|Z2G3dCvcnG7sY^))~m z1U!HkXcB}D$gD`s$xSTDFH#67%2zPfGuJZ&%CSsf0h=KLWN%u)h_HVF6Wlz71<VLG zP#uGjfsvV&fuWU=rGkM0h+$~PAp6<pEKrKGz$3Dlfq`2Xgc%uT&5>YWVBU}!5>XQ2 z>tmIipR1RclAn~SSCLx)GKs;a!V1XDO)W`OsL0L9E4HezRRXK90<uBE`br95B_-Lm zN)f&R3eNdOsS0L#26_fcc3cVy3N}S4X;wilZcyz&o~=?wNlAf~zJ7Umxn8-kUVc%! zzM-Y1rM`iYzLAkGP=#)BWnM{Qg>GK4GQ<#=IWDQi$wiq3C7Jno3LtY6lk!VTY?YKi z7Qq3;oh6xR2%GYXq22;|P#+|tZ>VRWk4;-@MJ5hyAQ_z6fMEpp7K&vRi3Jc%;J|>m z(FWuKtH_|#;{2RakYDV~jSPT5-w;IFfE|b;jqn~sYXp9+$kOOq5jsQjGE3}?pthk2 zqwDf7%1i~u2-vNLP%X$}Na{hsWCc#lkuI6Jsd>d9{}}`A!771OV+1aZND@dIfnjgu z3rvYAi6x0Hi6yCapyaP>V5n<k83IcF=D_5yZD45y3R(=cXy!N<r2<XBW(p`1A)A7v z5}O(MMIrh5Id<4`HN+KQ{ZLg<18np`X&NbwLoyIp6qtkTxPUrgxzUbGBTHuw0|Qfq zr;B4q1n1jn`?EzHMUJPJl|8RhQ5RY-sO`$q+K_PJn*fWWz?P5VH<oVj6n0s=RnVk0 zLF(uq&Xp|Hs#-Ue1-OX#C~N#+)_)!=WB<Nr^PT>^d!H61Z03*K_xWDU{r*~OYw@K; zC)FqTE6hJoKd)h4$={$5tHAtg&wGMqM|;^S?w?)KyQId9qltCx*Q(_UL`rYif3Vk@ ze!6;c(-HT@*3%-n_FnLlUVf)=Q{;TZ3sud6*Jq!7Ce-_<@Z8#;dpi|8#XX-K_&w=@ zL~&fs#YJ4%3&f?fKA(}E?BIK`T_sDLJ7j~3XZF@84ZC@Nm?aj>KkDYcP*_;=UqjB@ zN3wsCrrI|B-*)5L4eket=O2pZZU}p@>Oo(NlDWr)*qVgeg0wX8Imxv)meSe5fh8g` z{)Y^v1oDZz`R*HO-MxN)Bhy*^?4|Sj!{=%UozQSMJ1}zx-+Kr7aJ3IYcePeMsw>cu zjGVLP)8Bel#=p@yUu?A=J$|1%`{w^sFT>nshd207YO8<f`eH3#Jl~Uf=WczJQt>Z) z7!u#KclP@~GBd&~?md2a`@Ze^x648f{ktamJFI4A>x0rSnv9n-n0vXGuFd?x^}ERN zZ29LMvQJN)Q?of}I>RU^d~KNaox7iU)3X@vt)CS1+rd(}kf*(bwR+2ipRN&qRvbN8 zwE3iK$@0_U>T-{yXGE+xG`Yb2RHTIG$@>rbGv4w1sO3=CJonp9XtG{U24fq)$07f+ z-<txbIz62b_)P21SwX|MHa_nQvr0M2H>(Kov41xG<0`eI=kDiu?N2pY9%g<^dik?o zqifO5u+^&5TfSFMdFOg$TB*>fed6cEceh*TzWsCF?eSdoXEXdC$iMd!n&|akG73~n Nc)I$ztaD0e0sz<LgBkz; literal 0 HcmV?d00001 diff --git a/RunCat365/resources/runners/parrot/parrot_9.png b/RunCat365/resources/runners/parrot/parrot_9.png new file mode 100644 index 0000000000000000000000000000000000000000..3db65b4ec4b3b5570983b10c8004c4c98c8e120e GIT binary patch literal 1894 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}$5JCa(|mmy zw18|51~x_^24;{FAY@>aVqgWc85qJCrQz&2Mh&PMCZHNa1|Z2G3dCvcnG7sY^))~m z1U!HkXcB}D$gD`s$xSTDFH#67%2zPfGuJZ&%CSsf0h=KLWN%u)h_HVF6Wlz71<VLG zP#uGjfsvV&fuWU=rGkM0h+$~PAp6<pEKrKGz$3Dlfq`2Xgc%uT&5>YWVBU}!5>XQ2 z>tmIipR1RclAn~SSCLx)GKs;a!V1XDO)W`OsL0L9E4HezRRXK90<uBE`br95B_-Lm zN)f&R3eNdOsS0L#26_fcc3cVy3N}S4X;wilZcyz&o~=?wNlAf~zJ7Umxn8-kUVc%! zzM-Y1rM`iYzLAkGP=#)BWnM{Qg>GK4GQ<#=IWDQi$wiq3C7Jno3LtY6lk!VTY?YKi z7Qq3;oh6xR2%GYXq22;|P#+|tZ>VRWk4;-@MJ5hyAQ_z6fMEpp7K&vRi3Jc%;J|>m z(FWuKtH_|#;{2RakYDV~jSPT5-w;IFfE|b;jqn~sYXp9+$kOOq5jsQjGE3}?pthk2 zqwDf7%1i~u2-vNLP%X$}Na{hsWCc#lkuI6Jsd>d9{}}`A!771OV+1aZND@dIfnjgu z3rvYAi6x0Hi6yCapyaP>V5n<k83IcF=2k|=+6I<ZprFN2i)M~<Q7X^`Y^H!R5wa;r zDzTZ7Ulfv`pJRtDS3_I@)(=$$HNZw6l%|o=I3xpsMS(fUjti(0mK*K3^gTp)85o#q zJzX3_A~@epv+WQL6gYnWU7C4b%)~j%<%G6yHq9y5ipo@Mx+=<5R`<m$OZ&vtvZmHK z992n+6BNbDnlw0~A~|l!XqY_`SE}kr*&ACg{7qF~@%N^5A(s;e3_d@5Z2vj!esyP1 zvXp;<O=G<cV>-*%ScBycJ(+(i|H@9bHQM^l;#~5D%X!~o$_1lY$}enC6WF<~n)%68 z6W`MxHuh<~J*s~t_rvmSnFYDlyZ<rtyooxI`d94c9H#q^Ydlvn&kJ&wdAjHDKF6ju zS7V014YQB(Tu@J1{DM>E>s8kZc^k&x9|Anel$5U?4KAy0{VF4q{>|ue#k7~aOKMil zuKE7^1@pw7pVk~}AKkV3w{%UDq_H^bLBE>QyLQFQ3>DtJ<EUeFx;M*@Z2tetp1M62 z-I=}heZJHTuSrj)u$`FP88rKIO%lJ&`z2@RzfS(1UN|dx>&tA3@5;*mR=odRz4`0! zJ4$Bk%GT)&x4M=mO5~}QnRQQhwm8U^_qt}?am6o>OhjF!y_a69Gg{NSb^hdEP8Vh# z@;)*%YOR=3{h_lpvnF2OD8cGz;C$$+&aMFFBg^JJmvx_}+V3XU;cI+(kMcJsm%^Qo zjgATY)!W2+#l7G1Q;|Y>>G6vPRCE5Gw6M@Tsz3Rl^74HLT4z0Y7@72)fA^!w4l8AE zya`zwc3t=*Z=UGlg|=(dAD&-UJN1|JqqiX|L$(QA{CH>6G`FyfB=bw@O4p5}S07Z$ zj&u2WeuDp;Z-*;{EyQO$y8a>Dge!SpdbfGa{!%}G&JUT&7TXzRogXfLaz=T6_H5sx z|Ia^uS8LFF@G`n&!i=iD_x4P?#K^wI_s-Xs7JcHkrd`bVBOxop`$^(!{hR~xziSjr UF8&O<1ga`LUHx3vIVCg!06PwcXaE2J literal 0 HcmV?d00001 diff --git a/RunCat365/resources/turtle.png b/RunCat365/resources/turtle.png new file mode 100644 index 0000000000000000000000000000000000000000..1515de62b9b78c97a3f8f00fa1817714ff5166f1 GIT binary patch literal 492 zcmV<I0Tcd-P)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv0005ANkl<Zc-rli zKS)AR6o=CsA_|J6A)=6$K!R#>X=!L_6{3QOpq8d;4~NDe+8i7saA|02GO*{<#|wiZ zXp=|?O(F>Y#M9e%K|#z{Pkqqhfsb=N_uTtC_gt>8r)&Rjkx0a)Y1(2u9^Z!`1o%BG zgmBm*kW40r*z^MmU_c2j6h#@eMIaiD4p%o8b-Zv2uO0h44Z|qlLk@={TMN>jGV!vV z_t2L}Bvz^X76jbsx<1jEN6rYXo5XvVcei{`EZnUMBw@T7^Dth=ALDP}0Ukkx5b<RS zbXgK$!6pbuv+z(=)jh^h#u<DCL=#dFkSDStumTmxLk>PcSRhXkr?S<5wP*>7wQ5_W z#M+Ht?}e7kllTgvP4rkSHZ4U=-vm`$%j6C?k%c1SG;7liN$(ws9E8K+-X83S3d-j^ zx*)?mv}-B9-(NAErH^w|@!Uq`Uyy?<P16>dod6@~bb4_E(5j_joApPAVPs4NXwwXC z5Nh^D+s@#Uu@3i=CT$!84+5&s=X+{ef}$u>s;X-BN0%>|*cz|3U;e%0-Nby%WkEFL i7GX<Xa`$U%$-V)2sd?vs;i&ik0000<MNUMnLSTaV=hycD literal 0 HcmV?d00001 diff --git a/WapForStore/AppPackages/rm-wap-for-store.sh b/WapForStore/AppPackages/rm-wap-for-store.sh new file mode 100755 index 0000000..ab5b235 --- /dev/null +++ b/WapForStore/AppPackages/rm-wap-for-store.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env sh +# Usage: ./rm-wap-for-store.sh x.y.z.w +[ "$#" -eq 1 ] || { echo "Usage: $0 x.y.z.w" >&2; exit 2; } +v="$1" +rm -rf -- "WapForStore_${v}_Test" +rm -f -- "WapForStore_${v}_x86_x64_arm64_bundle.msixupload" diff --git a/WapForStore/Images/LargeTile.scale-100.png b/WapForStore/Images/LargeTile.scale-100.png new file mode 100644 index 0000000000000000000000000000000000000000..62d9cf557dcb00001abcf175f0488f01326819ce GIT binary patch literal 4873 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 literal 0 HcmV?d00001 diff --git a/WapForStore/Images/LargeTile.scale-125.png b/WapForStore/Images/LargeTile.scale-125.png new file mode 100644 index 0000000000000000000000000000000000000000..bc0e17a07b1fd8409bbca649c50f6c745d6857a6 GIT binary patch literal 6203 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⪻SWJ40`s0shPLM+(G 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 Jm8$*Ie*nA6Q0xEz literal 0 HcmV?d00001 diff --git a/WapForStore/Images/LargeTile.scale-150.png b/WapForStore/Images/LargeTile.scale-150.png new file mode 100644 index 0000000000000000000000000000000000000000..4b03a782d4a483e9ec21b6862e2c228e6eb2d8d2 GIT binary patch literal 7686 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 VGA0ZW0)Ol>+|)5Zlxf?(_#aQM)h_@5 literal 0 HcmV?d00001 diff --git a/WapForStore/Images/LargeTile.scale-200.png b/WapForStore/Images/LargeTile.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..5791d057c24ec37246605576d8777f40b4e8adf8 GIT binary patch literal 10992 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 CYzuz? literal 0 HcmV?d00001 diff --git a/WapForStore/Images/LargeTile.scale-400.png b/WapForStore/Images/LargeTile.scale-400.png new file mode 100644 index 0000000000000000000000000000000000000000..93a4072f12f359ab32d4435945e671f78e213055 GIT binary patch literal 26600 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 literal 0 HcmV?d00001 diff --git a/WapForStore/Images/LockScreenLogo.scale-200.png b/WapForStore/Images/LockScreenLogo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..735f57adb5dfc01886d137b4e493d7e97cf13af3 GIT binary patch literal 1430 zcmaJ>TTC2P7~aKltDttVHYH6u8Io4i*}3fO&d$gd*bA_<3j~&e7%8(eXJLfhS!M@! zKrliY>>6yT4+Kr95$!DoD(Qn-5TP|{V_KS`k~E6(LGS@#`v$hQo&^^BKsw3HIsZBT z_y6C2n`lK@apunKojRQ^(_P}Mgewt$(^BBKCTZ;*xa?J3wQ7~@S0lUvbcLeq1Bg4o zH-bvQi|wt~L7q<c#Bs@6tJZpsaDp5#@^Kxb76?JKPM4Rjg?OPEsE7|VN<kaCGX4#U zNTLm`F?$G4$N`$9k`4t_b(DF9j%I-s(fmV5p2k4~0ig1T7HA2EIn9Qy+vVUsevG5Y zx{BItLpMm(dMXfytN_Gpv|s{3(g?#ENwbAvnU@d>$~a-gDFP!{&TQfc3fX*6=uHv* zT&1&U(-)L%Xp^djI2?~eBF2cxC@YOP$+9d?P&h?lPy-9M2UT9fg5jKm1t$m#iWE{M zIf%q9@;<puwV{ydMhJnB$FpTP7~V`2Oc}26A)GW4cpwmuYh636R)YU&Y^xpiwub;- z3Bq!lBEWk1a}r>fyT?0<D?&D0xgx=$@GVYRXbXU#>UP>tcw-bLkz;s2LlKl2qeP0w zECS7Ate+Awk|KQ+DOk;fl}Xsy4o^CY=pwq%QAAKKl628_yNPsK>?A>%D8fQG6IgdJ ztnxttBz#NI_a@f<SS;sI0I$l5SC(56T~N^^t8%zW4j~T5dexEVYowqkN5Z-BGHpcd z1d8+q5Q`K!fUM`4leXai7{C&K6Nxc?hQWB61{h0|4Cb>k7SU`WtrpsfZsNs9^0(2a z@C3#YO3>k~w7?2hipBf{#b6`}Xw1hlG$yi?;1dDs7k~xDAw@jiI*+tc;t2L<e7iLm zP}mwR5QOujz`+rgnOi!Y{({?C=+*8leK`I4)q-bwZ~S$=`Qx8za!;_&ojSySG^`y- zUwxr;y18tmHR*DH-R#Zfn@dafJ#VG;#JXCA1?Fhi?=z+K#EYHSuZ6R;t9!2P-`Czg zntSi!KX=pneo0;EVH+kX{Tbnm^ke?~Z}v~j1(%4Y2eEUe-ebObqI@uC5e<?ngPC8q zexSeKJ6Lye>flg&bM)0!Y;0_@=w%`LW^8DsYpS#-bLOklX9r?Ei}TScw|4DbpW%+7 zFgAI)f51s}{y-eWb|vrU-Ya!GuYKP)J7z#*V_k^Xo>4!1Yqj*m)x&0L^tg3GJbVAJ zJ-Pl$R=NAabouV=^z_t;^K*0AvFs!vYU>_<|I^#c?>>CR<(T?=%{;U=aI*SbZADLH z&(f2wz_Y0??Tf|g;?|1Znw6}6U43<uVfr(7fnD33UXp<u^(nDoL&FaIfW9||8X7Y8 zWBR>Q#qNRwv1vp9uFn1)V#*4p&%$mP9x&15^OaBiDS(XppT|z^>;B{PLVEbS3IFYV yGvCsSX<sgWK5pRdjuceaUA*+*;fQZyG$}(jP`_}c_gGYm|0&(BGUuqhq31shAo>*m literal 0 HcmV?d00001 diff --git a/WapForStore/Images/SmallTile.scale-100.png b/WapForStore/Images/SmallTile.scale-100.png new file mode 100644 index 0000000000000000000000000000000000000000..a1e498ebdd4e2e618a48a8f32446937f68a690f8 GIT binary patch literal 1460 zcma)+X;2af0EMBvS2SD0Bk!FyNy}|DT~blNK(wg56%@^*((+yl6E)NI*u2UU4?IwD zJgCiU%_DRZG{wA<)KG%b%sa&t7uSC5&z;#H@4b2N@0<BjuVB$2IdwSz006?++Bh5} z`kQ2=4&3>PhxS3phT6JE000WT-vnfa(EI=Z$pDNE-05!dGTGiX7pKh3&m1=aY3l@f zr?yHcU0qL79RCrXm<Wxi$VxdZtsp^|v-u02hB=~}mL}7slt#O9qwIc}({D6Q<yqY> zLT&Eke#PqCa#RcRmC&3yEoSJ7#!13$^PuHU;cnB(B+SxjOJESHU#UzWb0u6tA9^T9 z18A24IDw9T^n>+(%;aJYhl4RUH{aH_ie;&9405KXMz>dIC#9sN_aB`tHG!hhXs)TL zX(Q9f9a*Z@vAu4g;g^2Wk<D1ILFGLx=0n#k4*IV{41xGNkw|1X@%C*Y(^_I~YGvgN z^!#~sI%QH+ga{C*5<VW1#o=(us;aj6Muh6rRN3&*(77NO43<NoTt*_1<CBxjgu#+z zL&J7l1D)=OKpb**b`GObtE)!`2IO``B1cb8P0#01=?Mu53qwU_eJP{g|9*kZ<!X6$ z$ChYWM%%bH;(7TLigrUo!w8?5=|0G2D-ffj!<}@OpByhVR&;l}$YwBr$H3r6b#(@} zZ{2!5QRfP+%Ca*H;ZiFq^wKgjYYGYq;vR;uE&P14o2F)Fr~-kX-NlQ7b5-r_WDgGy zT3cJe%lgK~(WNCrNonZ_vTgz%kB_9(tYlX<XhNY-eU84FS^oR?@4u?QQJLfM;6p=0 zdt39v6lil^et!Q!t6%pouhWp>aJkhqn!X$eR3#KfZ3u-Qm4B9u`eS7!cwlgl+TV}C zB1i7IRcS=Ls7RaaO;+65x2@aUjO1@CY1-D}T7%W-AbI&vJD=_7wK?EwD2=pf-O3sX zB&VdvaJzsNDBtL4a$sQK0=vXKG6uy@fs?*$e6YuM(h1!TH*Z4X(vxr|itY<wD9!h$ zuq9MCe|fsq#LDWjmzUS(?p9EqF${+7?d^3U5Qe8?U0lEfN>S0+iD+s+<4w%b(`j8K zQQx&tV}E~tWi_>(=~<?_lY;{S0)dQkIIPLw*{-2;2d^GRA88BYOR33A`E0TfWQ`n= ztu!lMS@{+gi|zR04f^xWs#a2BV!<AXMHDWnsobaK09&?HjJ($F0)fC7(Dd%`*mel> z=|I!s^76zk1O@#XsXK^&!rhb8yWkrZmJK8AMy`YXZ2E~5QeaRJ(F}QxRIWGQLEI3? zHn+5tddP^chNDoZg->HO9XiN|rEXQl3<iAh(<k24{NJK&JYOgGMUn-KC0JX_3M#3s zg=}nXO;}ztsdrGwIHoUWaOxDTwl?*7Jf~col9vQ6+i~{t!t!{$nE`8(FV<)$GpjN? zFR#xNuHiCbIbPQXY=6Z7!Q#ZlU@*9CESdF7`oh8u7|QSZ^@wapVE#ai3H3AMS!Lw| zoT9I<Zy);XomK9KCPt5e9t4t_sasiDIpb*hG6`c~afe)3SS}XFE-o%sWNKS&r1Lr? zb!g9?J?3`aLlcR_ob2p%I$ugpa{hFa(b~dCMD;N(x{m*ALo`y(A4Ybyx3`}$?pyD9 z_pT()MHCq}6R$rL1BU~fo14Q#$|KY&cAYETO+%q6|BUA~qDmv8vA$k#ya&W5%p`Vp zT6V|gh9AWvP3E?Ez0zK;Jv}`O;=e_EG}PmaV4Xh8+n1i&L65}u7ai3>h`NM{z|V4I zysF}8Q`gfaW@nAh2$NC$qCGNv#PXGbUvBo7IGX@Laop^veErsHM3+YL{(bJ}9!zY@ w<;eqnT*_d0XKmC3yh-$k_@C(dmuP#SDecw=eZ%060}KN&7qB*s2=9b{0KLo9Hvj+t literal 0 HcmV?d00001 diff --git a/WapForStore/Images/SmallTile.scale-125.png b/WapForStore/Images/SmallTile.scale-125.png new file mode 100644 index 0000000000000000000000000000000000000000..b6003f85d5a4c4e5fa01b71f261f84b17a20ebe7 GIT binary patch literal 1854 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 literal 0 HcmV?d00001 diff --git a/WapForStore/Images/SmallTile.scale-150.png b/WapForStore/Images/SmallTile.scale-150.png new file mode 100644 index 0000000000000000000000000000000000000000..1a9d566bcde09429192eb158a6e84e08508c321f GIT binary patch literal 2144 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 literal 0 HcmV?d00001 diff --git a/WapForStore/Images/SmallTile.scale-200.png b/WapForStore/Images/SmallTile.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..6a880701b780b306a837bcaa8354f566ae540173 GIT binary patch literal 2896 zcmcImX*kr~8y?CsMv|Se6N8!t8Dke?Uou3NFj-=<WGHKqHOmlDwy{lPD_OD|OJq-D zt%ydAWqL!|3MKx(_w)br`{6m~T<2WpIp=!r=eeId#m3s?6o&{02n0H1W{S22=8S)h zofQ}ve-Z4!1P(HF3ITz*UjJ)ML$|8DKp+US8T!(daN<UhkM9*1!KB<l8b$gStsz&! z<3P$`o#b(0mfvXip;&{Gz`7U<g_O+C;#cq4D<1Wu3)<6JNMRKAFVnod<r-CYbb~U9 z`2_ipVkf`c<~=fx0Uw!TmnCx<JRqeA<HB6RCv&74Ua=7+#nHL>`5si2qR=e=(a{$o z>dv>Bc76eYCps!BDigW%lL~efIg33pJ&@C<FP!=6w>7ANCk+=$8>Nn6OiJrsgO4I4 zrdWS#deBKIJ?;P@{Ly%cUQG1K-y;9+$O`KNzi0F}C@3mwv+bKNfPOqk`;izz&s=62 zz-+I5xNz`mqmXP}<UCbw!SK4WDNjv_hhiU+Pbz%bVT=o@W)Xx{%?mE#=$%QYC3H={ zFSM5%r;BWVos@~#-z;-q!DGxB{bn~2*4sbVuBuMFCmBH$+&bI*=Uc4YI>WCoZ?Ohn zDtL0<Wi(UDkgOleyuCiB`p-;tw#LJ+yow1;s7zLjoDY?#;yuboa4y_ofe7TBkugT| z4w<WlZ(>6nw^!cC|6Kc!n+{bse_!L2eRzwVkD8KwrFzu3U@Twt4SgW3+%jLKc<9@^ z=RTy7=U3~rG0UGQVKHW&3a%YZ?ooP{_FS<ooFZ-06;^3-r%X$9yUd&(O6VamjJJjA zQyq8wgf(yb*3>;#x(WwFAQq`_LX$H2*d|%ec)hyMWZN3}$+0B<HcPwiz2CAcqmQ$< zmWE8C4o4p=*>>NJ*l`wC@j?X1qLXa$Jt1cJiCP7hmKsh`6oSfF9?3R|K03rjT4c*# zMh1h1mHlTCyovAY+;35xoM6_VtuQEC9YhL<YaqE^^5wOjXxC>~>jI+(Jueq)XU#SG zSR``rYmd8hMK;&Cv{KPZ5NW%r^l&ZtjGkCY-$SJD#H*0+8}qGGFI?1Bk&QRsDTZ)u z6i+@iu_)2Kr#&9;Xjf^ih6A5@1H@2J#<~g(<+i1NUZq#;t$i2|;hOYV9?s$s7l-Ra z?rsuImK!FA;>6!qVV*7zrbBI?JDeYnxIJz7g0o)(f0+MFH~J8E3X05mX8$~rD)m!T z_pakhuMrQC-ecBCXOu_WCH>*0I=rahbV&$(AJTb{j08Z~BN{?)9Bi*t=w!>7aN*w9 z<bP}4iuzFNn*I0B9+b(j%uif}UMgl=Zq8rrN@-y%6sY+v)4HN=EU>1pbVlqvbEEi9 zl3oUVF;LA!g?+y^eZu0gV%wrK<47~6T#>-jdTWukqe^;9Ez&B#@wQ;9(dRM_fSGiB zdbbI|ql2509m!G1P6_J1U#+N*1)R>UzAcQRN)^>OHW(;6)O?*jer}NquV5fURxL-0 zbtsqJ=g%4#h!W;YT{d*0(wlbOtN#JA?8Zl??7X>`-f2HIh8{|&<2YOoDy$04mj=_z zV~&r4e}1zE(7H_Q$z8x(i@H}THU%Km?iZG1`sE?6$NAGb=Pb=cwL-^oFnkKOvLAQg z*V?esoW`Y;&<(|?z3*x|7k3v13BsQJhD{d!?JRcoApLpP_$V;0#^8R$&guxsD2*J# zpa%c>72re(eL)b@LON4es;L=}G9_9|fQxD+i<z=_toQ;@t8pscEH6+(1NV-Px~dy+ z@1EJmMGJoV)`XijueL288$WBFgNTn7sv9ZM>(O`+`})t`k3!%3#-T$QVk;A6hQUXN z5i&~8*yo%5d=d<2AT4fBvSX|~>>j^pzN8+t(1r(#UyTidRp#l%baRSa93~Ti_>JuS zSbX|d!t_!&t;VU*(m5?T8F5D&saCc?3SJpChV8y=LfD^WYAb_DKR}tP(?ZO*%5BOF z<P3;9QSU7cB|Z3*9L_m=iYRcnMwlkz3n^hgM7~VC*sB%oCw}O@_vh|*YdhK|C7#Ax z!9PLMpJ!I<7s>QM27L75=;GGl#z`iee^I}?F@M#%SQ|IRn=p`LG-jLLj~2-V;6OvL zuS5J*so`U_7h2DrYU`~!9&og(bL%2|jXe71S9PWOkwWDw7-G<CLjM>1X}u(WnH<}| zMjO{~;&1O;6VJDgqAnur2jcq@A%*QSTJr>$hlRlUU0z$J;`j(DLdoZ_%ttorOV7nQ zPx{YPWtl}BBO_9VByV0@=(zL7M`jofP`Xy=dh&Z?{f=Y>E|P`qO!sF^4|tXtd$NPz z1-FaoyV%zn_=!`$o=7XJ!zZxI`@QjOavUo5S>dsKJ{HJpom(l1^nLI-N_)gkMfFY@ zO4bdl$SgCM_nFfe2O8K?4p|*jmZ63o4hquSU=jmcXJBGQy7xNr#Y_ZsgeaeBHbivr z!M1nfmsho}6w5s=A)h|ac)Dz6?gjUPkue~%MpAg?Ev>kWA7E5cnapCy{DQf_rSP~S zC4_pSRSqIQrTPp(`FhZ}!$JG3z?LANd@(jjw3_`yWZu)h1Rq!m4{s{(Wt*D~QG0<- z_1M^RE-hn?t=6`~OQcdhc_ysp$v24&-$hwGd>2cVMb~wzW=l~V0F%hMv<9j{xv?0D z3jVk|H>KdP44#Xr4VzqR6PW&t=A|QZS2%|mo(IhF1v8V;#iXqMcs74?nR#G~2_|gR zpeaDVPRYR*&F&`A_t|exDmTng!frL*AJ5GiG6EZ#6D9Pb^Q>f)v5bez$~EQA9k;8U z@*Wu7-PdpggYiHs^IXlY?*`AeNQq!^kkGnKn%9URHjWp{b^Gf?Z{rC^1kVf|8ws)x zcTC*;{nJnNV_KxQr7+eGbS@S*MNSbe>=jq<X8yB@6-GEDkSh5JC(BW@e^@ut0jA9R z;q_`+Mx;idX1yOPF3n8VjNGl7n?DU@+vgw~xNo#jkr^euwWTgC{#gKtznQMQ{I*hT zjYyAN$}-+WRh*XOvK0;$c~^6^yE;>C7rgnox73xu_NW=<*qoAh48y;&(!2M&33q59 z1igN=Hk~?jMl7?BOB99en4bN_?7Ehhwnk@GW%!26q+ahK0tgp)>(Ktd*q}g%Z($E) z9u=@*Flz*rV$zllb{KMhu?%+6s)xNxj%(>i!g=ykLfCFgJ&4<nipfi?Rr}SG(!Q%M zr*yS8=d8t(Jh(>f2wcc3OdH&r;jrK2(S;0@=AyvH;bVqS7B<q!gf07bVu9Rlr<wIl zEzgz~C8V>}cdFMWeb16HA*^#lU4tm$h&-S?I}bu#cn;H``7>HimMUa6KEHzV`5t3e zn3sEvS!XW{#RV+XJM*5}wCU5pOQ!yn6R?of>k3_kx<-v9Jr!X46yTqeUT2TSYmx|h zb&~^MSBR)u4;F)u=smGMNof*;&wTL<whRUCALaRmlD97HX33M~Wb{jooB$*pN}kK^ z-D2Cm8?Z1F2LvAQ2&pf)z(!Os1=1;)m6b)^@L>>9m`+0E)98-84<~x{BuHVg-5Gg+ uFEqM;(LK_P2vo1>_Wl1{8vdUQ-IwSaoJ*$NBf|lS3^FsaM%Nl(<NgONBT)wc literal 0 HcmV?d00001 diff --git a/WapForStore/Images/SmallTile.scale-400.png b/WapForStore/Images/SmallTile.scale-400.png new file mode 100644 index 0000000000000000000000000000000000000000..bb4a38f71322cc5c48e7fed747ae24de222164b9 GIT binary patch literal 6010 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 literal 0 HcmV?d00001 diff --git a/WapForStore/Images/SplashScreen.scale-100.png b/WapForStore/Images/SplashScreen.scale-100.png new file mode 100644 index 0000000000000000000000000000000000000000..eda99e0d2c0082f303d5b2d4aa3371e684547577 GIT binary patch literal 5432 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 literal 0 HcmV?d00001 diff --git a/WapForStore/Images/SplashScreen.scale-125.png b/WapForStore/Images/SplashScreen.scale-125.png new file mode 100644 index 0000000000000000000000000000000000000000..0a7f5e0dc49f8a348334058bdb29d9ba2b53d655 GIT binary patch literal 6904 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 QpxL2o#ui4^SMEIcCsxstS^xk5 literal 0 HcmV?d00001 diff --git a/WapForStore/Images/SplashScreen.scale-150.png b/WapForStore/Images/SplashScreen.scale-150.png new file mode 100644 index 0000000000000000000000000000000000000000..5da64e7405abca1345764918114602ea72b9c3c8 GIT binary patch literal 8753 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 GPyYj~HMo=j literal 0 HcmV?d00001 diff --git a/WapForStore/Images/SplashScreen.scale-200.png b/WapForStore/Images/SplashScreen.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..8a5c9b8d611da1c8aba3c956e6140bfc30d5e733 GIT binary patch literal 12678 zcmeHtXH=7EwC-mE%YdRz7(sA^v7rG`igX<iL_kmkgir)jYCxn&2X&Mtq9R2Qf=U&U z7K&605djG$2pCF~B2ofEXrUx$zs#I<f8BN0I`^z~?pk+POCvGgm-pN6v!DI!XTM<v zXSDb>3T?zNj8FTN#yJdI+lgVTFRbT*ck<c^$?&q_>M2uq4C8-~{;aBX&AfzR(#Nzl zPMr6CGS;)<(XVX*^OFr?O1Jjk)G;^6>#HIVi88NJ!xKttUewwP#qB?9oBcr}Cu`$} z`!xw|@%Fz8ns1YJ9K{v6q?Z0AQ7TpX^!N4a_piPY6jTzhBw#m4{dwnc)6kRaJa^<L zEHoADsB=r>l}X!RC0Jg!qKV(Cm46-C1`EZol;AgLso1);a_D9M?|JCIkFUDHhko6- z-Wk0Z9KW~*UV>Mz7Dm5r-}3LJ|Ay&bNc@{Q|FXpY7$X{FCtdGl&)gGHdR1oM^2||c z-HTW1A^Z-LeUziM_e9Fi7Imz~$f~eDgE(15&ylurdPH!0if!#Zhi~t0TfC^`$5K4E zc4EP1o<Ewc19fxpmKCLRof|I}tF@`@&z8Jcv*L#T#r}@JMmxpu-d`eM*vKFME##N^ z`Ps>csai^epo!0(X2tmu3~M|2Un7;{IXEfHih)&saB*1h%Bq=d?{06REwNcN^d%GJ zUd#kz)5|duxf`*IgW|A$@=;R2tSP_K^1_S`!R7VkkuQaI$y8tVU>xny0mE}qqAD*c zHL&2Aa7c24J<<xr7vJ7o`q7zhJJOy*;B=njEDfn;=&Q2-$SLXdb?D5qc9^J~J0t8; zYCY2YRGq`pj^3LVAz8LRQbb8^X5@22>?tf*6T*!d=XEA1xb{};Y~$hI8PD^}Z};DK z)P!wwUpv~Grc+p(<6V6wNipsDJw*u-zp?zRATGzso5~~Xe4oQ6aTP=Yrdu3F+Om8^ zFib`lqIKbfSVCixlKkhkw$$Z0hT1Zd!66FC*c+I6el~LVSey&u&MBY3Z6m^G7*P)H z-#=+P<rEn!vOXQ9CHsw=PPmKDin!GXI1GGz09ZLLj`kdXsQ99$OvHf#i|akINgl1* z4y;CbZnwKwCZ)JBN_Am>q>!wHexgyaOKiM~pBLS$i%4S+kw_)C<TN!(onF1(+xSF* zmd1-=kw{OFQ$jDfWgR~@S+k8cS-Z<>!oy5As^>Z*VEDG6<*A<X>r%cGriE7qQ|9`2 zagXWO$r|gH6N|rG8U7Zs3kM++Isp%AzdNQBCn)&Dv)y#~>#fZ$Kb^$vDeWyo$$qbX zR33C=KGc!a4p^9WnChryKHID^ZO|fwVf0PFP${=H%p=@8`uc*Os)xuej8-iTN@W~; zRVo&+Fr3lgiR-G}6=c4><J|{g*C%VNUsfv=zktlSj4~&C{lOSsJ;6BKAv5y+q=4Bk zdf`siJ)RwUiOvPu3$WVwCL5>lP$#9aJoU5Yo19+eYmR)*Hc3zm3M{lN%{#(!U4>;v zkYX_`!St{A(&n$_jAa+a>1Oq~QCXXa@6V%D6MUzCv}6v|J~HjbDSH3>Dq~X<`m7XZ zOduBdyL9pH@;8`P#4zR!fMN3|oA5(aLc}J%SQF=#F?x~H^AdZ_=7{}r*9Jb4sfweA z<`#|H+S&#-6vw|?gQWzb{XCkb`+!(E(>}b5^KDnSrPF&p`A-kBrHAq;UTy2$)aKuA zZcR^gF`KUXwWrLpf#x2>VUZFCXCQP(Q0N}lr19j-vMN~AhOUD;FDqy1S=T3e9mcy~ z&!|ehqwgd6KRlz#9w0ZVE^e<JY8AtMh)n+nnf5#aWny_rfeXV9AMfv`<aSj0&F%cs z>o-y9OA_4X4zJf0zx}l>oZ)Voom=HwSiKiJPC(SMJ=`G|vN1ztuKOs0X5&<Xh?18s zf^8*1#&+=s$_7^nVm<MB^j^Kw{k2j0i{s_4y&KKq(t9s%#F{M;hHu+k!>3oCQDTxc zElxFGm`w0oS3K{pQF@emOq}nx!zpKT1r5DSEIf@C8eIdU7iLB~zQ(qCtAdV4!g%AM zN?DJuZ*DX$&;{O(Y$d2iDUFwsyIjg;M~eEM6mOEMIJ`VtQr+luuSm}Bm$jIE6X@p@ zV*zW4&5kCoWjz*|CHf(vzV?OHf#&gB1o;3z_S(N>R}4X_#GO%|tkJAIqg!s_KS>#m zCAie(?l_T`&$U=q!?5PV5ci7;c=OW3Bx|o$?R{yI7G*MvqqTae0-a)4jaGNvT({|5 zQ?d%Hy}5M#Q)$g8(Il6$;q;vyHUx*Y<)SLSsjn=`<rWiGVRZ48Tb<uq#}5D{)6OW# zvPZ=qQTD8pm6i2W-PdPfF0<vtAr1S8oaFZ*oAm*6M$dbP^n(@*%a*1Z+zld1jeU|j z105swW5-!Y^v9|@7n-{_%F-CzWrjT4X&2Cu$8cI)`tod-l!*H$X;0N$z=zLGeD6U> zx;(G3{93t@0I{zY*Xs5l)MT0DT9OtEO9RNeY3X`SZHpL2z79Bjb1h!p)w1f+MS!Z) zbVrS;J$E6OoA9b)s(u<+Ae~s!Q`|dLi=)QNB|>r~tB!WRcCX4J=M&Uz2|o&(R0*Sx zx>HWv5?We_F97UYBkXUZT<X*mCO*1%tS@wLK%>IYljw0kvhrix&{H6&!rt7lOq|=H z;;;|fyH4<mJmO4AaSP5)%u$sl1`0cD5{Fy+x=X797QfGQ>`NBB(I|Hg3%-M}rMErW zUQ5LD{Jl$&0yLMEBmz21l9J5S$gcn5=xKVr$CI_)Y;bSWdfQ0gVUsi<JNarxt5^bM z+N{DWz{XLs-9n*+4+}0^x!;y(`$U&A2gR?!YlN0%pKC_eyWwwkw{ElM(+i;tm>E7Z zqois_x7tRj#4>WX*7qGMDIJzsO>ovD{@`hek3aer*x}d;Vb!;tSDxqEj1DlCdl<3{ zJISND)v7?_o<0QoniundA8O-oMl==uRqDT+>XRtzWSpSvbIljvN{f)Hir=dne;;M2 zW{<CseCmh6^)a&1{=5FEsgc`Dyj_5n9ey-Fjr8TXH>t#N2CX=I^dl(74X0DWa-L2u z7PXsYpKRYT^onoivBO;7(VP;?DR$`v>%N*WheTqr!%tbUJPJ8^gWNxnjNIaO=v^o5 zaBt>tQ9MUT;o7AHs3^(j3BC&l0!3PgKpptk15y`kBV}7%%9-t%L&keMZJZ8Z*bK^3 zq1{wzr}}9#=S_&rSqk<IF8I5|bm_`s3XVXoIhRP89;UGv3RL2M5~6s`4KA;Uhrvk8 zbFEuV0sWEktwkM{grQV|b7lACIE$*Q@9mt9*nYTML7i8Mw^@T_k`VU>m!5TRPC4OF zy*%sG#>y@23zs3%$;y?*FY5<+1V+sY0RSpVz9U(~?F84x{2ahJ)fO(kwQ@0=HI!lf z{?2EiPq8y?hWcrX6V+<GS@fDOR~Yjj<jrPgo43e62%PX^=pZJm%KY{~OSF#WoTRik zDS%xx4g7O8mZ?=!6siXo20c#>n)z%p)TQa9<cFuqL=<-119FPJ;26>ALDQp21x`jx zXIm{xEPt1;t_uoTPi)}y0G}U4d@d^RXqN7jONPJX=eyndKcqqNQ`XPL3#at)w3c>% zePnn>+iIaT&dl*OUM#(Rh1~1*CZ=wZEd5>Y@sTv@1{ExL_7oK4O!dJE@|w-cd1srd znZ;dGK17RhujTF`@nXoWqpp0*^p2|btvVLFXS>~-P<cv4)LXeQlFjy8gCX0YZTB;S z!4^x3aZ|4U;6aDNMmeXSuca!d&-u=O3#rZvI8q!>1=+&PuN76$%^AD%%Z`UqZu8^U zs}n)FygqMeXvo}?bC}6yti}w~(9_`r43X0P(WN?3+J8?ut$5@`_V=6=fp*-X3-=f1 zCP?>GW;^}I%|P9md4E2r=^R%%R?yJ;^V|C_i%alCk+3L(2z|9>89q_vW6ZMASA42- zP^3@K_4>K?o)db2FFy03jo_Shm(>O8t#q|<g$?C0U(CnZC00|H<VK9_gt+WT-=8=6 zMHEwA14ap1gc27%RW3Y2gQ1fE&8yq3mORr=$jB+COIYzY#~O(dbcc+nmkJ}dV)jw= zS^WSEYp|w1QSfp4k!Ss0Xl7}>WBy69Rdpb~qM&`BSQkam>d8Gd&b$mjRO-nIkm;hx zq|pg;r?o?tc=UzslUs0Vw+dRunV%gk8BR}3XEmv*A!xD}JKFcn0gDf2Ku)LCd~vc` zq<6GJIW=IWoo^ibQpg%yCsj3XQ?*KVb>D24E2(NaP3kjS)~#zqdtcHc%}Ak`lJE~W z0wCZ|K)}43oA!zBP@kV~c}@Hd6eS$Fd^&kcglutJV^T?v7olvtY_t{VCz;{YTjAr= zVCNjv6U1Gn)$Joa*|+4#V!8$?>BS%3jg+7ZZXHJd74|UGNF%2Hxk_kQHWJr-B8oB$ zjBZx5_6u}7k43$|-k1h<PDS~o8n7@xd>pd#+NtD2PW*29?@tO^JVMnF3H`P#!;Fg0 z?p?%^Mw-8y;Yhr+ZL4^c^20!OgH?K?JY#87ZcDyxt;hGrcIjc;_NBwezi$$ww{q2p z!xO7987WxG@5>X@W^2<rMdAB#jV!8?l*-~*p@R3x`Gv8<rdEP$WlS=t8~^-wu)B#! zX|$#3#66oU8+fSG`q{)PX<t*HpFpl){-N}C3HhvhyVO*Xgk<}d0oNbMDWob|c_(#h zD*Dg=^k_G=8|=t4+K$<81|bnVU2T`k%zMx8FqCxt)$F+fK}+x5uC;fwisCO2O0QZ6 zjsd*cy5#svi!>7FQQ!iNls-($$Pf_M99UnXJYLP^cr?m(q*_+`4*rg#ISYJ@?U4{J zNwf4Bj2RAI!+%Q9{OSo*;++C2=UJV57n;>K53+zx>5A~&_H#C)RvKyV`IQdohZ%L< z-Enj(^}?Q46jOU?J{(EuN6M{O-E7KZXEk=6{?ua!fu6pHH`2rLnI`6LCpn@uYptB4 zBZ*HZRf|mhm_;<VT9G(cK9!}P?`e#sMuz`4g?uBKzOSWj{nxg8WbenC+u07h=sSJ! z)a_kR;a*fe8e?#nj46C_z~XG<H>u*=nt9<^DS6czp4128TIrCCQWjocE<4QiTyL@~ zl%+sd#(M0a;yeAZI*R$!jmIK@c6G8cT&)@sjrOX1+-y{?*_*1mI2KLX_FxN^f``fx z?3Huv!F%c2ozZ32CoGwRshd^je_!UzRqLzx&3>wm%1J@JTrw_O@2^+KLYOUDyY%F{ zud0{*e77laIuJg5@t$|gDcmmMgkuqEQ8^?x{%+uAQU=}8z3r^lV8afZ)lJ)lvF2E| zHauO&_fL<bIU~6oiGZ1Gs~p(TkX?bt^iz$}t85|$zrMZ2V%vL$WfjS`Ul0e1vSrUw zIm?UkBbDD96XPr)j8ZkZ-rNO$;6<Mok`=(Ao;<}DOmx@v1}-wGP^9QGXyZ!6EGcbf z-Qlk*1lP)x#BYo^`YE<}Y$DF+wY3cOQUo(OlFu1rSA*amhnBBL39FNU6n6IV@CltC z?SQVv!bfj%IZ?*p+`?2`wfT_WSP3I=7^t?+@EYH;3bd}qz;4YhlvUjP$|Ek{o%zHr zR8D>nCY9Uo?lUp>GGJU@H8~`G7T2ZC@Mksp;|R7jYYED+{8p2qZguZ`hLYkCgS3Ny zYzk;hi?d7+^%;2Je}!Nkx@E$YG~dgiSS_9O1vz=G0{XoOq^K>zOXV(oyzlXD!@l!= z2XsCqt0*-l$d0<dJ?QdF<gs4~T60j%%&H|Nw}u+vtR<-$2Y;O$du*3nH|d6Y@(6tK zN1EFlBPd99G{>pq75ioJvGP~DC%a1>JeKAs(c@eJ0d_n|LJ%X%#;DIVDUQA*(;c&o z{1kLFrXz}O*UwdMEs(65@AIe9p|V#FuqWB2ZqwuC6I6nQ?X#EH<jia}PDSKK<dux! zzRVYb8*p%WIz!E(;LiG>$));<ep_3~JDni=S!sN3>cjOFdSpBYT$F?mC^qDS0@|v} z(=-ndFGCG{X3<D(hUH#XKcgF{m#nOy-^B!N>(GEN`6P{(l=WVktYr<D{gpjmwjil~ z!FX-Cca2kRYIlJRK4#{;%Z{ATCQ64hxkZz&O5faT%kHC8Kf>cRpoA?}Vi|^yN6IIg zE@UP^y9mz5;yZk@K%rQ{$@Ar~k1X*+Dra%f-ITdZztsEdb*NRo2wAn^Ls7jS#cZ@} zy|se?e+Pu1qS0fRH3(#}5n)c==HR8BWkKVwhuVcAU*K<=KG`H#;@w_6bELSaUG^!i z#Nz`=cCR-cPxUNke@{&GZ?Mx{HD1sl>9ZO(qD<I1?}U(&mveMG50+N|Jw~wC?mn~b zE9^qj@}U_ZHF`r9G%n0XAMWlj94-E|P(w@>=&)I|Hyi_gWKRx6>!&9qBxoib#nGGu zSo{hD_cg2axtwLz4ycO62PnusyMmV7=vUwKv2HA*F0v@jFc&!+`uUW`r*19BZ7KL? zs2z>2+FKLb`0ahj5J9#7=3jKG4Wa#sf_p0@e-h~4M7S~0t^xdvUsr%bNj0iTiQgzJ zZKKhf-btqr6SYKrE+J<{ScQV?lH~<|2Q^-UzD>*$hH8=*-GS}5eZr(e!685S@lm^U zC}|36)dy;1|DhzgeKu5RYglb<^409dowt1F#x0naW$8C~MdOpb`@%eGMXskBnOGF{ ze#8;f`zM4;p2>YzCYROB9k`1OnI*~}<{4*_riS`vY|HSXpponpxl1gTS8MuJKVaHe z1ocD#JAaB^qQD&+N9KHglzz~1M-ciJQ}Zi7-|yla)=QMbhZG;1IHX!a4z-kijpI!2 z;z}dh!Ur-!orPU1+=NtoJ$z@s*tw^^d};Ud>s#c<oB=|czt*!>$cY#!r~?)NFMuP{ z=(3KLQ!ic6DWXfNe<^?dH$x+7YtJ{Ucn6{yG_zvrMzV90C99XF{9U>sM9C#rG*iO0 z^XAJx<jT|SpL>jCWuzm|rfcy-W6GpAm{2sQ+{)PZoeQJ6Bq@VXW_E)UGQ*fTY;MM# zm!F(?F|+piMZ<l-QW~9^HIeb>B8U&%s?2oHojf1$ezxB{ug9wkPb{e0Yh+1eh1C^7 z6C)q6JZhy6wZ!V4r9elS=V+`e=Wbs6Ir(QF9=lB1^G`Cy!C12@7~GDf<Om?c)aaS< zV9VC7MTy+<X|nm+RBw$_+5UI6$)OIDKRR-)_|@_+OS^R4EiLZ#9W5F@S|!)zT)1?> zl=9d`fY;=E*q>PN!u$bVh|ZJC?VuQxJ<l`Rt4{wO5mu1y{4}B?Qp;bjBCsZIK0x;p z#kgkvH{K;J1L4CLkDEauU>Q^9J)KF;4JUGPe4q`WL4TtMrU@|?3F?t2?$o-HbDE#R z=Z&nCBh(guJdbJxzd%TK7#Ho}mTjkO^C#YAajdJvmH%-5vh+Jk|LvFPcQ$O>n+lFg z?s@swpnYzy-07oul*g!eqs>@nzC!E*cLQdh4J3k@eL{*Z+2{LX<+Sx!voUI4$?=dq z@{RG*;*43aU;chCv{Yq<CGAEaVUU@I;rpOZIVDxSbgim8<$(OBVq@aB3Ap+fKuYix z!IC@ob{yTCQ&2A<DG%hLyz;I**kj6-?HT$cFu1W43i>*kY^2zb%Q*9+<vCqv6?S1a zT3SLQJZbC42jVQq>RBP|xF0efo1G=g#|oxvw&|w=PoTS8ybZgE+2f!oHYw{1Kj_Q{ z+EWC5olVeE|1KITREl0>@vi(972a+|aci->cSvGy-=P-huLx{SLrFTFPzux{j~=Xn z2^B{hIVgr1XY?w4XHG}p@GoW`n%%v+{%=qF;%nufZ`KSiGPr>W&~t;?oPn*w$OLq? z-t4FqSJ49M9x~?pgs|rEm8UdwUMB+Wa2Z%DhI8XREOm1z^Gax$nn-ce_QaV#M1roZ z{Q5-OQ*~Z9P^>E#evOpxJr!pa=mY&r`P3dBFnc~*ZpDsgi$ORHvXRi~xz>Om2ES8x zqM93+Y&HrCswi$9);xlq)1Nv}7fl1lC3cr<^|F_$U5-9U^|K`o?yv{$aK9uFN!gx& zxt`&w#c>_*y)D5M?|R5gp_(l+CIqnKMA(jCFNtSg5LQr;pC)nHB!#@jWR*pCYj}bc z7lru|R5}g$8XyLzY~TI0!2w8~?JNtQxX4B;A-26VEo=pZ(-K{)9w!HJ*wa%DQbSr# z^5ud!OG{6VS>Yw6F!(TfZsJF9<?g?#S{PaB%yV!hLDa`b_aP(AbpsRJ(h=A;v&%6? z=R){JUR0W6!E!6Uvihsn-xEB*q!}cri9e%=KQmKaD~kok?uKV23%FL!7+2+8d=tD% z;pHkU&t_#=HT_X)$>Ib?RRD`@=DY!bIk>Wd8jxx+NNCCcZ2gbg=UP@eZ(4_4ScT#t z_YA!J;g$ZHU2oEgwoeose$+GgbHJ;{Yay50wz$(K!oTG$YFNOHh*bsQ3_I*fbH45T zdL1@`_K<wSt?n%<N+5#ckYNml^5(}^kVg)HIxZ{+KJqjIRS(p>^e>RKp^(zeA3Vpq z74!?4V1W%ki;%3RIU~tz=z?L7kd;CY1Kb?507S7T8>~1-8X<TLnT^=-9e}wMkuZni zZD)?{23UCcBp|@oJ;(vLf3_6D-kjD!OAqntv<~rL7ImbPmIn5*i(A%h!lk<Olo|P% zV%Whw=q^d&4g6F!?viq&*SFh(=?4tc2bv&7Wze#f<efY7$jECzq^ttN0)>JvM}SYf zQI@b*|AjJsdA?TdjEPl%r)oC7_^#y2$jV99UkZ#gv@@3k+HAt{>0dPO{`TMs^~q!3 z*)db*Wr&zBx(CVq$J3DX6SsKMR-6dvf3jAPjdEiz#P#PoFnEb8ZL6tWQVi#3h#KOI zHfR(br8Z$HMreMM`Ps}VCngZ;VcM?cA6mnAgk4UdINBA$4SbMOlX3<|8cjp_Ie@F- zRvjrlV1v`(jd*@l!`_@jOeN$|e;^|@aCspOb(M{Y@=bitp@m<erAOlTj)^fOe5ndU zsmO`YFA0MOL(A8@`t=6y_m3bWG6p~5qTyX;671{o=rJ&`hV9fAO%>S#(JZf)W6?P( zhjV!Urk<2Ku>uP7nH?#>%dGV3)2@@Ng1s8`|HQCEaj3)7BdMw&8#+rXN;C_GgDXs7 zgkl-_b4ZP=5Og;b$R$J~H+^QFdc7(dH6tEi>mkwQD8-AVNFZ#R)fCqvGbtn4S3(6O zheP{IQ-zm^%N>?yI`q-B1VnXC>y<=e`*?{KvTq!~5*&^(v8)sP{aE%dn7u1~PX88g zX*~FmWiZv5>W2>DbfH}n^=wYTvUFby8kPk0KqZi|Z%#o2hg4u7dGHzY5_EDCKo-d+ zq1jLugX5JvU5Hv~SF|*)K-W&7vDp>z1PzUnej0@tFAz1d)zAe@Y;F?j;XMXpOwyt8 z5*GooLUP;u#z9vRFGj!|naf$s09Z5{pT$yoQ2F;_f?=W8VR79;RoxlX2Xc5K`8ARh zJ?ldjL*hMzk6zJTh~myi$$0!|_V^@So4Q;54tb!Jkc4)YyKEbduYv-{L}iw&g9x~c zvoK1V2%IZl@ixYL%7^fzhJ(cqK6EsZ)YMQC4}%0e1q#c%SME!RE8~i}&u9@SnKV85 z9+^lW;~+I~`_Zh+-sH-s_y;ak?C;7%T-TrCYmN4{C-h(C#CL}`!w^u7%WiVFU+kT$ zip!wW%SzYUfTn5^RImBtBB6hZ2TPFzpfyW=0@sa{?}c2(hD}0>RypV6BrT@;!PC%V zu&LKucZckJsNR*}^y-Vv#22CIk<SP5X5>tI1BP9A3NcU71Lq%{i|_93$WWG&+W%!E z{k)qd;fXe`OS3joI4*Gh{jPMF@3`Nt<c8xWk5tt{K*C6Yz>>q!`l@x?oZP5pdtOpJ zjGS%FTO_(P_vs}(Lavwps&`-?bwAtY@p+3~E(}+T^;|Zu!!n~#Fb}{u;w&n9tq_;< zGkM_6%5)9JStTQ$t+?y~6W^@af`pS#^k*Zimc$Uj%|Nv2AnE^Ecj%@~f!syLkk*o- z%ZxMLn&=SYPz<G1AqnI+@_rj=D+;(M&UgSCPd(IGa+25ltpoB}!&#q`{io`b^JhU> zXCQWK*kp6_MbYh|%M=-cInPf3ryOFo;ZEDAMuJv9>tG_1PLVqmj#!N})2l%a;ZadC zmdIZ>2@_TQ&1y?md#|wT59X!<;tz#n{p#a$!X3?_Em^2Gh6;$cLL8&d9Q*c{4DhF; zR89-peGd+MXo$;$h=_0!upx}F@!94y^VVk7k7t>~86;|ye6P27NO8PzgqH4^+cC1^ zH4C;nqcDo5fgid8$BF=tj3loY^aMnu)lI@ga*N=*%jUle2nyX5RZ(=^6iLi=%Riwz zP;~j=DAx)*-hhmi7s#RFzXF+i27w#R09IVUUeHxbqon~yIsTj_w$4p@y<Cnl>2zt9 zvv2?q+Z6E$YEBp0OR8dcHj7rg>)7tb6lTn8nt@KE-QTT#t~zjeYN)@u1*U}wmOxq4 z@D%CEDt_O!l_x=-u1w%4hc4v(4umSDCibDm_#=dGrJ>PFQj}HeYj2tl7<8Ykm@f-; za7#AP^*U(~u_3GTW@r1!moKui>RO~F`9oQa{Ax=-r(q~~6vl)XZ|8{jU8y0jCn8_E zYMES6H9v7yVU!=kAflP-Ym-AIq#tkZlIgeA$PK+L@J8$|r53u@p{Cl}P}@oN{BLf1 zMN#|7`OOWVESS3^*TQFcy<9#e&wYr>wq2^KtRXMd%!#K@_xa7SNL*#BfvW=#w9?f# ztH^*w?1<-ZVBg0c=8z`gtey*Gr$IJ48^B8rz33)t;%srZutaRW=91~2D*Uo^vSHYj zn5)Ipx&5OO()d!h0&8hJE~+kiU&czQ0>SsGOVf7IUPtf#NsY+DaS3h`6f_bk0T^5b zYKOwz+w;Fkzufv!EYpbNJiJ~!zUWE)ZGNNz7r+`Ly{hIcD7Un4eM;;ubz|Qx@`ib( z5UQL-;cMnZEEx+mUXAOmax11zD}qzXQXpD!7dlw&EkGQVroH`8Dlc4ny7r$DtML)( z1Haj|om}z<$<Vq^(EL8Azi56C$~(K{IxpTD3}nItbw9&KsN~k_zsFl|PQTbn@0$ek zCH?Gk&B2`Kkk?whie>%xl)e)#2!kiIoDsB;;U8;xdDG#4zJ?xLPb9f*IH_CM174X! zc24nWI40BhmI#yZmvf{0fS{0dJN-S;H68rYoD?HSXTFs{cLrYY$(st*+2`o!IJKQ_ zsIL;k8Lj3VTrnSEnx(BYQQ;2NIH@&w)tYM>5nX?(&40b+0j*>P94XlYvr#P{r%dkm zB38hv|5R@Il)`KGR_5lS{y*PNho~*>wlZ(74&t^!Wm^K(3%F>cxk4N8W(w&6dTG4l zXixdv!>}6QlT_Htq4k1xWD02==>5M{GE>7md`lEeiNPTQ8H`S>z|a5rK&NAo_hjFm z&Hv!)|KePyK{g!Xk@CUnszC{#K~m+ven#|vcdy_wk6}1iQ`CXw{JBK90F7CkV=jo! zBvfxC4RLrg8AkE3dB&SrwJXMcBG~a!bd;dT7vu*FC*Uw^-jRP#t^Rws_uqre|DN~$ z|Kx1@Tdq^>y>*C-dDw)_Hm=rCc(KFlq5Z_L-`1{>^e;D8PWkh|@e%mB1;P^!`JVvZ p#IQHNL-E0|i(8-*{D0{(b(K(U0hfT@GPEr1lV>zu{dw``e*oDxW|aT{ literal 0 HcmV?d00001 diff --git a/WapForStore/Images/SplashScreen.scale-400.png b/WapForStore/Images/SplashScreen.scale-400.png new file mode 100644 index 0000000000000000000000000000000000000000..e32c43c19f1c716ba6df94a7a2167ea6f7eab9fa GIT binary patch literal 32565 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∨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 literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Square150x150Logo.scale-100.png b/WapForStore/Images/Square150x150Logo.scale-100.png new file mode 100644 index 0000000000000000000000000000000000000000..ba14b0b44ab6bff5fc0409a2e696f0766b58145e GIT binary patch literal 2298 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 literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Square150x150Logo.scale-125.png b/WapForStore/Images/Square150x150Logo.scale-125.png new file mode 100644 index 0000000000000000000000000000000000000000..20562805d3a2d85519a8e5e39aefdfd41a649ccc GIT binary patch literal 2823 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 J@x~0B{C~EiGD!dc literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Square150x150Logo.scale-150.png b/WapForStore/Images/Square150x150Logo.scale-150.png new file mode 100644 index 0000000000000000000000000000000000000000..40e9be6545d7fb43746bb4661f5909c5d842a1c1 GIT binary patch literal 3465 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 R4E$T|usLUERc7fE_g`O^WoG~Y literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Square150x150Logo.scale-200.png b/WapForStore/Images/Square150x150Logo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..cf49e747762194af539aaa6a1e538b51cb6eb682 GIT binary patch literal 4788 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 literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Square150x150Logo.scale-400.png b/WapForStore/Images/Square150x150Logo.scale-400.png new file mode 100644 index 0000000000000000000000000000000000000000..c8583add1b916c073bb6777b895a1e2b5895749d GIT binary patch literal 10587 zcmeHtXIN9~_a#J{A|N6~5b(lP1OiC!MWv`T5ecDV5a}R7=%I)TQuQiDsfq&9LhnsY zh=MeMgpR_cNa&qF!o27H{$FOEnR#Zu{Xg6fJitlLIq%tL@3q%j`+auH#DMJt{|P!e zI<_0vb#K$r!I01o3llifdOv*}{5t;Nx|JUt9s3vPho0b5c#n=wob870l{-P1%M-_6 zO;}*s*Sr2IXSm18;5l;qLgn#G3e|`gic%RVdJ^XtJfg1RbXe2l6r}%*9ll-7iMy&3 z4dZz}TzNwSj-r2Y6Q+Ao{SW%9r+KdEjMBUhTv_BdC+~&7w3?jv>rsDcbbs=|#Zhj` zZ<RXLgrcWAKNN?-(9_XHC$_`ru3s#tqx<VPoG$VnjFs;E>wgdZ8;O5&;=gYxyy4Rf z*;<-Sa|rKNo(ikN$}m#KkHTbL9qrpAg9w6wo|7aJjQYC$(Hzn4?h|grDmgxq_A{cD zSET&u);3xvLaaRZ*=(xKN)2BN1$#unwzi&G@LO*=HN}O&2=-0=7ZSXQeNo(TY&2_? z(e?ieC32ssgh~y!@Y8k=-mYuX`<pn@)BVW>@bDW051o!&6eHbpqyP1gF^*=L$n0pU z;`*c=HaaQb(`;rRx?EGI)MxAVA*J*AAJ-^*MUhe9JTG!x8`X=g_}7=1wB_2dvXcTz zB}qNs-zXM;&rrseG%gllFwffQE|f=V@roK?+h`#ec-!HI^K6P`nNMifYWQx`M#j`( zzGrp6zVi`vR|ee1a>TQ$yYpd}l;zQ3zk#rnOLp-6hM6SwPWR%{`!`Q6C`B=Dy-t4< zx;<p+am%amcfK<&mQyk8eov;AsOv)C+uy!i*t*XrBwvXpsk}Rf+3I(0*(Qb(2%eSS zF3!d~9HLY=zKV9q_iC79kL9W}@RWboQ)oHd=$f@#4Y3^YX`^=LP)Bl7q-uxXl{Cz~ zQEa3wPti(~&f{Z=aguXX`RyNuGAV3I!?~FuiyxhnHFp*^oJ4oDXzR&oH(p*m4$mEf zu8BKit81Phg86w&_!2=lB5dS-hS%hdEax3ruieAV-ZZ}+)q*4?#r&0!X*{n3Tz#e9 z>GkEiSF_kX^>l~95nCQ<Ti1T|J}DS0@}kIJD6?RdmHL@ZS;D!2*@Zg^LUs|<?OEEv zs!VZ7<;`UK(EfLNiVLk9DcC`?N(A1OM6~g-%QwxDE|2u)MCxEYa29Y|?d9r$&MVA< zgIj(guBgSew6;U%WcwygOP3r>fR$6CVk33mH}Dt8<MBKXy3yozSco0YqNFMA$&6D+ zg4_P4*4`(M)XiS)w&smaNy8c*@)KVB1vA?xQg!2%Oeoukjyo6ngcx`f?uzYZKhq;u zuzlHEpK0Q@y!(Ys8E)fMW3fNd8;&5M&<41n9`)7ny!sR5vL^3|qCa-JI&B|lKi{{H zoICWO-+Hrm<s9p%Hubk@+BJ67dmpn!^B24uW>Zs@sR?HJ^)?Uw{`$gs8uv^yuDE<> z)Psb!@tf~i?%$+a)^nt9xv2jF)nWm6b+DGz<24{vtLgDx;WaxmCfR&2v1-3a@`^3} z6U9*Mo4~Fk$-wixOg3(7a<{eauzTvzI5}Ig_D<|qH)lbFk%4|Jbz+KY7u*{<IgkfV zGrr}t1y|BybWLf8{lLH5Nq?h0lOW$%BX!jPb;cbeBv#;Mz=h8e0a4n&9&>e0hOSQJ zk!)>o@1*!6S56~!ideE(N?w|3H6-vW77==RLml<*X>Jdi+lAXEq~l*dA_#?gCOi1u zAeU5`Q2b!g8Q?ZJSJS0*A@y8>{@b&t)so@0s$%iRbghKVV>2fBm2oe=7`3U;)fVR* z%+5#isI1>Bf(djm*6UoNma?Pr-sAOynt9Wz>Z~O}5xT?T1(~;dIXv|eDlrFRQ_@ou zVqNFjuP+%U;-jf_3(`@H?~!5d4+e~tjWH{+xjneSpAOU^hZGLX!Zj&P%aQ@gMp~O~ z_*%5^phuENP1L35#*SCGl=!{Md`UkKKnOoft`<pFIBM~{As~(?^0_z9nW!({=~V)E z49G$gt!6j6WU##>!*^S`X~KIEt?Yf7Ajjaf2C<4pP?4Nf^LM3e60%}Bk@2ffwkc$6 z+TAZthdzEna71UzIp5p|_pqFi$mbRvMzKB}c40mL5}f~D_Amd1w=t=90V5yAa)jTW zi63;r7We2j<F9UZ+|NmrI@^&XXj3~CevoQE&)c@A_gW+PAzM*wamOZZD^L9Dc@XB1 zKl4Y34iVIiw21w*3EH>{Y<}FYSL$G;$wzguFi(wIKg=wtUp`%P6=(5y2*A?B53+7M z{`KREG{jP8YkmDe`Rn=Y(6SFCde>7(on&0ULdDmxyhJ7UeLs}cp!U(Gb{eZpbGgRB zQk6643QHR^0tU0Vs4iK`8TCd&R$QqGTSxUz&E4^VUzbLBY&`q7Hl1Fv{ew?~sC%xP z-O8)PY|C}kf}HRWfJz>VU+<K}Sl2(eo0h|6#_fA%;IVAn_KW1O_lLiPX?G2=yErb> z!5T}$6+dor2hrN2G=ysREIGbiE|JAQrX7}QouDh|i{n)M%bGLK&e!B;wcEhr=WYFJ z1@-H}pju1vZY8SkizHZcAJ}Q`|NU}RrBdvjxIT8eq3Lwqecy>hv<+S9DP;TYXD<p> zZtX`NV|U#LkT##mZ^?NtKAA;PKrrq_@rtg+wWYyua%mlr<nj1+$!wguplCVDy>dkG zu`KF711pqs#>33TPO|77-iUQxDQq;QC$QCAx@GH!niOBfkKu=Z=zp5VwEV#{MNq@) z#q*@7`pvxpxzen$)_%;nBjN0}=NH6ENP_yGPQGC?Zz?!=s;@fIPw)h;djZ&Y{+=!? zg*lXo*zejfJ=!uwS6|8><=4)2axeEKI{L(-Efei#r=Zl`rXi8qeskX|zp$$-V3Jr$ z_)6s;F+!ngyfA&~^FsL-b`Q5L3H^wR#&7O$L?yi_!W(E$lQ`}2^b;4m4Z~y5B)huV zJT$*3QnrSrPa=xZ->}4Kv1h@;h;<UPJAoD){L9=>wwo`{a?HEQ%g5F|Zhv#0)aK{2 zbc^GpJ&biB6}cuj_9rfBp<Cl{?aS<6hSI<N-%I9C227wyf#bhOIdEiouD#2lU;>K1 z6o5(BbW-E+==lJ9AN>A&jzi#;Rab$Sj_IA)8k%R_M1W+@{&$y7ZcAG;C&_?EbwaGJ z`i}Hc@uloLQxQk0J1va>c{|yZ$Jdhb-1t#m0|c#|if~O$zG)NOOB1z^OI5vE=(jY} z@Qs&hZ@8Pj9rN#KJEdbNQYNCbGv?ElszrMjFI^NU5Kz4%K~%tx7OS9Ka$_~yT4~$Z zG@tOzj9Hs03WBPx>pD_Nw-DP7vp#*L0#rz9VB5ijvGxvte>hmBjbMwloX#{m4mln^ z{Y)%%>WDhETH3YDE$fc{d|d2RY3*oH*l$AziOsogvj1atS05OwYf**$V*4=;&)+jx z(1;rCJ-*rf5Urga|CG*uxCu&avVPDR1se0Ew%yP+OB2=ER~voTIJQUiKeo4DD9=5v z-f*<q@lKew7DL`S*{!knGuoN5^?Nm4D_*=~*wlS@A`p95t`9$HR}p(OkVEsIxUR^a z=gqr(*g^*dK5aV2Et7G0aU$H(0fQF&5Le2JlDPa?qBa2O)3V(Oz`>4WS5t}qqH}8C z!+cht{aN(@&oMooK1Gle;yaQ2st@n&w=-+?Z8_yc(DomK_d6txk1a`8i#Nlj-;Uq5 zNp$jHdWkHViY);E)a(DpEx;<wE6!`~gi-z$)3)l}_Lu|xy)+NOX|BH7?5BC;bFf?| zyk*0$AR?(h&+k!bly@amVEky2Uh{OQ1%A+R2{RPOQj{)oPAe=(#=+`{>jgk#mlUTY z)qL;k?ySsESQl=UWW-&2kqoFvs<z8aqVft}a`6a-EjiA0aWHFYhO9hnuoBs`zrw6` z#siCzd}6FL@*XSmp|^Q&Iv%}FImV%JYc(<<G7QucX_jW^TQ|E-5O#n-LCs<TDd=hn zV-1Qyz84C_3HtY4!C=G%<Jh#E9$zY}s9PD2Z)t{#UM_TJiDF&R?{2h@-*Q>HFD#JM z!Qx<`wf)gF<*fYuS7dD4WY&|ud_Xe#y$>Amv4%^biub>#gM_w5pcsC?@hB5lo(ysd z2FbLz!{K|<)Tm1^Z0!^Jp7=HRlJ@3z`L0*u<`9Kl<l&Ybssp@|*xy`l{%~>d<F?Uf zpRgGL=M1mfV1ggSQ)dUwO{L^rdf>epn?@~H94}Lk<kM-=eKrg{Yf7>q+*kT@0<4q8 z8|8ac@<6-LR16XcLlx|SHeNCg)%;z|QiUSu!E*i!eL^k75tkghUbBQ31$)-GO+7fi z&|=1<6ZG!71YzygGSdUvZrjwa^((T8d^XCN0i$l)sz%&bLphP{W4O`c-L@mD^VUK? zh}#f#cgmq)1~n+5UxE^d4Z<m%s<<ejUm3n0@9+wXS@v+I9qvQ)Nbz&3zR_<zTm1eb zPF>kI+)>qk-*Fq43jXzkmzWpbx`&rZ{q|BUa4(Gc+yfm<PliwH2o2eHA3R-ZI^|iR z%2wYs@+C8e_+@s~`$A633LXjl=xIy^M%SrYf_M+JUF=ZmkuTDSdJ!CmKl3*uukEb} zLD3*tWB!3hS<8;Xd58+4#0tO0Qu&w8oWpN9%`;A@qRZ2l+1rvX`CI-`%`vsyZiCvA zAfCYoM^Qhu9d@-1Htj*pia%Uditp2D`uciKQT<ndR;LtXhZK45H2~}!s<E2z1ub+? z(LB*93>9*jn2T2A=W!_B+mtM;f4Aa4)vw?f_8pKfJMD`ioUR-&)<S;P{baSp!p0l- z9WvAdz4w1{L?EBC2_Pbb&7;8Uwi1+Dy#Cmv<VzzEVx15|ZOqC<G}vGR0T*hi@x#Q{ zb?awN_c|@g5Ti7yTLXe+_!9=_e0A+IeSF}q!mR^Q5&>REdD@h`je-bD0rZZxeh-ji z?>G&L<quCA;gG^ZulZ`?O1Y-LX4i+xu%~<Ld45_WI~-92*SWA$DS(03CKWwV5h<u@ zk0ZyKeJU<%?6iiva)HIKpUy-0T8{saKGn;UceUcFo39}){6?bsNhf23(QXYtvR8B0 z*6w`U-jwDFUo(Jp_aLtdJda@bWDUvQ1}okgo~%W2-T%p~J^b5ascE%!)<BzLCV0VP zXP1siD~fTDaZ<L0Cva|?nG?>TeYiHpGiq>%L+zIF#1nD|vA2!Hw18qlOCcmt43a|e zF{aJ>@XF-nKTwuC+a!l0uN=RXhIwL3IjS20k4+{m-3;?O`pH4dg@9E`Fq7@1CyaH} z7B^IAme*N95E>(;ZKSHayAKqL4{LV4)8*+u^VxSn`LJut@cd<PNiQA$rZ77$h_c@s zVLv0!-aHvF=0#o@2EFPQDWtUe$4zu8LQ=q|gV2%nv?3<8{m~~=$1AK%WRsOdJyHc} zVAKOUK}y?9jcu*3?b~ZqzB*S@)l)<+LCF+74T>1|Rq-0FRvS7idNZ-ctTgs{TyK22 z&BHha8eB;s5mU=gI`xZJcxn&R>^0jFIlS`+&oV(UF8}!52VBU$e36qVo2L+im-b#Y z1%L9bTgkaQ{q53|sfw<as?{3yZd!IX0@45^YH5<KUOjFeUBefCgVS?8c7DZGY_C4G zV;kPUeXUtW%LR}+ABtMVu;x`IV(4)=-#7zL^~dx_@x}@V1A~s&5}5FBI}IoCys}&` zxXsWb&S^si$S_@ToLXtm$^!ZNV=J7g5p%$YJWSbi&9t?;4NF@+3n5Wyw9rI;CnnK0 zYEra3mkoah32&qw&TCJ}^nQ(Zj6>h`<#jMH_mM3f8DX&)|G*nTytxLKCZh2Tk0x5W zWc29+K|@l55sfr_7!aQBCr)~U*Jp&Y81LTUI9lVNhPbRlOxq|+t>%kcLm6%&jMGvU zGc4#!LurIl26Bke*)~>wym^+Ke$2vQ54x~iHU>C;xFZxlefywaPZ|Y6;KP%S(QFjT z!^SfPy|_z=an)g!)_iVX-e16I7%J^OF6+!oSi{+cSLn3n)ga^J>EgSsk~KEILiDWq zP))E@>KK!76r<O9eQOaW)E!p<cFr%2m41^A-6d9P)d7L(`dE-Xx^W3%M1nkmRh8m$ z3)x2y7*iDENMz5fJGQ-_pRke#f8G$w8Z0H9vV@fDN!0omjarRZvzMk}(_D%|Oh3$| zn1zBI8>l;DT|<@*c0^mhZfQ};e5RRIfk3_5N}(e8b@Yjf2G@i={B@)g`DqZ1Zz2vf zfF-kwM(KUa*n%eJx0)<)zQ?FU({VT6yQlIHgmZpI`!m|Knby`4?|A%D&cXQnqL~t> zb;YFHH@k6xG2_Q=)Uh^WRYO@3k1nY?xOu*jI4BU)#KDejTyQM2p#LpR{}8toh6Io0 zWMv+@2B;gR|M=Z&uI}sQyK7UT9amRzU0ol^uJSXIQd^bh%=8HK`vRkEjfOIT_%DAs zxl6+?=s%iX<!?*UEY#Y3-TO+`spEZ%x6u(^G->?VCW~l-(qzy~W29ETOd8_csfpoY zk6iw*B=)Y(cB&=sXy3GYC*hKXQ9Pbf#CPLaVH}>AXOJu{OzDg1MA&!@5iB#r^vh6& z&yvHp@@9dK!}fFea)+YujUQQxCmTiOi2iudYln3Z7`Lh35?IiLvA%KDHJ<4g7*J1~ zw+pL=!$gEQZztBtp5~V2P97eY3tuC=vKaT`1($)d%_(Zx__UxgC+}3`OHMyHpL_{c zx^BmAjI++Kch=SyY<x57#&A2~658d&g=}S^MERBJ7@tEe{d*`0iOCMwDoYXQD}#ca zPDK*of&(tms)bA$F+w4QLNA>dSedkeD9H?`{N66Bj(r`QQ#LJ5TLKgt%gkLT_k&y1 z+?Ur{1NB&9WhZ{-&NTA_qX@lWyp8sA<`}?G1{3X>e`IC0|KLRS=`P{_E|ZbNajJ55 z(IOz2qK6-=a_KFLxk0#e;qu;bc%<`Bz{4e3dEkYCp|I$jcG!Zm?=B?9-emi*oD_nw z=BDAzw5#rS7sZb;f4P_y{cDx3#n_R4>s`Ia1Hf6(t8(#UZ!s+JNc%JMXFC=we3lhB zwgA)0P5YjyT4fuyj&~liuv{h^(x=KsG4`>dszyLN9a3lZf}dD602g|+*`tmf4?kG0 zb&gcJP)_%k9q{00fkmaP$l?VozCS6DXVarHlMuoZIIikycnl(P=fAb=PTH7g?f<<2 zG(D+b(wA}B5PUh-kBI=pc6RXG>&j90;*|ebq8~{t2Cl$)-0DkIo<wRLjP#~LQVwYQ z<EM1MVH`vqdVu)d=n(LUmHY`zFGq3Q9mgd<G+2C!1;Xls7LL2`d^sH`<qU5L$gkQT z!iHNYb0*3&;knCIz@xp35e~11QXEL$_+c-R6aGN(D98q`j6d9;O-t*NZYt3Lts6Zk zvC{xsNC2V6WvcphrdZlr2`6jQg6v#sI`}=dww>vZMYh9`Mn+Wp)3*cp#*!q52u$$e z$AZpIN$erfKeq<a%G7rvim|$d<>^S3OWN;&f;1cNh7U}{c$wC{+H%+eJNWR!@cmzq zeHl0z?1BL@G!K$*Wu>PPI;O|rj(zch#QEMF2ch7<Up$<`?50>%-5)Y2sR&uFAuSSc zlp<s^`|~S~^wB>ct|#5N@NNTi$f5qC`h(REY4%0xWrSBhZ%UTlLD>4@<?elb-k8j- zb1{nX<V{|OFyH;1x;DF2N_=dbfv$xH19u;=Brh*$><l~2ifQlPI4g_NWs{6_26+_S z<5f3-5cMdnAwEoC>l1^%x70A7?R>bm?%erGe7mQ82w~G*eZJfXTD27<aGr@}Bef2H zageUP2LBQva@$Bd;b;ZyfZQ730u!ICm=~BxLCPn1XT*h!IH_M1((y`CL99ITiWE<S zFnDHXl3kz_mzW70N|1hdE(s_csf2T?m9`H)G0rwkQOo}8pck&=o$MRMkgbJ>bFW>9 z{UsKbc0&ku9W@Z*EXa4X1s!F3J<%sDZ)Hs=kRNsr*qt_U{UuJxnzc*S114w%^1Sv@ zaAFBJ0{Ipz!^X$Jz|%*ZJfiKU8A><24}(Z-pg=2)LWW%F6>=Ah31m}s3vx;8?&rsq z{|JPV;LW+AU3$1w6ysV11gdiGgM}M_pR_`SqgZKl7G`)26!%4*b_Y;#vyu+`Hyak- z#V=Zyrpr|~%pGmkM9wkrw4W9!M4j;{F0C!fcqwgLUk=&jSQ%D69R?m9F?Q9zpI72} zY+jk0sD6Mf^pc7WehlVDJKY~3?@zH#$pC%yaMZ0JMfhls@Q+(<6}~@vK&gxj2eqY8 z@rg;`)j!Ic)nV_drn^``L~@N4UDmn`gAOag$~mP`$b-5~k^v&zI~Y(8a#TN0*fBv) zB;CXVNP0saJ|twCDT~D`ml@RlgsN>u_$a8Qcx`LIR0e46n}QRkt=gx-liXGT_KU~8 zL;>Y8{nQzBBpzVdhiXXQ|D!*ahAYsGmx=dkqLC3y{t#ZZgT`*LDt%5nJS-S!%W*rF zJG2XQ3vaJ+XjXsE(QeBG4GPW5d~lB*vO=b)D}mcyx;QWeAQ3DFA`Z75j?nwt*a*9_ z`sujFv*LY|;4OYg-)RKs)nykrVX*>uZKZ4fJATBqrzge1$ii0>3#noms85WUCgb;? zKtisKGK5`(1qJe4J#b%*V2d*8el1^cxL}}Nlnls9IV5Eji}(i|I63OZ9~x58nf<&j zJIes;Ab(Xn!@JSV!9FC%%CB3I{6Z~<GFY&9J?G<9R|g<%Gt%e4yrZ}iq6tC~hwEw* z+<^o=4gZV!4K(0NR6&Yx_A{#t9IP}{6=EoW*VdiHHb)GD8tep#WLXA6Z2qLLgMsH3 zWV&tNnn7OM`Yzu)h{>{MdkiJ8^a{J|4@LCi;Ku3^Z56V&W()I@B>rPUtp=h*f9xF) zE+N9aB6k4!>xQ(-toqcx$v!E9O4@)tLA!5Gojz`O1ymT#1KWb&&~IJu5a_xaBZw&I zhNKrxa<vU;&w`EY-R6REpiZ~R$EzW#<^Jgr<LtrIQMjO2oZBassE$~Rj_D=7hG%_o zoTU+mgou*2=pQ%4hRjMoNqfVF!MtNJkv`ftCNO^YttvQw4$R2PJW3!eYYb``p%i8F z1G^Wa0YoNRGCG<=tNtkwFoh`(?1*ql?WlWzMvT(M@?2wGq#X!1I%_E5to-8icD4~? zfMrR4oZ<~xFTOFYuob@?$<U<=f?O!oS!%jwqOLSDV6I7+sbT7HP8p4pAX+JYme9AP zpkDTMRR79L*0N4gol9?|qdn#_Ss3E1Zaw9J1(TJeE2^3-)%uQ~&Tm8G84#M<u+`8h z@@Bd9Z6^hfjlaLmLY9j;P#i?ZQ{<Qb_*`lBAs<UxDT^44s*W%x^72>Qqix7m+U9Ia zYNAjKky2#<yF7>`56688Dd7FrCEfP|V+;(&P4nTm3u&(eyzAeFcSr49D0e&+yKMmt zJjk&_5G2oaXIS!L2`o1wSc@;<T@i4mqfZ>+x4he^I}f+|4M-oqbhKI@`vzP`OURMr z-QL~Bs`oVk3VTbIk=x~%Nsd;FNfmxSu#LLx<B<;U!jsQVUw>Ucr!xNlkmc>5?0*2V z?T7{zBNZ<t1L*3lBLQ40Z>?P9&c$-a$XK(Y2ETb?VVtPj^!nNt4pLuSe^C(b>kYm_ z?eQ6k(@lAHBO%~yO&luZa|8l)qSciDgq4?w-JHwtp(Q;?6ktJJIRI|UVzr}DXvgQB zPpz6?bf`zHsTZOcsn;`q^L{#$;n%@V22LIFwPt9*#9hsB!N4he4ng{NVlKaHo`s#; z;ZJWPfsVQNzRHsZS{pAmzL|zsf;RE+wSzfs2(m0Ie?1i-ibg!;5VoHZK1xLSU;$sx zh2~Sv!{v9;f0~5RU2*&*w+77;fL&LkH67z?^h6Wb@Ux)J70=V~qAQg6DdkCCVcr~G zS#EML>Ymsm3H|G%zxGmMQ--ay-pTVM5h(d859hgZ_H;q-#K|=!#g4^(WGNjUlUND& zv~@V#buB?3LuR%=x;V`oc6clC#k2JM_&QEaPD4%|PW|-&;KyuJ*OjI(O$z(W#Q14I zGKiuyEukfyEuY=Aez<;2JwF|#{v=4C%_l8=@ut(Y!HyT|70-`A++||UJ-luONLeU# zdljs?E}ypK!B~A0j9wrMf~_z%7n#guZdtK&G5jat>uu3io(KWqf!KU~6)75duUX%S zF)&k+r1B6Fsk2aTXjrQ3TCBcnB)mgpxvlG8g02!(@3W%~MP5W5M6=|b@)3Q?A9d!+ z&|Vcjf`v7Iasb(Pv^SHS)*HT4g^r={^)Dv&#ff52i5AU5I)N;3R}mgto96K&oWI>; zQ%_Ub@WZ`E6LOv~)iq1a)+Gyl+g`NC*mL|AU7sL~m9HH2zPw`o&XV=f2N}#qNJgFu z`WdBIt2A=&<%jSUU_v!a;`suZVg70DFs5dGSNzO3u^jk(rk_cc8U&)`!C$~Vwq5<~ zX)!Llw;OS^i<Yu;I>84GOD-2G09u}L3Z+0UDlU@%PBjLQawE2~Zl$r3uHNM63PPfQ zC172g^T%O^(D+K0Iv8~M0nV7YA{miz6-ZyZSs=}{JA>!5ECYt`#>fHc(WoA_RKU&2 z9mv`ty$?}BFzpYXK#ArvQI%KIv8?}LHu-z}<U&+vBIpty5BCV#WvnC;=st}EM6)(b zaz{13U&fbl>lGNO>nFJ55$uVa-ymLrsS){%N<=tiF#p%5CQdR{9lwU@M*c4o`eD~I zlRdjIaO3~C%|f}y1rk4xLF3i`^F{yXod61V^UQ+Or&ys89keMax8W_&qP7kW$F^9H zc3Uo2W3k65>QRi{-JyU?ILJ%Ed>Dz3T3gu{R)HLq1wQTz42F&FB>cbc){TF6SN*%s j?BDHm|NHHAM{FXyrrc*jx*vnxl5{upOmxexIzIXzn?Nwp literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Square44x44Logo.altform-lightunplated_targetsize-16.png b/WapForStore/Images/Square44x44Logo.altform-lightunplated_targetsize-16.png new file mode 100644 index 0000000000000000000000000000000000000000..da9524a62960f01fd05729817dc8b73270e55001 GIT binary patch literal 617 zcmV-v0+#)WP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00009a7bBm000id z000id0mpBsWB>pH8%ab#RCt_)Q#)%iK@>geM#V?85D`h?Kd=yd6m}A^5K9Ze-atSb zu@%JD#!~DowDQphu?d2ehFGOYC5pnQ;)C^(Z}0uG%SHm<g<*E*&N=tYxidm26#CF; zH1@BrFQ`NQmvXpVE<9_sS|v~a(w;xU^?G&cbUKR~Ov&T%sDPwA?(XiGNF5SZFGwt+ z^Z~Vk&1QpmJdR*6h*GJ9dcBTrw~I!jf&2S=wE~d{pe8t-PH?$g$Ye4&91bX#%P<%W z5Cnl$S*=#y`%M5r2Fmk#y~fki6JB3mSwS=!#eTm>AP`^$q9`(%j3EycHmc}wIFLvr zV6j-RTCFf1kMZ#Ez$%`fpHZn)*cU~?cDq&Bj7B5!`8=FXC$IJUeZ0K9Fp#R}ayc}c zP0Z(W==J)41hra?KgeZ|#{;+9t(f`v_z1t>&#J1`Dn36yu~;mW>P!$0hk4<*ptBN~ zVm6zhP$=**&1SP=yznbh6}#OI#bObiP6y}nnZ1#HqxruCCX)%tWD?Wqlns@oD_yt+ zki@}Y0I%1}_kk+;d_MGgJ*3lV&e0JR1=I!V^K!Ywa5!YQCzA=cE}P9Fl}fP}WFE<< z>-<AOBog7vK}2+3Y9$#*7m8ZiYPArH#n5iI@&5h}o6Yvq1F5o}9t#b--L5cGpJ}|k zy<s#Ov1|h0yjr~=0T&XRNQv9m#yh@=D5wi^$j|vNISoEYczAi800000NkvXXu0mjf D11TDq literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Square44x44Logo.altform-lightunplated_targetsize-24.png b/WapForStore/Images/Square44x44Logo.altform-lightunplated_targetsize-24.png new file mode 100644 index 0000000000000000000000000000000000000000..b3ff52ef4fbd97b182886e44561b8374132dd27d GIT binary patch literal 888 zcmV-;1Bd*HP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00009a7bBm000id z000id0mpBsWB>pIDoI2^RCt`VR!t~$VHAFFjo-nbK4qblzr{@0*<oQVQdn40lgLWS zLP=4wK*@+GY%C}X<tLJ?B+F?=QkpdWCjT10_c?v{_PKM%$Mk)tZu8#vzVCU?dCqg* zca*ZSGH-NrwC(-<9skmzqN4Ej_7+f7$G_AU>rVi<`Q_zBeq&-{V78av)Oia5g0HWy zri(OFBf;I>9b#i+k(ii>`}=z&BqTu1Tn925{n5Abdk_|Y&Yzy1(An9E^Ye3zj*h}^ zw_|vC7;9^57#bQvYHF(KUi$nJfRP0P0kpQZqN%9~2L}h3nVAugjEoHA=jZE=A_91L zctBxcA==y9vA({J?CflejEo3HtE;O5@cjH77UWw1ZEbB>Sy{o{+#F_SXHisCgxlL& zG&VNE?RHB|9v>eOA0Hp$<4XYYo|l)0^73*lFE697uTSQK!62+wtBeZ@3M8YBjt<F$ ziux7+xxc=?MpsvtD5s{TM&`G+ws3WIg{rD5TwGj8W_5LSa5|mn@9z&Owg50v%1xV~ z>~3yuP+3_ioBuQd?C<X*D=SMLm&+x9q;Ya`QYbZMq2%P`$bh||C<;<iQczl2ik6lZ zSS*%LiyImmgl`r;Jv|-W-Q7|X^3T1Lv=*!mu(Y(KM^AK863)o^z`%h1URzr$zwC$8 z(^DiTCx4<^C}Namo%mflK0X!!Fat9)pZ$xG>$9^nY;0^`Vq!uHZj7EL8AJlGxVR_^ zqd?fvNl8h<ztJKFsIRXVr@g(sxV*fSx`plJNB}5?>gsAZ91c;N*Xxz$`!Pk^+uPXN z+e1Y~1xiXvLcZtb=3;(+UcgurqpV3=2mp_Q-Q8VGO-*5Qb5nHBqnW2Ej|7{|_Gvw9 zkeQhYpU)Q}amiq8Y)qVxOGa^YbcDmhLuovw&4=Uh@o_mpo12@Z!#TgOuz<nALD|bg z&y=E`o*upX$Su><ZYwTen(PyHuHWw$^-NDsqqw*jJ3Biv$L<fSqO`O$-I<X;<6?rx z#l_*|<OCj%N0h`&%$(~0yqHbDhA|CDE9h5uxpwLM)d+(B<8O=VGw=aTI{-rhaG?eO O0000<MNUMnLSTZ-0H_K8 literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Square44x44Logo.altform-lightunplated_targetsize-256.png b/WapForStore/Images/Square44x44Logo.altform-lightunplated_targetsize-256.png new file mode 100644 index 0000000000000000000000000000000000000000..3a98996568c21313c2a0d97783c69464ab8157a2 GIT binary patch literal 9152 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 ZRJG*KKZMkT14nW|&y~~_%jC_&{sZ3YCMW;^ literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Square44x44Logo.altform-lightunplated_targetsize-32.png b/WapForStore/Images/Square44x44Logo.altform-lightunplated_targetsize-32.png new file mode 100644 index 0000000000000000000000000000000000000000..88b195576f941b5abac1a865e25554e17c1e3557 GIT binary patch literal 1148 zcmV-?1cUpDP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F800009a7bBm000id z000id0mpBsWB>pJE=fc|RCt`dS4k*#Z5Y1rCiBc^F0o*N%xr87$wC%ZY?O#(L6Io3 zq7<db6c(}}7BWRC3JWBq=nG{izac}&?0>Jj@4Wf@yyrcBZ|*vs={fgxKi54TT~bog zZ!0S+*SEJf{G?b~TH^Kf^-}l#{{G9t!opF1{HOuM(_>rHfG52r_$~uf`10~1XFa1- zuDYJ@iLK+!SHKDI`1pwX`+L~h+QP=hMwH#&-onw*QLecmQmiHlCK*uZ&;(8(Z*Ol@ zS65?tdKznMYhsW-mQY_`kJZ&xIXgHwnAAl~-5)A689*Q^?&#=1NJxk<Ff}!W<m6=Z z_VyZf&F5NJ5Ccr2evrGnJ2W&j2sp*v-5qXjZfI#~!QtT{wzsztA0H2$PKT$bCzA$H zG&4ZzNpn_K78Vv3aC&-*#Kc6jwzk68*B7OwrASCfkhNrr;93GvvjL>EtgK9euei7v zb#-;{_xG2BLS~$uopE$@B)T3R9$;r@r>a-83%L8Js3^q7#>$T4;^L5#lk=Z79v&WY z4hjmw;NT#Nii&W3eJ$~zCYl&{ett$lL4jNoxV*gF@NRQ+6QQA@u(r0A`}Os83DmBx zF68CqNo`<V_)JW?fT?nGbA!mpNTj5s$g_Ze0K@zC_I9C}Akop$*x1;>(9n?Vo&j1? zQiA5@X1KVx7&kz<_-KGqmg#RkudJ;6G@@r_W{{SahRMlEF@TiM&(BL7kg?p{Ty%GL ztEQyx>gwt*t9bAOFE1}CIE?nsBr`J;6%`ezsi~2BreH)w1kTUTB_rs62Ikq>nZZSW z8BkbQC}5<Kz+A|W7)%U0=D9IpHl(JeA~-l$?g`l6-*0$-aBu)_&{#@}3%JAYbV8*l zeJ11M<G8%Mlo&8-!2d=zA?yjAot-9og4qpVmm3})Mq^{6lw-QZSc;pC0T!yIr6ug_ z>|kzgPSTO-$yTk_>dj^V1Ffm43CqjN@bU4HAXWfOiCGL_KbV-9kgnL%(<6OA8C2B7 ztU*X$*Vfh|CME_|RaN2^dwYBHG^4LbMn(qw{QQugpD&e>OsI(_1NQdzq{g3|oFF|t zU1kC`2@elPTU(nLp;m?&psEJ!@9$$^U_jF9;^IOSjf{+lF`WCt!orMx%aTkNu%8$! zbm9VzS<F|S+4)$<3B0nhg2lx}0d{h7lJ2H_#OK-B*|I~Ha%C2vFeAps#xOfOYnTUA z>i~U5186Cum*W)sKYKWH+11t6uvihM8P{+)866#!uE#ln+0fV5C&B3H=_ysvR3_+- zkB<e6G?8M0ex%G;4d*vxg$%Lku?aEwc6WCX7#JuzO#N>N1MGfU21sKH_&qx&UAVQi zB~kyC=Juuk0#!x&QJjZjm=;k+vd<@l9}wl|^dG&ip1#Y#SLM&I+2y}W2!mvNbPE*# O0000<MNUMnLSTZ)J1(OD literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Square44x44Logo.altform-lightunplated_targetsize-48.png b/WapForStore/Images/Square44x44Logo.altform-lightunplated_targetsize-48.png new file mode 100644 index 0000000000000000000000000000000000000000..3e19564ed6035b95354344516249b26a39ae5e0c GIT binary patch literal 1692 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 literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Square44x44Logo.altform-unplated_targetsize-16.png b/WapForStore/Images/Square44x44Logo.altform-unplated_targetsize-16.png new file mode 100644 index 0000000000000000000000000000000000000000..da9524a62960f01fd05729817dc8b73270e55001 GIT binary patch literal 617 zcmV-v0+#)WP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00009a7bBm000id z000id0mpBsWB>pH8%ab#RCt_)Q#)%iK@>geM#V?85D`h?Kd=yd6m}A^5K9Ze-atSb zu@%JD#!~DowDQphu?d2ehFGOYC5pnQ;)C^(Z}0uG%SHm<g<*E*&N=tYxidm26#CF; zH1@BrFQ`NQmvXpVE<9_sS|v~a(w;xU^?G&cbUKR~Ov&T%sDPwA?(XiGNF5SZFGwt+ z^Z~Vk&1QpmJdR*6h*GJ9dcBTrw~I!jf&2S=wE~d{pe8t-PH?$g$Ye4&91bX#%P<%W z5Cnl$S*=#y`%M5r2Fmk#y~fki6JB3mSwS=!#eTm>AP`^$q9`(%j3EycHmc}wIFLvr zV6j-RTCFf1kMZ#Ez$%`fpHZn)*cU~?cDq&Bj7B5!`8=FXC$IJUeZ0K9Fp#R}ayc}c zP0Z(W==J)41hra?KgeZ|#{;+9t(f`v_z1t>&#J1`Dn36yu~;mW>P!$0hk4<*ptBN~ zVm6zhP$=**&1SP=yznbh6}#OI#bObiP6y}nnZ1#HqxruCCX)%tWD?Wqlns@oD_yt+ zki@}Y0I%1}_kk+;d_MGgJ*3lV&e0JR1=I!V^K!Ywa5!YQCzA=cE}P9Fl}fP}WFE<< z>-<AOBog7vK}2+3Y9$#*7m8ZiYPArH#n5iI@&5h}o6Yvq1F5o}9t#b--L5cGpJ}|k zy<s#Ov1|h0yjr~=0T&XRNQv9m#yh@=D5wi^$j|vNISoEYczAi800000NkvXXu0mjf D11TDq literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Square44x44Logo.altform-unplated_targetsize-256.png b/WapForStore/Images/Square44x44Logo.altform-unplated_targetsize-256.png new file mode 100644 index 0000000000000000000000000000000000000000..3a98996568c21313c2a0d97783c69464ab8157a2 GIT binary patch literal 9152 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 ZRJG*KKZMkT14nW|&y~~_%jC_&{sZ3YCMW;^ literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Square44x44Logo.altform-unplated_targetsize-32.png b/WapForStore/Images/Square44x44Logo.altform-unplated_targetsize-32.png new file mode 100644 index 0000000000000000000000000000000000000000..88b195576f941b5abac1a865e25554e17c1e3557 GIT binary patch literal 1148 zcmV-?1cUpDP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F800009a7bBm000id z000id0mpBsWB>pJE=fc|RCt`dS4k*#Z5Y1rCiBc^F0o*N%xr87$wC%ZY?O#(L6Io3 zq7<db6c(}}7BWRC3JWBq=nG{izac}&?0>Jj@4Wf@yyrcBZ|*vs={fgxKi54TT~bog zZ!0S+*SEJf{G?b~TH^Kf^-}l#{{G9t!opF1{HOuM(_>rHfG52r_$~uf`10~1XFa1- zuDYJ@iLK+!SHKDI`1pwX`+L~h+QP=hMwH#&-onw*QLecmQmiHlCK*uZ&;(8(Z*Ol@ zS65?tdKznMYhsW-mQY_`kJZ&xIXgHwnAAl~-5)A689*Q^?&#=1NJxk<Ff}!W<m6=Z z_VyZf&F5NJ5Ccr2evrGnJ2W&j2sp*v-5qXjZfI#~!QtT{wzsztA0H2$PKT$bCzA$H zG&4ZzNpn_K78Vv3aC&-*#Kc6jwzk68*B7OwrASCfkhNrr;93GvvjL>EtgK9euei7v zb#-;{_xG2BLS~$uopE$@B)T3R9$;r@r>a-83%L8Js3^q7#>$T4;^L5#lk=Z79v&WY z4hjmw;NT#Nii&W3eJ$~zCYl&{ett$lL4jNoxV*gF@NRQ+6QQA@u(r0A`}Os83DmBx zF68CqNo`<V_)JW?fT?nGbA!mpNTj5s$g_Ze0K@zC_I9C}Akop$*x1;>(9n?Vo&j1? zQiA5@X1KVx7&kz<_-KGqmg#RkudJ;6G@@r_W{{SahRMlEF@TiM&(BL7kg?p{Ty%GL ztEQyx>gwt*t9bAOFE1}CIE?nsBr`J;6%`ezsi~2BreH)w1kTUTB_rs62Ikq>nZZSW z8BkbQC}5<Kz+A|W7)%U0=D9IpHl(JeA~-l$?g`l6-*0$-aBu)_&{#@}3%JAYbV8*l zeJ11M<G8%Mlo&8-!2d=zA?yjAot-9og4qpVmm3})Mq^{6lw-QZSc;pC0T!yIr6ug_ z>|kzgPSTO-$yTk_>dj^V1Ffm43CqjN@bU4HAXWfOiCGL_KbV-9kgnL%(<6OA8C2B7 ztU*X$*Vfh|CME_|RaN2^dwYBHG^4LbMn(qw{QQugpD&e>OsI(_1NQdzq{g3|oFF|t zU1kC`2@elPTU(nLp;m?&psEJ!@9$$^U_jF9;^IOSjf{+lF`WCt!orMx%aTkNu%8$! zbm9VzS<F|S+4)$<3B0nhg2lx}0d{h7lJ2H_#OK-B*|I~Ha%C2vFeAps#xOfOYnTUA z>i~U5186Cum*W)sKYKWH+11t6uvihM8P{+)866#!uE#ln+0fV5C&B3H=_ysvR3_+- zkB<e6G?8M0ex%G;4d*vxg$%Lku?aEwc6WCX7#JuzO#N>N1MGfU21sKH_&qx&UAVQi zB~kyC=Juuk0#!x&QJjZjm=;k+vd<@l9}wl|^dG&ip1#Y#SLM&I+2y}W2!mvNbPE*# O0000<MNUMnLSTZ)J1(OD literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Square44x44Logo.altform-unplated_targetsize-48.png b/WapForStore/Images/Square44x44Logo.altform-unplated_targetsize-48.png new file mode 100644 index 0000000000000000000000000000000000000000..3e19564ed6035b95354344516249b26a39ae5e0c GIT binary patch literal 1692 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 literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Square44x44Logo.scale-100.png b/WapForStore/Images/Square44x44Logo.scale-100.png new file mode 100644 index 0000000000000000000000000000000000000000..4fce1528977b0d1f8e9ef21d5e0105b9a4cf4df9 GIT binary patch literal 1234 zcmV;@1TFiCP)<h;3K|Lk000e1NJLTq001li001lq1^@s69)wx}00009a7bBm000id z000id0mpBsWB>pJgh@m}RCt{2SX(G;Z5Vzr$!VPVolE@11#;%bjYD!F7p}NbB9aS= zM3E~>QHq?xh1?Jqa*9$EE|8R>Ka@k+4h=$#)4!f~@0slOtTi)hX7>F1&r_>4v%WRo z`^<a#p6^r89|ncB2^fnn!j{GtVM{}laB6DmKX!I@9`En(zmpHy+S=0F+nZ`_ZS8Me z<D!H=K0f}kv9VDKm*v>$0PG32?Zw8W2&;vEN~U@k1YTcX`7T5Z^Gd#tao83cm&{>f z$b!)G^D{j@K9ZxOBRM!Yu<`r*dr~Tu{22~F$W5^+<zY>D3?d6+etv#bS64@Kb91!0 zxygS(s0C_jYNCye4Zgd$xagfr%BCb?&7}_@1|r?v-4q@k&K{nfou#z2G#VHf(0Ucm z4e_!p!p7j?;enc)o0%-&<>f`5o}Sd+-cBbcC$zV>M@dOZq);eGtyb$LECrK2j8s6_ zb8~ZPd3l*GE-ok~C51XVIw&9@fGR2~C^<Qq-$f)q){w%p7-59Cva*tkt*oq!8XFra zC@6?80G@YqbEDJKQ=aST>4}`2oFwP9SW3XVv9Ym~kdVM0O-xLr{QUf%-tqSK=6h&p zD2<GaP-$r?-QM1EKFfhg9)5Xwq2l6V{tTj3RaM%tot+(uh=?G2`|oSO*47pmW^ZpV z6&4n9Z$@7hvu#$wXgzm#cN7y7L+R=1{46*)SUcX;)x}{4skpc}+TPx#(a}-%E()@| zyqwzF+Q{AA-F$>Ulm1K;K)&L6O-+r?il3jKr_9Vunwgnl!bpLor6tZ|M5LggfcpCS z3~F%(6TZ2*(McW#e0_a+fj~FVg`Aums;;i4`uckQj+Pc39ZgqPSKKj>zbM4Z%S&y_ zm`u2&q=d;KtRRYsVFbm4B14}Q1G+^<Mh1n2h4FU~92y$ZjvpT%vqQvMoUD|92Tf6G znngqxrlzJyrBZPYn~kug08P=;)1y~Yh~c*ph6)=S8>5z%7G9o_CSsnnnuoEltgf!o z{{B8KE-rF=L%W0Yl#-EFBaFgoZEYoCyF>o|{#>;B2<d}G2}4gzPfxRI>+kPp9ib8S zQm|^#Ay*q38Yn(Ko@#4rIZd3MovkB&j6rsGHU$O-Qc+P6uYB;d9GFD-@bHi|!uk0* zWo2ctCYC}}R1|e~b~0(HWm&2qWf49)I-=p>VQy2`*Vk-#e0-eAW8W4T87cZ(EYU~_ z=n=7nNmfc=+k<|IJCqr80En)yuhYuP3KMm8b!GLXF@ooLd3o$XEbSUC44`97PEOLo z!h%*0o3#%k=Rg>qKy_n#1N{pPi(cyC;qlAlXj^y(Vt!&`f>jxGGP=d!;2;;DkB<+p za&lXnDB-iSGbV?yA><(WIfP;w0Kb9P5do}f5IrcigM$MK2?^mj^qoD(@-WnyAsa?9 zgZMoZ9a3s{cbB_@IgY)|axNihK-k*j(#&ZH<Zh9SQ`TmL+{3_cLawPz^{}z{aa5%e w8y6)k6p7CBS!?6}a{~Wg#TQ{q<Buc!FXy$0$_dJJV*mgE07*qoM6N<$f(8CWj{pDw literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Square44x44Logo.scale-125.png b/WapForStore/Images/Square44x44Logo.scale-125.png new file mode 100644 index 0000000000000000000000000000000000000000..660e7fe34e7203c605813b48036e4098c87d4771 GIT binary patch literal 1562 zcmV+#2IcvQP)<h;3K|Lk000e1NJLTq001`t001`#1^@s6sN2#;00009a7bBm000id z000id0mpBsWB>pK%t=H+RCt{2T3bjIZ5Vz%R;FeKX5slK14X;2gt`zEQ^7>V6BYzY znI}jhBqgNmA`HC{G)zMgF{O({6bi9WLA?<*@Jjowtkjg!G%?ph|2{9xpwiCFy0h!r z?*qf`%zm@;J>T<w?`hYX{$g0~^aPBFJ#xDhd*pU2{=ekTojdohg@uLFuV24RH6O*$ z&Wp73n(OQ9`$yLpNpjkoU97CE?9G+j>guYk)EGIl)U2<slev=9LL)UsPC4-~7O;4h zmX_PPS8iTLcPN<r!omXC*x1m)g9pV4;rim@A{{tz0Om!uwvraMEf`HXn2koG;d>Jj z5@=##g8KXWnas+{3N0@$Q+j$jMMg%_qeqYE)vH%bULWk3av%V89zJ|X7cN|&4<9~I ze0)3;URqkB`}gnjIdJjfMSA)2B~SMEUQz`{Q*M5Kp6=bd$HV}4cXx7gbEAQQ0m{$M z7l~m3jvP6{W~uLUc0@T43keCKl#~?l8k`0ubN>8!%FN7U_3qxiOLy+vVN+F8F#)pV z^i>W@K!uw(Z}NF(XD5w~jZs=!8ij_2Qba@qUoR~!rS|rADlRT&qQ(e0vSzvQRSsDF z@87>uVqzklJb99x$knS?>Dskx{P~R=H^i~g(a{th9?tKlr>ALlc9xDEJEj*wlbYq) z+8XWOzn@Z5Q~4Zb2d@aSTXE{tDe-+kKma?Hj*bpGeE6_x^HEJXsD^kJ78XV)PMn~T zkrDd%@gr4NSCfyAkL10_j~}PX%1SCMETo2p26A?GR`g7hDF@Z8t*t2|BZJQ|;kLFm z(&nb(7&w|wpFWYFpWmi?U%Yrh4h{}fR8&MWGc&B9larIddr%eSpc*C)hY=VU$k*)c z?Kh2qiZIilpdijn&YnHX*Q=_k=>7Zmyf@#xc|#8#Jm7Hg^XE@qEG6^X7CEIrz{W&! za&mNzX=-ZX317c{oyy9}$lu?e?Ck8=WBU5~(%jq}H8(eNaF30Rr6*6GuzH5TVCCR2 zFfphisP-p-NKa3X7`%mrfLBHORZ&qv1qB6s4Y9DMrbbp7gOr0?|6LS{K~{)+LN@Q} z>Pok6-4Z>dF2u#f(evleskgV6%FD~ey_lVyP2=O^>}6q^08AR68=8(ul8cFnVRJ*) z4u^pU;T#F>(W6J%E1o%XMv?o5g8@0jGcPZ%P1oz|>o<*s(}6`GbCFWVAmxxnsF@ZW zI&_E+IUtGNZjHAQX4fF<?(XJL0Mj(;o-;LuhlhFpV!x?jF=jyy`}x_kXI%UJ`0-;? z#V!T2RStpt-Me?x*Vo6H%;4Z4lS0UVCsqQvaXUf|c_(VUuV254C6W-Z)hv5<gq)|R zC*8h%n@UPbxGa)$`MO}1X1Q<QJ}!fTgM+yeXl-p}<q$)6y>bGO2t0oLm}@&Y6PPE6 zD<x=_%56nfRu-FTZf-7TCTjICRVRmh^vjno<n8Uvjaa3Kii+Y_B-AiZC2`JV%1up8 zaVFo=(n8<9eIpMK4@yo>=Ejg*T_ykoySlpQ>C>l*(lj|3Om1>=l3N3q(C5#exuOOc zbiB~EgR?+6bo%sZMc;?&KxrpTRpn5WqECWW0Adx|cCTN*W_J!!Xs!x?d&e;}G(<^B zNp$JbB`$AJB5ehf9vvO!3cRtgksKWz^_iAVNRrFT%j4=9Ed-FlEA|u)q)AvgWEE)W z0DoFZkVeUbb^<byD_5@2<;$1J#l=M&gOUd!0m(8Bp@Az0gOtNVg(Maa#CsfgkJVMW z>2VJh0E>ej3BDJtJoGJbt*)+4Y^e*yu^NyhhfOWDiuz6h-V-FDJd~`ht>y1PY!l*} zNt?39`0)`AXJhLQYAH>Y^?Hu#->4897tC0{+^YIpfvI7rS=t)orzJJ;+wpAw-wfKD zr?q=QV~)xR|3i@)BT4S<+qXLZz_J@)7FB_<ut#pUVvpQz#a~VCKMsZx@%}bV<^TWy M07*qoM6N<$f<PPdUH||9 literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Square44x44Logo.scale-150.png b/WapForStore/Images/Square44x44Logo.scale-150.png new file mode 100644 index 0000000000000000000000000000000000000000..9c75c2440bc7357184ba9ef304d418a35e65cb3e GIT binary patch literal 1840 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 literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Square44x44Logo.scale-200.png b/WapForStore/Images/Square44x44Logo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..35622d5909b8c051d1e5916385b2f51810aec03f GIT binary patch literal 2388 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 GLSTYveul~b literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Square44x44Logo.scale-400.png b/WapForStore/Images/Square44x44Logo.scale-400.png new file mode 100644 index 0000000000000000000000000000000000000000..cfd07d6bcbf6e9e79c920557b27d71bcbaafb962 GIT binary patch literal 4814 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 JtKqic{{lil9s>XX literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Square44x44Logo.targetsize-16.png b/WapForStore/Images/Square44x44Logo.targetsize-16.png new file mode 100644 index 0000000000000000000000000000000000000000..9f245fe9801345a8b1235153fdb01877d1911276 GIT binary patch literal 511 zcmV<b0RaAqP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00009a7bBm000id z000id0mpBsWB>pGu}MThRCt`NlTE8ZQ51$>92AbakrOgB5@Qo1rIbvWD1Sl9kYC{+ z7%3@317<QXU?78=l!@<7B5{1(y;tbE$L$W>Rjba~Yp-Xm{qD5|ylKL}0fNEcr%tE) zxLhvue?FgaI2@qY>#^VOA&MfcYqeS)liTgK_X%*lUM1$@?Hht1z~}Q}JRTz&jiO$! zL!;49jJZM80i!BB$Zfq|BbiJhl}ceS7{KXtqE@R>H@pMZrJ@4d$WRmoHk%EhP>63t zEEdCLGC?2^K&R7z#bUv|&=X*_T2YI;-43~24&iVZy<U$h8;wT9<8h2eBW$-@+NT2K z^LZk>TrNZ+5n6M*-7uL<a5x-TEEYJOP9!c9TMbC3(@$h>cDtR9)9?3DEEWmEk8r=K zC%|tupU+V!6wquo;qiDV`K1OwlV-CS{C+<qNkX|?MmC#8wOXZlc-cX#)xu`8LATpQ zrBcCkIz=LpKqixUDF5A60Cw*NPUa$+&1Mp>R4Sp-Xi(MRa0si_O37@WdXU&v&DfAU zhKa*?f-K8eE|&y69*=jSWfg!`@ct#}D|`DjegUr0;epUS3%vjU002ovPDHLkV1l*< B-LwDz literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Square44x44Logo.targetsize-24.png b/WapForStore/Images/Square44x44Logo.targetsize-24.png new file mode 100644 index 0000000000000000000000000000000000000000..1b4ca07d937d84e6e222c0a2aeef163dc57a8080 GIT binary patch literal 720 zcmV;>0x$iEP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00009a7bBm000id z000id0mpBsWB>pHf=NU{RCt`-RXb~9Q4s!oAi-DEB8^B0fs`RaEChpKlYn3?RzeU( zh@egWK(Mm13L;n-uoe_d6)YsdPHjY8FhxMu5El(bM3TL8@Lu#9b(icGy91YV&tvAB z`DV@>IsUT9|1SWm)%r~$k?1}?J~k@S8Sd=D8qK-&ANTk7`=0`En>$jeR4q0}ilfm8 z)9Dmitro-K5ZpN^mCB`a@9*!5l@V~86W+UdrPtS29336u;NSqMR0^R`2x_$&@pyaz zWCk!<2|$MVkC(}0g6-{XTwh<K+wJ1{`57LM2kmy7cWQwuF}+Jk76S|h14JSb+}_?| zZ*LE=SPYd)g;6#hkD*W~7+tGGOc9?b!F!X*gp-pKJUl$WY&Ns?<Kttzy}iNb^C6i` zLZi_L6s?V59)SLPy&eLA0CsnG*;gu+@c8(M)6-L=(`h!gS}hcdMW|G&%@k3{JfCv8 z9B#K8=jZ3bK2^`%-5p#m7t6)V%L^P12cwTq_F8~UCc{SJ)L<~cXf!SyK07;O28s8p zt1Gq^4u>I=$pph|0S*rjmoAT3$T%-IH#f-V^Nb#G{yqix6`{*Ui7gZgsMTuN+S*z$ zOh8`(Ao{4Xo}QjqmGR#5^5qB!!0B{S-$F1LM7dmExXr%>&}cM}NF-3LR@v?KdcDFP z6#=yho6W{(qeO26$Y!&w?{qpH)a!Lt_x*mKCHC_261iLs7Z(?>+wBZA8jUi&Sq~D% zl>mOfUq~3;0}5TQ*RwhOb8VPWVzF3QUurg+ERuPz*G8bz=@i8ADg|l@G$#;pKx}*_ zYuojAPGPd?!J*P5A@1jee{fa;aD8PTe^~zgNB<`VF<8x04bYze0000<MNUMnLSTaT CKt8?z literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Square44x44Logo.targetsize-24_altform-unplated.png b/WapForStore/Images/Square44x44Logo.targetsize-24_altform-unplated.png new file mode 100644 index 0000000000000000000000000000000000000000..b3ff52ef4fbd97b182886e44561b8374132dd27d GIT binary patch literal 888 zcmV-;1Bd*HP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00009a7bBm000id z000id0mpBsWB>pIDoI2^RCt`VR!t~$VHAFFjo-nbK4qblzr{@0*<oQVQdn40lgLWS zLP=4wK*@+GY%C}X<tLJ?B+F?=QkpdWCjT10_c?v{_PKM%$Mk)tZu8#vzVCU?dCqg* zca*ZSGH-NrwC(-<9skmzqN4Ej_7+f7$G_AU>rVi<`Q_zBeq&-{V78av)Oia5g0HWy zri(OFBf;I>9b#i+k(ii>`}=z&BqTu1Tn925{n5Abdk_|Y&Yzy1(An9E^Ye3zj*h}^ zw_|vC7;9^57#bQvYHF(KUi$nJfRP0P0kpQZqN%9~2L}h3nVAugjEoHA=jZE=A_91L zctBxcA==y9vA({J?CflejEo3HtE;O5@cjH77UWw1ZEbB>Sy{o{+#F_SXHisCgxlL& zG&VNE?RHB|9v>eOA0Hp$<4XYYo|l)0^73*lFE697uTSQK!62+wtBeZ@3M8YBjt<F$ ziux7+xxc=?MpsvtD5s{TM&`G+ws3WIg{rD5TwGj8W_5LSa5|mn@9z&Owg50v%1xV~ z>~3yuP+3_ioBuQd?C<X*D=SMLm&+x9q;Ya`QYbZMq2%P`$bh||C<;<iQczl2ik6lZ zSS*%LiyImmgl`r;Jv|-W-Q7|X^3T1Lv=*!mu(Y(KM^AK863)o^z`%h1URzr$zwC$8 z(^DiTCx4<^C}Namo%mflK0X!!Fat9)pZ$xG>$9^nY;0^`Vq!uHZj7EL8AJlGxVR_^ zqd?fvNl8h<ztJKFsIRXVr@g(sxV*fSx`plJNB}5?>gsAZ91c;N*Xxz$`!Pk^+uPXN z+e1Y~1xiXvLcZtb=3;(+UcgurqpV3=2mp_Q-Q8VGO-*5Qb5nHBqnW2Ej|7{|_Gvw9 zkeQhYpU)Q}amiq8Y)qVxOGa^YbcDmhLuovw&4=Uh@o_mpo12@Z!#TgOuz<nALD|bg z&y=E`o*upX$Su><ZYwTen(PyHuHWw$^-NDsqqw*jJ3Biv$L<fSqO`O$-I<X;<6?rx z#l_*|<OCj%N0h`&%$(~0yqHbDhA|CDE9h5uxpwLM)d+(B<8O=VGw=aTI{-rhaG?eO O0000<MNUMnLSTZ-0H_K8 literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Square44x44Logo.targetsize-256.png b/WapForStore/Images/Square44x44Logo.targetsize-256.png new file mode 100644 index 0000000000000000000000000000000000000000..89627e28f96e5b021bca4f7438785ba0b7c52264 GIT binary patch literal 7374 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 literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Square44x44Logo.targetsize-32.png b/WapForStore/Images/Square44x44Logo.targetsize-32.png new file mode 100644 index 0000000000000000000000000000000000000000..2a916603950778ffeada918f9c2be6d9a378b1e9 GIT binary patch literal 939 zcmV;c162HpP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F800009a7bBm000id z000id0mpBsWB>pIT}ebiRCt{2S4}8%VHAEajK9I4K4qcQ_*s~+v%|t#q_D80B(jpS zP*SF3ff6DL8w<)p`H3VplBEn%lE&ZUU*qq) TXbBAlb(Wk!e)a~9m_rB*m=RD_} z_Z<WNvKamY_;CR8^78D#!NKO&*VlkL3JMCs%gc*%eSO{XApphkFXdy?R{+rX)6<jO zLqbBJwU+M`eVAIW1;F+E{H$rjElMP~xw%1TXec5hBXN6si-?E_D4FvB(XcDF^#Jf( zzMMZiJfNwm38$y0=<V%AR#q0eySp(zKaZ}iF2u&hYOd9?`6U31%;|KZuC5MMRaMy9 z+QR7QsDMaFNI+Uznomao0dRMBhm4F2G&D3|VPOHu$;s&H=@AO%=H>*z<Kv@GX8{3F zUtf>e*;$N_k7I0X44IjkxW2wdWo0F{x3{Gx?(gpr9v<#x<BtH4cZ<b>{QP{(%*>#@ zy<PM!mkTD7NuJZw(<LK~jg68Cc0@n`ko(KaOEfn(OXZi8l!$(Lc^MZM7bq$!!r9rG zWTvdF47Ihj=;-M1Dn?xZ7%AJyy?||Xb#;Zp!a_0rRtR8oa}!BPNpcMg3<x07G&D3M zl&Q1uDS(ue6uEO27z_r)#Ka&sHy1TEH3$oPKSwGmDuizqW_)}+T3TA9Cdfb6vSr=D z=ms!7J?)8}=$Ud~Le6bAo9B0FX{p>f4~~zI5gi@<F73J~V3b;uOs^aq97usO19~JN zyCJzgIXS`N;vxnI2c;m@(NlC~z#o~KnvxD-0dpcoMMVk!YWX$*<>lq#w5_cT=jZ2A zH-1k-e}u(aTwDyR)hgX$x7%en1)PGFl@)AkY@nc^06951Uhh*=Q!z0yAz)Y&>bBLQ z<x>D0wQFl@7#<$R($bRjJ-1%&h8($Ov-#cktbxSDL>wI*d9|>v4D|K&i4$_kDE9aF zvAeq~gNbS7#pnM1e%S%5tE*)~Qa?F4iO$YWS<6kyFA7>)TRqc@+%k>s(+&+Vjhqvl zd=7_0s()l;1lifySY2He9jB+?T@V)+=W+H{)CT#U;EYBi4i68pv$G?ez)Wa4*9}1H z;P{cafw&9qqqC&mL#acF!1W!+a>b_eQviE=dlt3sJLTv7Gy3NM{08Bm1(`lOKYaiI N002ovPDHLkV1m=kyqN$1 literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Square44x44Logo.targetsize-48.png b/WapForStore/Images/Square44x44Logo.targetsize-48.png new file mode 100644 index 0000000000000000000000000000000000000000..4b9fe684cc70b468dba1c964fea8ac2faa4fc06c GIT binary patch literal 1361 zcmV-X1+MyuP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00009a7bBm000id z000id0mpBsWB>pK14%?dRCt{2Sy?D;Z5VzXj(PeGDMaMIBpD+)GKEsEP;ShnWFC^p zkc_$Df*X=D<|Ma5DKZr<+#N$99mFwZ9{&Bj{d>3ht-ZHB*!+2FwZFC3THkt~@14J; zN1q&e+7>`nd=bz#z6fX=f&>Br0)FZ0>i+fk`1qdk{0HB@eWQnmhd*<3bAP{fU68=j z)03T!j*gk=(42G%0Ph#cqAzq^kbvmHTM=_StQpA^1l|u>gsuw`faySe$`HUax3{<S z{rh*G1HejNUS878%?+8EnUS8Jp2Bm>GGkdLBsmlXguK7MXW^Zlo$27<K)ix<a&kgm zUS8zq=SQQXqjYg`K_VYhXkJ+|s5J^f`0MLyDladmxVSi~si~o{u`&KXIy#z~o10lH zhlhtWGBQFI78WYMQ>_{}Jw2u3;$linOyu*Rpdjk$>7mfjP-<;$m6)WHlM}tgzm(Fz zTL{2J&d<-u-`}4yGBPC3V}&g(EvccQf$r|^sIIP#Dl03=(9rNri=%N9f|G$nVPPSk zx3sj7udgq;xw%nWTN^n#I#O?MFD)-Gv-5(ix}uv}G;nryM&aS%<mu^2larIw)YL>1 z6BFd%;J^m}pNNf(<uUx^>gq~DTpl#40Wrzc)KnI%qN0M5latBA!{ga~=H}*-advh# z-`m~Y%_gQwvQ$|EFo(dvK=StX=IBygT}=@Y5zpp%DImgYSy>s6ySlo_%F0USdo=3A z2$AXO={&ZzwS6Z1?CdO?QcO$?`S|!Sk>TNC+TY)&kdP26DJh|ql@(fBTO(s*WAze{ z2MBX~d`v%n{NQl;60q<3`g&??Y^1%tJ=)sZB3D;e4y!Ps)zwupF)^Xs++0dYNqJRM zia;g-Aq^mgBeUAu+f!9lmEiNxPEJk^>FevWsQ}2(2?+`0;^M-Zv9q&d%^@=*LaB`a z1jLF+*C9B^OHj*1Mn<v;K%m!vq?MPKN2R5u?9?C&!1ggmR8$mMTU)c>AgFBFE=U0C zN7_dM!sMu1jEs!P#>R$)77HW`5E4EiUGpFdx3{-T&Ubcp*!g7@cS`v{e0;o0;Y|#A z1>4Zj5Lc<l+G-{69zfC?7#LuaR2EtzFgQ3!wY9bEEAsk|51|1>uHV0Z)55|6m(s`) z2&0NPu+|Bn?m?*m;Xwp`A?^iKE$ZHdfPsMlhg3wi#l=N3H8th`KTJ6-53q6c3O|4T z<Wjq%qk~OH+!v^VcXeWz4icNYyE_#X6><1PZjnbq>l%0oln_XWsDZFc0d2?<QmI`D zMS;?|udk2h=jXY;NlHrM6_y9=P9Tit=jU@4RyJuWO#tb?zrUYb#ogUqcGT(VX)c%3 z($c7)pn%Oo7Eoe~!>D-w=ryQpLZ~WHbR8WX(Z<FG3pzeNPTSktoJCQTN#Bb;cxq~j zBagU^lm_ab&CN~f?Cj)P3pJOr5G0V5mBnozIxh6QIIwL3B8cTkLg=Ib=@o*bg3$W< zI%Q^NQgCoE|AvKyN$x@Ok46XNF^@)^7#mU$Mx5#~#vzX3vL?p==&)cyGcz-Mpyfp4 zk8W&fX^DG)m*u)z37`pAc5hVrrC4Q*(SgCyrL(X)pw^u^S%5agPW{$7KU^MACuC_r z@T0<eL#YoOqKEcH4tA^U4;=q~q4^_pU66n%-oN@y>Z9TR>jR$!Uj(#`Pfy?<9>T(2 Td%9oH00000NkvXXu0mjf@kf;5 literal 0 HcmV?d00001 diff --git a/WapForStore/Images/StoreLogo.png b/WapForStore/Images/StoreLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..7385b56c0e4d3c6b0efe3324aa1194157d837826 GIT binary patch literal 1451 zcmaJ>eN5D57_Z|bH;{0+1#mbl)eTU3{h)Wf7EZV?;HD@XL@{B`Ui%(2aMxQ~xdXSv z5nzWi(<Qp0OO$NM7W~Q_8E#Xi$ik*$nyFjFERiL|C5FvR_m#Nm-UE*L2eC=}zR&wU zzvuZqU+t~gP??tUObUV^Y2GTg53Y3lH73JvZdvRkT$bsc2E9%R=n+8$h(l8R0QCli zCg1~t)c*1XP>LW)U2=Vc-cY@s7nPt{i0hc6!7xN4NNHI#EQl>YNBy8l4%x9gr_W-j zEZMQmmTIy(>;lblRfh`dIyTgc9W5d!VP$L4(kKrN1c5G~(O_#x<D+(L#x4){@nZr* zXH@hSJ2p$Ip}GcjDJnoMW-Bg|6oayynX*_}jx9oIC=;ZOph=wMcuO%)(&*fSL2s%Q z;C=3jIbTq+W6ioA<_RJaiI^kBW<_lxD30R@k|t;xhZ?xn9@2#<9@17OEVzLts&ZJD zl@J=YDEO7_x*dZ|XF~{vtE=Y?hqSpw!ITkEAxuzak_ZOlam{FJx)1zMV?k}LzC8>G zAJCNTstD^5SeXFB+&$h=ToJP2H>xr$iqPs-#O*;4(!Fjw25-!gEb*)mU}=)J;Iu>w zxK(5XoD0wrPSKQ~rbL^Cw6O_03*l*}i=ydbu7adJ6y;%@tjFeXIXT+ms30pmbOP%Q zX}S;+LBh8Tea~TSkHzvX6$rYb)+<VDq6=!86<yJql`!gZ%~TyN*er)6C88C^%QPFc z8>n&{kSbIqh|c7hmlxmwSiq5iVhU#iEQ<>a18|O^Sln-8t&+t`*{qBWo5M?w<Zrf5 z;R%c*oS?(o7?BfgG=~RBn#Cy!Fu0#%8C>FM(JuimAOb5!K#D}XbslM@#1ZVz_;!9U zpfEpLAOz=0g@bd6Xj_ILi-x^!M}73h^o@}hM$1jflTs|Yuj9AL@A3<-?MV4!^4q`e z)fO@A;{9K^?W?DbnesnPr6kK>$zaKo&;FhFd(GYFCIU^T+OIMb%Tqo+P%oq(IdX7S zf6+HLO?7o0m+p>~Tp5UrXWh!UH!wZ5kv!E`_w)PTpI(#Iw{AS`gH4^b(bm^ZCq^FZ zY9DD7bH}rq9mg88+KgA$Zp!iWncuU2n1AuIa@=sWvUR-s`Qb{R*kk(SPU^`$6BXz8 zn#7yaFOIK%qGxyi`dYtm#&qqox0$h=pNi#u=M8zUG@bpiZ=3sT=1}Trr}39cC)H|v zbL?W)=&s4zrh)7>L(|cc%$1#!zfL?HjpeP%T+x_a+jZ16b^iKOHxFEX$7d|8${H-* zIrOJ5w&i$>*D>AKaIoYg`;{L@jM((Kt?$N$5OnuPqVvq**Nm}(f0wwOF%iX_Pba;V z;m@wxX&NcV3?<1+u?A{y_DIj7#m3Af1rCE)o`D&Y3}0%7E;iX1yMDiS)sh0wKi!36 zL!Wmq?P^Ku&rK~HJd97KkLTRl>ScGFYZNlYytWnhmuu|)L&ND8_PmkayQb{HOY640 bno1(wj@u8DCVuFR|31B*4ek@pZJqxCDDe1x literal 0 HcmV?d00001 diff --git a/WapForStore/Images/StoreLogo.scale-100.png b/WapForStore/Images/StoreLogo.scale-100.png new file mode 100644 index 0000000000000000000000000000000000000000..11865d9db93e725fd4608d25368e4705b7ea41de GIT binary patch literal 1720 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 O0000<MNUMnLSTYA!Ag+; literal 0 HcmV?d00001 diff --git a/WapForStore/Images/StoreLogo.scale-125.png b/WapForStore/Images/StoreLogo.scale-125.png new file mode 100644 index 0000000000000000000000000000000000000000..4662d3ad5db943e832336541ace4dcc4b9558c64 GIT binary patch literal 2130 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 IM6N<$f;LeuCjbBd literal 0 HcmV?d00001 diff --git a/WapForStore/Images/StoreLogo.scale-150.png b/WapForStore/Images/StoreLogo.scale-150.png new file mode 100644 index 0000000000000000000000000000000000000000..ffb631cb79db9f569f2aeddaa66f3c744719df7e GIT binary patch literal 2515 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 literal 0 HcmV?d00001 diff --git a/WapForStore/Images/StoreLogo.scale-200.png b/WapForStore/Images/StoreLogo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..e4f6e5476a203c8b51972ff933ffbcdbb33a295a GIT binary patch literal 3265 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 literal 0 HcmV?d00001 diff --git a/WapForStore/Images/StoreLogo.scale-400.png b/WapForStore/Images/StoreLogo.scale-400.png new file mode 100644 index 0000000000000000000000000000000000000000..fd53b63f1c8d7c1f2a655e61414589fea6bb673b GIT binary patch literal 6941 zcmaKxWmHse^zVrQhEQhcW*9n@l5QAa=tjCj=@#jsLlBUZA*H)ZIz$A4pAsSs(%q@v z<9%`0`mc5GeR1ZjGx5xsJ$pa<`~B=VZB6Az1T+K~7#NRKkO*Di{Q2Jj#swa0jB4|M z6TS!1*c$`m@!-D$bHu&e4g-T`QUxKW?~gvr#c$S_VH|nYwRQJA^0PKvp){?Ss75_I zRXtmgiN_w92G`^KuaYIZOkHI(wLu^)O^n61Iuh|hJNoYa;9$Gw`bg>;9e5mgo#!2r z-*VJB=^b-^w6yYjq1XDapKgcOrk~ve`nEIl&#f|k_z5GWxlf9CS)8rPcF05ur(S8* zMzCCXG7?SsxdeDhH0lyU2nSQj!nQ@z$&Lx3kq9La98AIT`~JB1%OXgw9pnAKH&DdN zg8H$bu`nYT78FE?fQ4J3zz7Hr1O*PqfkWi#VWZPlDn;55U3i?l95~{Cye9i^#s9g0 zopPbp>b+FpmCM;Rnp2N0UCet+)Y8C)IZmFjFY{r}GW4aVS>R#I-q{%MT<_oC*DEuO zp$~<%?d$QPmew}RSfjF3#c5Ylx@?@Bzhwd<`|ruQ4b^ALbrhC-=gherC(w6){f-tZ zmP77cTLLbfd^gjdm)^IulS7f>whkwPjuYiobv-7(k3;|Jh5r5BChoZ&nfG<_+A{t& z(1yvabC+$V)z#FX%J7NrZb@dTzxwXCl9`jWL4zD&*XgUng?CR9l1YHIY%+vdRnxQ$ zD)s-neto`Wp!}A>;2pb`q4)MgVh0kkKKhQ`;Ol!KgEqIN)F(=O5SNi8dV{%I^Oll+ zUZ^e{O9gM7DCGRBNYw~KpgONRmg9-bd}9R)8_x;ziBY|*x$lgDPA@xrP(Uv8sk#3B z)uF3Yoy~CkUh9IJo@uL#PNun^@$}r95CX=Jo6t{`#L@Zc*i9@#(7VpGO_N?G#LPVC zbQs#pzAo$1^@)(TtH5cl*7d#v(RkFc%@9lvPi~HtwTU%emi%+G5kNuQX4i50iPm7I z(%{mITNg#;xq3lN#V2b}XR&nZTz@gBlWA{g0(=+NnCIR!rz^RU;XDp%JWtA0X62;? zT$_$(9uCD@4A`#`_YY$wMHM4RqWHtI=Zqe+uZOJ<CpeD;Umq<c;jxGR5=$|8tdPND zJbgK5Sr>sv4Gr-lOyzik`H9JWxvL}KY?Pf|hH<;wZZy?tf41hOe1oBtr)Iu%&E3WB z2L}ID%#mYS@YqLMxAy*1p&LvnGVS4N!M)OJ^UL0DS$@)ukkPtm14HcDq|9G^dT}4^ zL|T!gn_z6FMmEQxVnq-M4o}tD_GDdN=%3fVqpX>T2XPz%vMDkAkD3B1N^pZ*ao_kG zDLro>nO;`06eB<+Oo(cuq>ICa=bN8Xm@DVtmhxn~KN@VUaR$7S%D;P0N>P5dQ6R~% zk^2V6io<9c>fbKt;WUYbt+6nQc?}6Hs=@i3XRA%p#%~%xgcOP77hLdUZ~;MU(CyjY zf69!Bqx<}PK+@FY{?g|A*aU*#BDWUsV~81N4L%ww#u-82MzJzddxMMd;2|bNQf<c; z&0*Szz<LBu!x<(RcQtvg#&qt=nWU9o#0`CS@m<T;+NMxGN?zJf{&znVB^rhqY5Ql0 zRBPw69*^}d**Kn+@W^qWQ*vbUSgY%T4>*g21g_sG#wCD&J?=X$Q17xI%is@nP4(^1 z5M{xxNZDKZ*tUFP7jxWmuc_Srm|na%Kf;oEmPvr+of~O}43QPCMF7ipk7?@96$;(4 zsi_wd$6eoN_a7e4Co7-VS(wn>&><Ee=-l570*}AJDTdfYw;s_vn@X?S#nfS8PVT$z z`hB(Fi=RO6f0WFmaB)T;Gy3qjFft*4N!4@WI~=P4a}0ej-?YF`j<UjB4*eT^sIcfc zLeIn)V_=g^gUXUrd&?l@a(tB|<ec$dCbXwj373bF^?FTp9{S<6)*2QZLaWWcP-`xc z&TA>HJh{;P@*T~y7s)0)K^-)b{`DoYZ|Y>zh^Xqxq)nvQlk-FFR1#@~RC|>QSXVDO zqKUSP-{o#M*eC)Oi;t~S6^=t#$)@pMG+-Gm<~=>e+gm-@bU^h0r1BHSNp&r@rSV_- zx8fB<N_6+v$66L9IP#nc5NbGt(8DPE-wv|J;VtF*^O-BZkpR<U2S?l<@?Ub`jkA!& z6W@a#_Cm9(wzB2Ugq<7n|B4g`dvLKbx?wM&D5J1T4ui@xAf9=L+kDzkJSeZgFE%bR zw_W+H%*QO6*0<Mp`*r&+V&OKN_HIT+lCRH<*uak(y9koNEFdBmI*00*rS6}Wp}$+M z#IoYBy@?l<o3<ATKm#Ept;Zxk?X#nV`kYd%f=>GJT!o^Nmm>R9B$41)X&oWwS7i)Q z(ZBDnwXVdlWVAxq2r?K}7xnUScq$+`A4x@AeiTGtPrr$Zh{O1cM+o0o#cKS(2SUvb zy8Sqxd2TuL=!ZutHXe1ILRJP+H(;<a{+j*OK%$MR1a@9YmQnI*tZaDLaew1*?PZpT zd)}24@~R}-n0_VfD*v=E$x<#4kC5Zi1PDR#fRCK}ba~2?{r-S_hPLsZeg~@!X2iz| zE~(qiOv~m;I8fZF1h~(1@||WX=K~&YPB&(f=q17_NZxmH{S0Fh06~!9>uvS!2w_cg zSrAFsXyA06<%;1iM_^O#e8V!W#6rr}17x{PP)S1+_(vAM?R4OAcUh@=cF}dpP!WA4 zB?JZPGeKvkx$XE_X*c*0R|gAZDR~^wdnyEzPDstgXL0&J09~sE`EZmOD~n|{DI!(+ zql+x*YmP|OZ~|qFWLUHZZ-{yn0l7_Z_O5CQTyYxMQhd*#&hi7KsC%IYZY(k4Ld{5P z5oc-dE%hhi)3bvI7(8a}^&jZN;y~6fg<t3lDoRnSDTZt-r^L!mDAbSzd%f%@P3jK3 zt}Ic@#C@W$?VIIEZ8iP8BRl#L?H-8zNp$S&?P<I4XmQowB8{|nk{447tqfWvPbIF^ zb*DtH?N&Vf=Lz#HXsZO?tEO{RSPw?;4*Gj6|7IZ>EzXZYnU|_l8??I2*T1zlZt+-? zrzfyCc9_7l(<Aw>&alR0_rqitsJr(K@(t_hSma(HDr*R)80-fZ&JQ|^GwBWKuI*v{ z5>f6kblm$lB%S+tEm8aW4TOVaul2#}N76A)xPpc*1Qm(Rl;X=q_eE1i9PMvRRw2it z&rKQxV>yb6EULo^UkPJfC2V_F1>>HWHI>OPL}|%mgkP08ti)xW9*flcIhT4b<m?cr z=A@MC&cJ(Mf>UIw4}C)~A-qFj$-B1XE<wb0jIup+EN3=tw2PD8%rK85@{i}ne{Jgf zc8GGV<KJzW3?GmOaYL%{6eHUfz0|sRSs#s096Vu?Q+^tiA?Me4ui2MR!*3H=+dEKa zbBkof?EQPQ@zys=0NPQO7r<3+u=WaFu9m6t#kFg%`Cfo{00z^~elZ)dMW~M#3bc7~ zf2&S0ILY21RsF?$B1QFf0&h=wsb+2^vnPw>DXVB&%qq5wUP4qDgxj9IKecGO#uEgJ zL&z^#EPOv&kOT_~78?64u@VS6j87?sAB+`<XZ3%Qby!X5*#0a1_rd$}3wPa*JzX0d zYzEJI^!g>|tK+%4{7Stt%`;nu*T0}osD9?1EkA_vF@)S$FG=MsYS$NOv~5VB_+VK~ z)EIG%!)d9naba`AJtUy<-~@^%K3Y#B8y&vVnExH_h<wMU5id&J;WWb~WIX^n6oJWS z801R4(qwv!y>{%F_gX2&uj1^HLF-%c{yop7-5E68;zkqZ5Mx<%@L!);DGbuknB<tO zQ!B6g)FbC<$_JpZo=c3N<B%2I-vt8L@ZegADhSxx%}?AUS8U)ui9yPw`~K+T&plki zeYg!*W(C%jiT>DgEdH-lJE>XVHIv#HImJOx2Kx=&_?{0Zerrsw9b00BW#FOECD2oM z<#s_sNb<0Xvi0Ahf3nTAIZkxy4UPEnXe-Ag^Eu}bobj0?v8Rlz)Zp~iwCL$_9p>fC zqQY0ll$Jp$UCb%j^nb%`OBCe9q}6zWC_?-ii>+TrQDHm2M%a)S$kiK(NK4RNYhx7_ zh3zxlv0`~L5rJ^^0EtGrML4wkiBsf${#3}w!q`~kPkuQ?%r6+<$FDW0F2#bC;rpo< zM|~)4rUeq{z$QP>_D-8U&WOU4H3L6ucvKS3@(s6(?2oiq!u=ZrM!(x)JAaf>c8$iX zYi$_Z3L*{#Pbz>>*qQm9)+02YTQ+>Lekrm;GDQ)Rn!y|^F~VhOw@uS$s)#X4tbYD& zviYaxokRD!scY{;9!^Kduqg<Ymr<#A+Vd}~F%0q4>fKkQ7mj0K#sei22CHw?^CXSg z;iFAd?C6nq2o~N5QAlmB8FlwixxZ$xZieY;m+VbZmJ}2Zu0rPF(13-)ra(QM3=)f@ zX)9AMhvG<Egoe(NG1~}_Nvm7R#hM*=rV0Z_M|!9jl=IhGoafjmS$>j($$JkH#r#hS zxZfK@Di98hW&5CYXFu`Ok>KN^#Wc81njBX*c5LLZay_oBlIKfxK$=n|0)`_>Wzlmb zgSLESbeJ$QFY0MS%m~^sYsB!mk#N-c6EMcq_pDzIMK=K{>$mFSf=_}gI3_ip8GYjm zYyTt*0jV*m%1J+*D9|6-FKJPKxn2pa%R~^F3~l=4PKMkoCQ#t~mhql)EZ<m$JezFO zTh=_J3W=pWDVDuy%(jlZO2+Z?y3tVTmu120U%u+ot`XzH#7ur=)E&_BCot<j?3|7U z7oSdJ!kD}{&ppPS><jcJtluf-;r85_+c6-bgL)EwC{2qGf=fhIa4*RUj}6Ptu-B+J z&cUQ}QWBxx$ep!I!5$z0RL;m%e?i~2N@G2s^jjI;*2R?Arg}-_k%BGRnz$W(jaU~+ zFy$xc=C*v496JVKLxp}=A&>r08P42L`V~CjgmM`DU9-~m90!pf{SXsbrAD3DpDSW* z&c$t|;bEgZjM#6JwSNak^slIh3Z-_k$3L5gT>@Qtp5`PHZT#NTFy7oK>2=A)5-FB- zqPkmHHle3>=^<{`uxXoHjR@;}1Dr_Q!9GI*XlQSDq>S(CFN#k=*`D0WjGj}XNh1>Y zV1G{do)hXsG1<dbMX}^1Ak8j1mo@6EQqb6}JL5Zrh;Y#x(~jf$CP)44#QKC(ZGk!k z7)Igy^BE0N$>jtvOwFJygf29~C|OkACz3ZgaN^8rf!*1;O-Y^O95&f+_#BseZKV%0 z+P8mg^V$eW<DyKM$n`l@D_`2&v8SR<o~jEkNpiqmjAB$EX{v=Y&Qn4K#ooZi#ipYe z62=Sl)-vF{r=sF<tGn<2TM(HWJvS|_b8eSmwkY`G)Zj;!ok*%39<I!A4$t}LRXy)v zfpk{0XT}~DG5ACzug#*E*GQt+K1>$yvBFEqA6c@EvD2Bl4gFej;t%g%8E}(BOi~y+ zHQwCgk2DHpO(gE7XDbmI*+^_xETD>zJb9E{0q?Nzis|9Trlry()Z>A;@hIXnR$LK~ zoE}Ecv!9bNuxexXNujA6J!yC6;`l_aM2qY}bQEbei#ii_YWA0-xN^T?5DzJqqjbpD zD{$C2A0u2uT|xvGOl`CNz$4YA4c!y@(Xo>r#}oIII?YZyNsfhi@jcX$L}#A5eai^d zmmPVS8{`j;3aoQIyOtn}Y0MrwjEawD=`{9dWnmv;ysF)Z@V8$-kESOh!PQ*0iCT;5 zh5^ps1~<cYIG#LDJW3S=A0oO6OCCJc6?BHiLP%fyk&Quapg)Sqy+F1j3Rf+DC^OdH z{FfLj8(Cf`L71!4<qrx6BVymL4aV$0WwSVwB7#GhxID(UCvx{+3})s4C;_TKD#69C zz5wHeV?p8J^yo?H`)Ui5wX8rUCvqZa>?##k-L8<5F}`A%1vwr-6qM^d69*;cqjp-7 z-S_|~;riq2e4D%F()7>R!LeBdlBjT34%?CKESb=dv)kwp07OJa<@E*MUHoSbYoH5( z{#!$Br}^xg8t?9l^ts17%>cOo6XdEa2c2sK-;w!?r8!4|5lHNL&j~ma6d8?16fh2B z0yj>rxmc1-$F7k=eXT$xLI)raLfbECoKClAn*kqr3<tH6+R5RNeEAA+xYaw-ZWI*P z)E=977m9%Ogg5EEFzg0={;#9NEj|WjqTV~2{?#TZ%AZbiVDkZ54RQ>hx=h~s=0o4G zz%w-&D=P`Y+ou!vL9$=9GZ7uVr4uWfB<CNYyW!7=a>5~$gU0(VhBjl|ONgDRiNXT9 zAO&}`Az4zKfo6-HceKO^*wbj+A~Dm*5)zx$XsQ>xT;Z{g;E+stQqM24knl{J7FL>n zmq+32a=gN-NEYA&QMTV`MBJ)_A=Pn4DHn2}bzM<5S70l@1B)lQFLe4=O@sw*nk6CR zq%|`2N>s^%5etCh`;gO?vT@=>nD<7>k1Qav+PG=&yF0f*WpOkSb&)V&5(GDFG>Vj^ z<%o59f?gX`8}SF@-W997^YPNIR`CITC$6>SRg$+^a|0Wqv&#qWp#;Y|<uD>m`daG# z)EpTWS+ojdLCl)f?4RHFRgLyzdlZFfMK=}9DgcPO2{UPNssJd%{ubf0pbsxnXr6Go z62AoxvH$v-^IYQigYsKL_pa0E$Ou<pRVYu*&lcx0)ijPm2^O!sj+HwzF-6e2!cot? z8$B+As7Jw51OAyld4P6EvnnUibsih64Mbh0Cj4e5*;I|Q`-U@9p~wDUi$5WM}5 zis^5DNjErJ>;Pa%w-3IQsn;;?Eip8<fK$IbnMT5|x_0+H;B9I*Qx84@IR;b9;Q7fr znk`rc#2I}Qw0<2F2P7IMc^?{<E*0q4y%HJi#X|9$iv%dHG{A80n8!!pK00ebB4F}J zlUA3COmhIAUDN>A;jBPoorTsgNCmt|S<SprWJ$$?y2v#!=hT6*zrzN!j9)=xtrC<H zX?8V}BJhZ3*DNQ9PqE>Ue&NG~w&#FHonx}<y|^Yvp<_z0b0<4a1^2bSJpBhq)P_B^ zaZ2d@D#Lauj$@h-LA=RNOk2wVA5#U?ruyN0lX6{)7$w$ce8}E-I(H_Qd1rH_c47Dt z-THQsG(s+~_~rM~yDn(mJ#!EF=P&8pmlm!^KtHGy{8UQYS)nix59yfi3I2Eo(3_d& zm*0I<lrHyX47vj@^?QPD*B_n_;rX$*zWlEAh*nq~v@Qe?qaxaB&nzO=WusW_{g;v9 zg7K`@aZ&bbU5Oew!Y><Osem!R(dDQyY5BIaS%Kl8d&<=V1!vf-55)y=+6T;wOAV7Z z)OW2%&%EBRX`2QN{DoHp=0+Ja9uj6)WvJo4L5^zA^4*`^ZAF6z(W|PB+$Q6xZ@%a3 zPzi+o37YBfb~Gr{%%w7Gk>Ge<i+;~%9WEYtRqe<fD#e}r&*SmiekupV#4c%OJ(Yu? zHjiLGIEq${7Zg6YQe!HzWcG9a*XTQCi9?WZR~F@|9a}Es*K~#6<(dGURow9BSaUBh zgwg)$VBQJfh9)ckB|%<aC$isolxgK(U2Jhpf``BnU!?&w)aujoozOvN`5cgvm4Vks zPC(?u-T(bRMBPbm0PR4&2iV`diI{c^SRCxl^y-kUM*Gu%4Zp*m1~b*hg0*vG&L`at z6X<L>&yk`TH{?olGK*g!#+6i&3T34c>vZ^|K|w^R+_bIsN{4`q19GgEfbSze-yPVt zfh<_?NSF0!jZ+E+XhFd3KyP*psR~sEf6pjT^*-g<AX5O_nFrg^+`a{%^G%VU?EoQ& zJvnyzTZ!5Xz)vpTsQX}Ax7%L{^o%yxj$AzMjv}OVa@K8en(?=MZ)^1B>S)Q7w+dMh z5bTbWC-?=#tg{)L8#Vl+)iuWtchr*aywmrqvlsgftNtf=GT`wmQ(4tM-G3YKS|7p} z3VHAs^7@68dU<RA%6bt;{wygNmyE!MzMg_s#7!Rv){GhlF4+LMnZoU_&3I$NeAWh< zR@kLH)8ZHTdVjW{<8&;P*+&#zq+XfX@K~SjV4+Rx`H?QatTlT^&ha3bPe3-&XawJa z_GKJSU$!(LWgka)eMtI85$>*iXq6#mWR@5MNV^rdiIE>u09&li2c=#6=S>b@_0PAy z3O*cfNx;`Xu_&tP1`$?2gTwGYe@i}&@Oaw$>K?QS8o^o{EN%{)k1By+GoFu0F|y2t z1v;gJaZ;-Vu~x;1z<DFiCxwD~+4N2!l8eLYAa%MM_VH=gg;s;h{kh3{8urJtYZ7bX zS>rcJ5ESR^#m2P_(&VFG%^&ToCsb2JX3{*kVlskLfNSI%UOe{?ne3&$h>fO|$@!|} zFy%d&NSsA0bAO9XjAQtYmbMl76d<qWl(M?~=;eHJY3NE@1Kj{ls!8*U!cbY5gNNXW z20p5yfq(dgL;ZQ6;Lg`x<NQvsplt97^%;G&Wv>OLN$MMBo^gh>3!1L6OkS;4DtXmZ z2zEpcF$W(v7o*|BYLlbzwnTrNWs6gKEqb^}ze1O_G$#%GCOQA~{HY3e>bUM_t)xs- zSq{-pMz10V*y?mkR5`1qDOf3lv=36O=MOf+kk5vs#<?S7@W;VX_LL#E06S}8)=H#Q zrbJ+cGY=leyzwuNl{Ev&^Q-Y*<zMX2X)zl2H6|pQ*ndfD==O{Yz5-!`+gC-t5Wq!& zraJJAFdyY2Z0&QWzc$|VAkPB~81!)nDW;h&th96cnDTx})vLpkrdUqbvT|0X)fu9+ zCDqvIj)3&9ge%6sNRYSWow$d|tN3C;s{oq1i!5nSlJ}78_%Kyh-z?Arij&^^0m1Gd zZ;}~yNwinly!4Z5kO!^H8JT34z8ViNbyFp2p7<vU^txe)=>Nw+MTLwY9LGlP|391g z-}4tFFr1NxNf6*L0lG`B{{J$Q`9DLQWJDn>QWg+T5L}Q~T=NIA$TYOf*J~1x*Uchv hnSC59_@(GoD2}h)wvO%$5isw<P*K!G)XH0h|1T!D#ESp` literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Wide310x150Logo.scale-100.png b/WapForStore/Images/Wide310x150Logo.scale-100.png new file mode 100644 index 0000000000000000000000000000000000000000..90e61111d44725dfd89a00c4a35dd00e49b0c2d1 GIT binary patch literal 2488 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 S2upyk7zl^KTfQ*A7XM$YqOrsP literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Wide310x150Logo.scale-125.png b/WapForStore/Images/Wide310x150Logo.scale-125.png new file mode 100644 index 0000000000000000000000000000000000000000..543fe8af86e9fcc61311331a5db74f8387c0e1bf GIT binary patch literal 3122 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 Mp0l^EICCrRKhtBSi~s-t literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Wide310x150Logo.scale-150.png b/WapForStore/Images/Wide310x150Logo.scale-150.png new file mode 100644 index 0000000000000000000000000000000000000000..c081f86a99ebe8fb5005f5fbc2a3b8ef7fb1dc21 GIT binary patch literal 3907 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 literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Wide310x150Logo.scale-200.png b/WapForStore/Images/Wide310x150Logo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..eda99e0d2c0082f303d5b2d4aa3371e684547577 GIT binary patch literal 5432 zcmeHL`8%6w+m2F84W+H6)H2P~Qq)iqOO=+=PAzTI+NnzIO9Y8EVVF^E(3+{zTB21{ zg;-;!X$50fM8r0=1+gW>Qrr7v-rwHi{Rh79cz?)|<9MFjcdq-o&g(qS>wbF2+Ct=n z%n1+(By#Jf**y^Gm_G=_qb|q~Ji%UA8v?$Bf^Is5fIy;OxF4Q&#D~Wq(3z!MX4meA zXRS;K6R4<zPb|ballzy<uiq|wU7(hxp7AO@HKItpgg|)zHQ}t%FFp{&Q<3y?dZ)it zk8??;R7Kj$+6tWg`FpV2MQ3#QV1j3eD#5$kyN8$@qpXlScfxa?=ZyG8&Fj@L!rVgE zFvJ645U7Z=w#f?ut&j7`f=q(rL_muAWPZ?#EH_@zP3tlq&`-)V5a^H7K>U9RK|ryy z|NGhh(S+!%G^{mm>~WYiJ#TdV3=UK<bTwDjvkLSIeXi28hn_#!cWhRX7HbQxudh!q z`?+7AwcX-7{PEXptf=BiGJln0T_k78{kM|J9JxnMql*j>TkOB0LPr-OOK@o*eX)s) z;mu9^Pav7V2${Z(uB+2Qbg!I<f-AeTf1*|<V|jQx|0c%|?yoxJ@OE4)<I!{wcUH3{ zd>~g3+d8FbkZA7l*Oi;+2P_mcz!oX$PZY4>qmQ1*b*|J*xgPGc8&mPTFOuDOU4zfp z%114i%Q&xL)}p!+#lfA`Bd$*J(d%TH0OrQBT=pERT|rY}=aWF^E#>U{q$%v)Jfr=& z!o&IQ*D%s#Bon<a1Cq4_0#HSc`0$OSTF5&nS!dCHDCIqQrHtP$iNs-!5ZkwJ5K5fu zDw=z*Y;*^AYqf9gyg|;irHxj4A-1M?+~7ixzb}B@)!kP@@O#es-+nty-5vjMH?MPS z>TpXN-j<~OxZ{QVl<Z)kjqyR~E<3%&`Re|+liS}nw#P&Iw4-;{*+Vd!w9?Yj9=0K< zQ7lfxyR&goF=r77M^zag9sJzhPudXezdKCC4$tg@H*><LpK3?2XE|+-H1t>iQ-|3Y zvC)}(EgrJCfgmIu@tZINA&N~Iz0o`0o-lR135HI1XfrDr6<V@awZNY1>Uyf2W1n*M z`vM~xe|WGrB2LOcAMY?L<5{HWEXYo-Cm3Acawd%hHn2b1HGNcfZLIy_oL*UiYb)Jw zYPUDIQ?<~)KZ-ISpR867su1%x@ztVB<av~DE$^ZcZ47w(!ol{`!!TUiSwH0C_Lr)# z$mjqw2TS~F%h91OTgLt3Q0PzG`rX5!{Mr>_qR$#dZt`O=@Lw*wihD3}qE-#ANlq`5 zq>-8WA)dQE2yA69qgCcbsvGZ{iU5Pei8qETRfCbxvzwlo0i>e0lCZbP?sgu5bNw@Z zy@qRz2K6LnX~UL*Z~EdIND;_Hi6Dul{&VO;zdRo2f}h%-hjs}V?~p6@RvVzk@_r-k zB4cBdTO@6tukYojqy(0&Ga)4jE|z#vSqPy$s*Mhfwd9k1agT2_Lkr%yH+6If?4yXA zF`B+ubg(ss$aceJzk6~n_@+^D$=<@~9~W+S4i&+ef&F^v0qHL2MPx^yW%>z-qAZ#J z{prC}trGo5pMR6TCShm}pIxRpAxanpsOQDfNSqzwaI2<eI1#t@+BgO)@_E%g?>Yi{ z0TlWN_vC~}IF&IkJZ1?6o4|02AC_!m+UDbGJukisFr{>iT@#SI|LT&9<Kf|UOM255 z-7mYZ{ezS92?a8Bu_fNR#rOpd$hc2ZDP{?VUt-lUi7m~g#yESNU%|BeKn8VOS{#nd zB$EXc#%Ds1Z==r%o$3?I3wkHialMSEsP*Nn(<J*<q^5T<?S~-pajBO)y!=B8&vXNy z$f4~=eTz#Vqfv;uxmTQ}kNCsQLJp&Sv&frQ8vw^eEse8wH&G8Q(8CYx(qi^!6gZaE ziS^lGlXd4py0tPlo4~YQy_qBf30X$XMATXn3JR<=uqxy6X;pEwM7BM+H(`vWNZ1YK zKH~%+RaW&GSuoe#PP@QYj70D?EU;lZ%*Lp?8(_N1rjwr%PWhX_l%aC1Z_4dW(Le`` z{Orf+dU#kd9^9pY3SHq4V=zWv^Y&gY7D#$kxdi`p!DG7h>0FyEf-pesZIQ~0G*JU8 zC6+0O9!ItZ58bsW*<eXqWkM0IO*t3MC#T1&Yn7|y+%e-}%^TV5*L~3i-8n{Mn=1WU zaUwT=q~>R1wnpcGUga1lJg@fm%0}6aiB={D`HOr`B+-_|m`m;gMahCD%7T#G8TVvI zOVk#+m@F(*ZO=gW8Ep^wbjzV>kK&sd&3mhA0E5(Y^+2bb3tgu+a<+%=HiaMQF<1N^ z?m6mj(csL2#9CFJ-0b~_0^UnQG9<n0GacaP>hb&{kpsp|FXKIjy7kY(U2(^Seak4< z>X1N<(i@@s0ESBqt!K94HL)z5$6C|&rI?*B3Y~V%>@;@1CZ-5$bx!vbEN^P34N9*N zBCE*v|5C;yCs8BOIIl}oRrucj#C5apJ4F+FHw-O$R{Q;AqS*E`*N`6Fxy?ZvqWH*I z8cf`rfset~ZS)#4Jrnw34mUV6duuH*yPu_+?|61+-0h1J)|y67phkuV8dhb&Ac!)V zKlHxk!xRN$Y+h-`QV;m~m3t#^C`!Kz76W8E{2XfD=3eNNG>zIO#vByOPl%^NeTP1v zu1du;vpdx?$&!9!DTb@H1}Bthv1kAS?F9Ssca5tkVljEkokFktU090xf{xjq7}*^M zD8`|{20!Un){|{mbJb!zSIpu`Rmvs>lc(h(!=z4c{5Y+VvS(lAeRm99d<-ZQc)Gct zmKs6#DNK9xC822nAGSRaHnP~0v6UoVN&OOrXjmb!Kk=T_SrZJ9Xn@Vkm_8BJXgTB% znF;Y3qRDvi)S5wS!?Xv*wz}~e)KQAjd#Q)f<!-!m^D-W$cY8s6V!;#n$Pdx%Kk<YH zE$HtVCz2T{J;%#giidmi(3ZOKpf4hG+bu^JfGb0ZQ&O<<<V2iG!{*o9T^{K!w(;82 zn%7ICGALGpEEG#OlUXaCDH>}FC`qw7fudpy7nm;)gB7zX8|v$q@Nhmt`Cp1xNdS3m z%h;8-1?;SU>+u<|@1jaSbt3sYoW1O6`Ml=@%N3azm?Q?7Jn0q!By`M7@CF~H!!9d= zq?*F=riD#mx;j$9Or?Zhc?GDc<<xb9*%zjf2hDmPpn-OYBEqZ#7DwD0Idn6rSr?*N z^-OhK?+*05O&QM$;5>RR6^Mdk-RbN^aEc17z_KXMG4tN|!S13>Onp|=Y8}T5O3gX| zPOJfMPYGDvT<&>)>(3>nI6cXq+%<Bb)C#L?gX+euYT^p;C#aSB2p)jxbBoFYec@Ca z-Ou@)C~&y@TWnUj<dNK!@SssHalWYzYuTH~JS5{K$dXbWM}G?#t8}Gn5}~KgMJ~MM zSdyesPI&vgtr7&L`07}ee#jEJR{T}@w_K=Jg=C8p&DpPq@QBw@2$HMXt1UbMe}u`q zRgy}zH<nC2BYZgX^Ej8&O2u&;U%-^K&trDHvH`8+?4&fT))%MzL6NBvk;n_`(>*n^ z{&)OINW56C-2N25_cM;8RyNIu=5BD=yr&+g>#Y?m!K`yXqtOg4P=agN6GX;d`VB$M zlafjhq5iPinH0k%q+&S>lq<(4+kYl3&@q#<@7bH>Q_0g0l-vzG4v^?vL1y5`yl0@5 z^E43TGmyuFda7oDDU{I$`ZqG%cq#PiVq$Z>e5r81HL#4gRZIR)Wt-9(S)D*rkhc_> zzl>+vWReSFP7<V?zbey>H(Z|E)w_S$VDG^-s=zd}AGypxu&|72(^;5Hf9Se)QsnxH z1wJx=KMqjhO6&OE9HWL5f<9h!;V0ms`)Gv+=hD}3ipWW1Q`%kK+(ACsPe<yGRUh{E z8OEA}1y*XplIkA}udVPO=Nb!qb<nrZfMMFt-(L-DQ3I^&#oMpci=fgvtAZ<!2^@5o zT7MW&4;%ZYNK|rV#KwFYH`m=jR|D3{$Yb$qJ__Ubn<HFG#RL*3vTz#cdRHaOj5~nE z#C>OQfolifRyOhEzT?`HufxL+zyZvX8WKb#{FXQn!OzI))(XH1r4_*nUjaOZM`b(m zIa7nWzB`+E0g&s{+w3>(a+>;1Wdq96H0dnnH<Co+(L4@p2}=-_bL3hQc1l=dp5<%p z{J`sp0}z3kW3RbE8!Y6;ce+NcJeXNoDkhdTn88is1|W)HGXJIn5(kK^^PR29sI^G) z9{jn{e3`T21>jAD!qHB97uR0;6lUA5iS-1@XL|Dipo~3=7|fi!Us}KPG5GspVY**w zU4gk%3--X^z#arR^Ke`LtF^O#-0lQu(*9EY!aMEo^}oNiv>aI-%Vr#zfhMv5-SU|2 zNJW``e&rPCaB@udh7i|!EKmR!{m|kck&c|TNUEy7Oy@iQPvP4Ei|&#W&HjsPM<cPB zx&bDIfZ<B>=z5iQ11CAGM-OaRSsIYd4h5t%?YOYyORiJ*0QkndIW`3-@CoQdC~P8M z-;YXQ_nV#^_UWJ%)wRn<y#%M|y*mf!phti1HMs~<Wv@Xopt23)0D+^dWK9}?{N)`2 zm`TTJHrMV0tZ`Azu9OfK1wngW-CzGQSJQG3P`6so^sP-+Fm8@shAa5(>E086c3R0& z<xeFmfX^(rw9Xv_Ojo`$iJHZB#8T)Ft(-e0uoUq?7E3G)n-jTI#E~hIX2}4g>x2($ zIoMJIkPzTd?tWu&X^FnP=Cvf@eSsEBs^?Ih{vl$nv~icoJWi(U_erQ~RY(vs5zTec zvtR{P<?PUV`oIV@cFN`(khqdQ;eH{2qH#`vb@}`2PmBqJndKYWXqPq*rmP>W?9tq7 zuN+lap>@gN2Vi>g1ZcV2GkhB561kYqDIExpiAA6G|KwR2y7)EtiwG1j4$^0%fXXuy z9sQNU-@>pgjMf7gLkJxF$-?;ifOg<`tpOe4-kNB&FT3BOaIj!8*QrJ%qzZAPpgne{ zuX7zo*f`Q+!cy#-ghgm;m50BQ_cGfV=sO&iNDCKZ)c`{xdtwb+lQK?ei?xZKKCS6J zd#SareuXr)ggnn`6qdTAZs&}=Awmk@3hzUgXjCSMa8txMgOmWnS<h6-i520Lh0$pW zu8ZrGxgEt7&LO+#E6tatm8e<O);|Vz3i|9563Nm5xb0-M`~s^?Tk9*VR(A7t6Cy9h z^GevVS@M*AT)-}Sjss6dq0gUKI78;w$qwn&=XfV4zO?s}B+?{yTTj~z*_k=*>mSPI z-7RmpY^Fo;`xMKAs@J}B7f~o!B>ez4GF}(bC8V5nXQT_WRf*RSP>5dVKgyCmo0MlZ z&1mJ1-^nI8{9|KbS@Tmg)LHOjt&c<BeWTUQd+8WSdcw2Ra=}{r%TllkfpbA7Tu;{3 zFv%%pVCMB|q33lzpH@5#L`LbLbv;@lmN#o)pUWZ|%e%AmD|5!sfVUi$Jsmlg6|_=4 z@@jFg5ZZ^~<<4PN;(Ey=T@+wQX2u`@*hSi}{VwHd-<BfhBzk526PJ&Mizf6Mx8LC| zeayo-#OZ#y42l2%ZIkG9W?EwVr7L!K4z=x-R6ya62S%($>wM93dUsTKRJpwKR0U_3 z$nn*}&}sIH)K~(bB3{)@N3~d~+yA}<iY-W=Dd3Gw=l##yp;#q98haf9syg-GZv#qP z8qjWq_+O70Q^&Yfx5bSR94fzxQhJ{WFCKYC6ykY1Oo8KVF#4vd2m3%KHvhYX`u~32 cwt588bR>MGW0jPFt5DFb8`fr}*WKd&1<_0oX#fBK literal 0 HcmV?d00001 diff --git a/WapForStore/Images/Wide310x150Logo.scale-400.png b/WapForStore/Images/Wide310x150Logo.scale-400.png new file mode 100644 index 0000000000000000000000000000000000000000..8a5c9b8d611da1c8aba3c956e6140bfc30d5e733 GIT binary patch literal 12678 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 literal 0 HcmV?d00001 diff --git a/WapForStore/Package.StoreAssociation.xml b/WapForStore/Package.StoreAssociation.xml new file mode 100644 index 0000000..b30f0a7 --- /dev/null +++ b/WapForStore/Package.StoreAssociation.xml @@ -0,0 +1,371 @@ +<?xml version="1.0" encoding="utf-8"?> +<StoreAssociation xmlns="http://schemas.microsoft.com/appx/2010/storeassociation"> + <Publisher>CN=B2C5F2BD-A1AB-42BE-A228-02E6F800BE2A</Publisher> + <PublisherDisplayName>Studio Kyome</PublisherDisplayName> + <DeveloperAccountType>MSA</DeveloperAccountType> + <GeneratePackageHash>http://www.w3.org/2001/04/xmlenc#sha256</GeneratePackageHash> + <SupportedLocales> + <Language Code="af" InMinimumRequirementSet="true" /> + <Language Code="af-za" InMinimumRequirementSet="true" /> + <Language Code="am" InMinimumRequirementSet="true" /> + <Language Code="am-et" InMinimumRequirementSet="true" /> + <Language Code="ar" InMinimumRequirementSet="true" /> + <Language Code="ar-ae" InMinimumRequirementSet="true" /> + <Language Code="ar-bh" InMinimumRequirementSet="true" /> + <Language Code="ar-dz" InMinimumRequirementSet="true" /> + <Language Code="ar-eg" InMinimumRequirementSet="true" /> + <Language Code="ar-iq" InMinimumRequirementSet="true" /> + <Language Code="ar-jo" InMinimumRequirementSet="true" /> + <Language Code="ar-kw" InMinimumRequirementSet="true" /> + <Language Code="ar-lb" InMinimumRequirementSet="true" /> + <Language Code="ar-ly" InMinimumRequirementSet="true" /> + <Language Code="ar-ma" InMinimumRequirementSet="true" /> + <Language Code="ar-om" InMinimumRequirementSet="true" /> + <Language Code="ar-qa" InMinimumRequirementSet="true" /> + <Language Code="ar-sa" InMinimumRequirementSet="true" /> + <Language Code="ar-sy" InMinimumRequirementSet="true" /> + <Language Code="ar-tn" InMinimumRequirementSet="true" /> + <Language Code="ar-ye" InMinimumRequirementSet="true" /> + <Language Code="as" InMinimumRequirementSet="true" /> + <Language Code="as-in" InMinimumRequirementSet="true" /> + <Language Code="az" InMinimumRequirementSet="true" /> + <Language Code="az-arab" InMinimumRequirementSet="true" /> + <Language Code="az-arab-az" InMinimumRequirementSet="true" /> + <Language Code="az-cyrl" InMinimumRequirementSet="true" /> + <Language Code="az-cyrl-az" InMinimumRequirementSet="true" /> + <Language Code="az-latn" InMinimumRequirementSet="true" /> + <Language Code="az-latn-az" InMinimumRequirementSet="true" /> + <Language Code="be" InMinimumRequirementSet="true" /> + <Language Code="be-by" InMinimumRequirementSet="true" /> + <Language Code="bg" InMinimumRequirementSet="true" /> + <Language Code="bg-bg" InMinimumRequirementSet="true" /> + <Language Code="bn" InMinimumRequirementSet="true" /> + <Language Code="bn-bd" InMinimumRequirementSet="true" /> + <Language Code="bn-in" InMinimumRequirementSet="true" /> + <Language Code="bs" InMinimumRequirementSet="true" /> + <Language Code="bs-cyrl" InMinimumRequirementSet="true" /> + <Language Code="bs-cyrl-ba" InMinimumRequirementSet="true" /> + <Language Code="bs-latn" InMinimumRequirementSet="true" /> + <Language Code="bs-latn-ba" InMinimumRequirementSet="true" /> + <Language Code="ca" InMinimumRequirementSet="true" /> + <Language Code="ca-es" InMinimumRequirementSet="true" /> + <Language Code="ca-es-valencia" InMinimumRequirementSet="true" /> + <Language Code="chr-cher" InMinimumRequirementSet="true" /> + <Language Code="chr-cher-us" InMinimumRequirementSet="true" /> + <Language Code="chr-latn" InMinimumRequirementSet="true" /> + <Language Code="cs" InMinimumRequirementSet="true" /> + <Language Code="cs-cz" InMinimumRequirementSet="true" /> + <Language Code="cy" InMinimumRequirementSet="true" /> + <Language Code="cy-gb" InMinimumRequirementSet="true" /> + <Language Code="da" InMinimumRequirementSet="true" /> + <Language Code="da-dk" InMinimumRequirementSet="true" /> + <Language Code="de" InMinimumRequirementSet="true" /> + <Language Code="de-at" InMinimumRequirementSet="true" /> + <Language Code="de-ch" InMinimumRequirementSet="true" /> + <Language Code="de-de" InMinimumRequirementSet="true" /> + <Language Code="de-li" InMinimumRequirementSet="true" /> + <Language Code="de-lu" InMinimumRequirementSet="true" /> + <Language Code="el" InMinimumRequirementSet="true" /> + <Language Code="el-gr" InMinimumRequirementSet="true" /> + <Language Code="en" InMinimumRequirementSet="true" /> + <Language Code="en-011" InMinimumRequirementSet="true" /> + <Language Code="en-014" InMinimumRequirementSet="true" /> + <Language Code="en-018" InMinimumRequirementSet="true" /> + <Language Code="en-021" InMinimumRequirementSet="true" /> + <Language Code="en-029" InMinimumRequirementSet="true" /> + <Language Code="en-053" InMinimumRequirementSet="true" /> + <Language Code="en-au" InMinimumRequirementSet="true" /> + <Language Code="en-bz" InMinimumRequirementSet="true" /> + <Language Code="en-ca" InMinimumRequirementSet="true" /> + <Language Code="en-gb" InMinimumRequirementSet="true" /> + <Language Code="en-hk" InMinimumRequirementSet="true" /> + <Language Code="en-id" InMinimumRequirementSet="true" /> + <Language Code="en-ie" InMinimumRequirementSet="true" /> + <Language Code="en-in" InMinimumRequirementSet="true" /> + <Language Code="en-jm" InMinimumRequirementSet="true" /> + <Language Code="en-kz" InMinimumRequirementSet="true" /> + <Language Code="en-mt" InMinimumRequirementSet="true" /> + <Language Code="en-my" InMinimumRequirementSet="true" /> + <Language Code="en-nz" InMinimumRequirementSet="true" /> + <Language Code="en-ph" InMinimumRequirementSet="true" /> + <Language Code="en-pk" InMinimumRequirementSet="true" /> + <Language Code="en-sg" InMinimumRequirementSet="true" /> + <Language Code="en-tt" InMinimumRequirementSet="true" /> + <Language Code="en-us" InMinimumRequirementSet="true" /> + <Language Code="en-vn" InMinimumRequirementSet="true" /> + <Language Code="en-za" InMinimumRequirementSet="true" /> + <Language Code="en-zw" InMinimumRequirementSet="true" /> + <Language Code="es" InMinimumRequirementSet="true" /> + <Language Code="es-019" InMinimumRequirementSet="true" /> + <Language Code="es-419" InMinimumRequirementSet="true" /> + <Language Code="es-ar" InMinimumRequirementSet="true" /> + <Language Code="es-bo" InMinimumRequirementSet="true" /> + <Language Code="es-cl" InMinimumRequirementSet="true" /> + <Language Code="es-co" InMinimumRequirementSet="true" /> + <Language Code="es-cr" InMinimumRequirementSet="true" /> + <Language Code="es-do" InMinimumRequirementSet="true" /> + <Language Code="es-ec" InMinimumRequirementSet="true" /> + <Language Code="es-es" InMinimumRequirementSet="true" /> + <Language Code="es-gt" InMinimumRequirementSet="true" /> + <Language Code="es-hn" InMinimumRequirementSet="true" /> + <Language Code="es-mx" InMinimumRequirementSet="true" /> + <Language Code="es-ni" InMinimumRequirementSet="true" /> + <Language Code="es-pa" InMinimumRequirementSet="true" /> + <Language Code="es-pe" InMinimumRequirementSet="true" /> + <Language Code="es-pr" InMinimumRequirementSet="true" /> + <Language Code="es-py" InMinimumRequirementSet="true" /> + <Language Code="es-sv" InMinimumRequirementSet="true" /> + <Language Code="es-us" InMinimumRequirementSet="true" /> + <Language Code="es-uy" InMinimumRequirementSet="true" /> + <Language Code="es-ve" InMinimumRequirementSet="true" /> + <Language Code="et" InMinimumRequirementSet="true" /> + <Language Code="et-ee" InMinimumRequirementSet="true" /> + <Language Code="eu" InMinimumRequirementSet="true" /> + <Language Code="eu-es" InMinimumRequirementSet="true" /> + <Language Code="fa" InMinimumRequirementSet="true" /> + <Language Code="fa-ir" InMinimumRequirementSet="true" /> + <Language Code="fi" InMinimumRequirementSet="true" /> + <Language Code="fi-fi" InMinimumRequirementSet="true" /> + <Language Code="fil" InMinimumRequirementSet="true" /> + <Language Code="fil-latn" InMinimumRequirementSet="true" /> + <Language Code="fil-ph" InMinimumRequirementSet="true" /> + <Language Code="fr" InMinimumRequirementSet="true" /> + <Language Code="fr-011" InMinimumRequirementSet="true" /> + <Language Code="fr-015" InMinimumRequirementSet="true" /> + <Language Code="fr-021" InMinimumRequirementSet="true" /> + <Language Code="fr-029" InMinimumRequirementSet="true" /> + <Language Code="fr-155" InMinimumRequirementSet="true" /> + <Language Code="fr-be" InMinimumRequirementSet="true" /> + <Language Code="fr-ca" InMinimumRequirementSet="true" /> + <Language Code="fr-cd" InMinimumRequirementSet="true" /> + <Language Code="fr-ch" InMinimumRequirementSet="true" /> + <Language Code="fr-ci" InMinimumRequirementSet="true" /> + <Language Code="fr-cm" InMinimumRequirementSet="true" /> + <Language Code="fr-fr" InMinimumRequirementSet="true" /> + <Language Code="fr-ht" InMinimumRequirementSet="true" /> + <Language Code="fr-lu" InMinimumRequirementSet="true" /> + <Language Code="fr-ma" InMinimumRequirementSet="true" /> + <Language Code="fr-mc" InMinimumRequirementSet="true" /> + <Language Code="fr-ml" InMinimumRequirementSet="true" /> + <Language Code="fr-re" InMinimumRequirementSet="true" /> + <Language Code="frc-latn" InMinimumRequirementSet="true" /> + <Language Code="frp-latn" InMinimumRequirementSet="true" /> + <Language Code="ga" InMinimumRequirementSet="true" /> + <Language Code="ga-ie" InMinimumRequirementSet="true" /> + <Language Code="gd-gb" InMinimumRequirementSet="true" /> + <Language Code="gd-latn" InMinimumRequirementSet="true" /> + <Language Code="gl" InMinimumRequirementSet="true" /> + <Language Code="gl-es" InMinimumRequirementSet="true" /> + <Language Code="gu" InMinimumRequirementSet="true" /> + <Language Code="gu-in" InMinimumRequirementSet="true" /> + <Language Code="ha" InMinimumRequirementSet="true" /> + <Language Code="ha-latn" InMinimumRequirementSet="true" /> + <Language Code="ha-latn-ng" InMinimumRequirementSet="true" /> + <Language Code="he" InMinimumRequirementSet="true" /> + <Language Code="he-il" InMinimumRequirementSet="true" /> + <Language Code="hi" InMinimumRequirementSet="true" /> + <Language Code="hi-in" InMinimumRequirementSet="true" /> + <Language Code="hr" InMinimumRequirementSet="true" /> + <Language Code="hr-ba" InMinimumRequirementSet="true" /> + <Language Code="hr-hr" InMinimumRequirementSet="true" /> + <Language Code="hu" InMinimumRequirementSet="true" /> + <Language Code="hu-hu" InMinimumRequirementSet="true" /> + <Language Code="hy" InMinimumRequirementSet="true" /> + <Language Code="hy-am" InMinimumRequirementSet="true" /> + <Language Code="id" InMinimumRequirementSet="true" /> + <Language Code="id-id" InMinimumRequirementSet="true" /> + <Language Code="ig-latn" InMinimumRequirementSet="true" /> + <Language Code="ig-ng" InMinimumRequirementSet="true" /> + <Language Code="is" InMinimumRequirementSet="true" /> + <Language Code="is-is" InMinimumRequirementSet="true" /> + <Language Code="it" InMinimumRequirementSet="true" /> + <Language Code="it-ch" InMinimumRequirementSet="true" /> + <Language Code="it-it" InMinimumRequirementSet="true" /> + <Language Code="iu-cans" InMinimumRequirementSet="true" /> + <Language Code="iu-latn" InMinimumRequirementSet="true" /> + <Language Code="iu-latn-ca" InMinimumRequirementSet="true" /> + <Language Code="ja" InMinimumRequirementSet="true" /> + <Language Code="ja-jp" InMinimumRequirementSet="true" /> + <Language Code="ka" InMinimumRequirementSet="true" /> + <Language Code="ka-ge" InMinimumRequirementSet="true" /> + <Language Code="kk" InMinimumRequirementSet="true" /> + <Language Code="kk-kz" InMinimumRequirementSet="true" /> + <Language Code="km" InMinimumRequirementSet="true" /> + <Language Code="km-kh" InMinimumRequirementSet="true" /> + <Language Code="kn" InMinimumRequirementSet="true" /> + <Language Code="kn-in" InMinimumRequirementSet="true" /> + <Language Code="ko" InMinimumRequirementSet="true" /> + <Language Code="ko-kr" InMinimumRequirementSet="true" /> + <Language Code="kok" InMinimumRequirementSet="true" /> + <Language Code="kok-in" InMinimumRequirementSet="true" /> + <Language Code="ku-arab" InMinimumRequirementSet="true" /> + <Language Code="ku-arab-iq" InMinimumRequirementSet="true" /> + <Language Code="ky-cyrl" InMinimumRequirementSet="true" /> + <Language Code="ky-kg" InMinimumRequirementSet="true" /> + <Language Code="lb" InMinimumRequirementSet="true" /> + <Language Code="lb-lu" InMinimumRequirementSet="true" /> + <Language Code="lo" InMinimumRequirementSet="true" /> + <Language Code="lo-la" InMinimumRequirementSet="true" /> + <Language Code="lt" InMinimumRequirementSet="true" /> + <Language Code="lt-lt" InMinimumRequirementSet="true" /> + <Language Code="lv" InMinimumRequirementSet="true" /> + <Language Code="lv-lv" InMinimumRequirementSet="true" /> + <Language Code="mi" InMinimumRequirementSet="true" /> + <Language Code="mi-latn" InMinimumRequirementSet="true" /> + <Language Code="mi-nz" InMinimumRequirementSet="true" /> + <Language Code="mk" InMinimumRequirementSet="true" /> + <Language Code="mk-mk" InMinimumRequirementSet="true" /> + <Language Code="ml" InMinimumRequirementSet="true" /> + <Language Code="ml-in" InMinimumRequirementSet="true" /> + <Language Code="mn-cyrl" InMinimumRequirementSet="true" /> + <Language Code="mn-mn" InMinimumRequirementSet="true" /> + <Language Code="mn-mong" InMinimumRequirementSet="true" /> + <Language Code="mn-phag" InMinimumRequirementSet="true" /> + <Language Code="mr" InMinimumRequirementSet="true" /> + <Language Code="mr-in" InMinimumRequirementSet="true" /> + <Language Code="ms" InMinimumRequirementSet="true" /> + <Language Code="ms-bn" InMinimumRequirementSet="true" /> + <Language Code="ms-my" InMinimumRequirementSet="true" /> + <Language Code="mt" InMinimumRequirementSet="true" /> + <Language Code="mt-mt" InMinimumRequirementSet="true" /> + <Language Code="nb" InMinimumRequirementSet="true" /> + <Language Code="nb-no" InMinimumRequirementSet="true" /> + <Language Code="ne" InMinimumRequirementSet="true" /> + <Language Code="ne-np" InMinimumRequirementSet="true" /> + <Language Code="nl" InMinimumRequirementSet="true" /> + <Language Code="nl-be" InMinimumRequirementSet="true" /> + <Language Code="nl-nl" InMinimumRequirementSet="true" /> + <Language Code="nn" InMinimumRequirementSet="true" /> + <Language Code="nn-no" InMinimumRequirementSet="true" /> + <Language Code="no" InMinimumRequirementSet="true" /> + <Language Code="no-no" InMinimumRequirementSet="true" /> + <Language Code="nso" InMinimumRequirementSet="true" /> + <Language Code="nso-za" InMinimumRequirementSet="true" /> + <Language Code="om" InMinimumRequirementSet="false" /> + <Language Code="om-et" InMinimumRequirementSet="false" /> + <Language Code="or" InMinimumRequirementSet="true" /> + <Language Code="or-in" InMinimumRequirementSet="true" /> + <Language Code="pa" InMinimumRequirementSet="true" /> + <Language Code="pa-arab" InMinimumRequirementSet="true" /> + <Language Code="pa-arab-pk" InMinimumRequirementSet="true" /> + <Language Code="pa-deva" InMinimumRequirementSet="true" /> + <Language Code="pa-in" InMinimumRequirementSet="true" /> + <Language Code="pl" InMinimumRequirementSet="true" /> + <Language Code="pl-pl" InMinimumRequirementSet="true" /> + <Language Code="prs" InMinimumRequirementSet="true" /> + <Language Code="prs-af" InMinimumRequirementSet="true" /> + <Language Code="prs-arab" InMinimumRequirementSet="true" /> + <Language Code="pt" InMinimumRequirementSet="true" /> + <Language Code="pt-br" InMinimumRequirementSet="true" /> + <Language Code="pt-pt" InMinimumRequirementSet="true" /> + <Language Code="quc-latn" InMinimumRequirementSet="true" /> + <Language Code="qut-gt" InMinimumRequirementSet="true" /> + <Language Code="qut-latn" InMinimumRequirementSet="true" /> + <Language Code="quz" InMinimumRequirementSet="true" /> + <Language Code="quz-bo" InMinimumRequirementSet="true" /> + <Language Code="quz-ec" InMinimumRequirementSet="true" /> + <Language Code="quz-pe" InMinimumRequirementSet="true" /> + <Language Code="ro" InMinimumRequirementSet="true" /> + <Language Code="ro-ro" InMinimumRequirementSet="true" /> + <Language Code="ru" InMinimumRequirementSet="true" /> + <Language Code="ru-ru" InMinimumRequirementSet="true" /> + <Language Code="rw" InMinimumRequirementSet="true" /> + <Language Code="rw-rw" InMinimumRequirementSet="true" /> + <Language Code="sd-arab" InMinimumRequirementSet="true" /> + <Language Code="sd-arab-pk" InMinimumRequirementSet="true" /> + <Language Code="sd-deva" InMinimumRequirementSet="true" /> + <Language Code="si" InMinimumRequirementSet="true" /> + <Language Code="si-lk" InMinimumRequirementSet="true" /> + <Language Code="sk" InMinimumRequirementSet="true" /> + <Language Code="sk-sk" InMinimumRequirementSet="true" /> + <Language Code="sl" InMinimumRequirementSet="true" /> + <Language Code="sl-si" InMinimumRequirementSet="true" /> + <Language Code="sq" InMinimumRequirementSet="true" /> + <Language Code="sq-al" InMinimumRequirementSet="true" /> + <Language Code="sr" InMinimumRequirementSet="true" /> + <Language Code="sr-cyrl" InMinimumRequirementSet="true" /> + <Language Code="sr-cyrl-ba" InMinimumRequirementSet="true" /> + <Language Code="sr-cyrl-cs" InMinimumRequirementSet="true" /> + <Language Code="sr-cyrl-me" InMinimumRequirementSet="true" /> + <Language Code="sr-cyrl-rs" InMinimumRequirementSet="true" /> + <Language Code="sr-latn" InMinimumRequirementSet="true" /> + <Language Code="sr-latn-ba" InMinimumRequirementSet="true" /> + <Language Code="sr-latn-cs" InMinimumRequirementSet="true" /> + <Language Code="sr-latn-me" InMinimumRequirementSet="true" /> + <Language Code="sr-latn-rs" InMinimumRequirementSet="true" /> + <Language Code="sv" InMinimumRequirementSet="true" /> + <Language Code="sv-fi" InMinimumRequirementSet="true" /> + <Language Code="sv-se" InMinimumRequirementSet="true" /> + <Language Code="sw" InMinimumRequirementSet="true" /> + <Language Code="sw-ke" InMinimumRequirementSet="true" /> + <Language Code="ta" InMinimumRequirementSet="true" /> + <Language Code="ta-in" InMinimumRequirementSet="true" /> + <Language Code="te" InMinimumRequirementSet="true" /> + <Language Code="te-in" InMinimumRequirementSet="true" /> + <Language Code="tg-arab" InMinimumRequirementSet="true" /> + <Language Code="tg-cyrl" InMinimumRequirementSet="true" /> + <Language Code="tg-cyrl-tj" InMinimumRequirementSet="true" /> + <Language Code="tg-latn" InMinimumRequirementSet="true" /> + <Language Code="th" InMinimumRequirementSet="true" /> + <Language Code="th-th" InMinimumRequirementSet="true" /> + <Language Code="ti" InMinimumRequirementSet="true" /> + <Language Code="ti-et" InMinimumRequirementSet="true" /> + <Language Code="tk-cyrl" InMinimumRequirementSet="true" /> + <Language Code="tk-cyrl-tr" InMinimumRequirementSet="true" /> + <Language Code="tk-latn" InMinimumRequirementSet="true" /> + <Language Code="tk-latn-tr" InMinimumRequirementSet="true" /> + <Language Code="tk-tm" InMinimumRequirementSet="true" /> + <Language Code="tn" InMinimumRequirementSet="true" /> + <Language Code="tn-bw" InMinimumRequirementSet="true" /> + <Language Code="tn-za" InMinimumRequirementSet="true" /> + <Language Code="tr" InMinimumRequirementSet="true" /> + <Language Code="tr-tr" InMinimumRequirementSet="true" /> + <Language Code="tt-arab" InMinimumRequirementSet="true" /> + <Language Code="tt-cyrl" InMinimumRequirementSet="true" /> + <Language Code="tt-latn" InMinimumRequirementSet="true" /> + <Language Code="tt-ru" InMinimumRequirementSet="true" /> + <Language Code="ug-arab" InMinimumRequirementSet="true" /> + <Language Code="ug-cn" InMinimumRequirementSet="true" /> + <Language Code="ug-cyrl" InMinimumRequirementSet="true" /> + <Language Code="ug-latn" InMinimumRequirementSet="true" /> + <Language Code="uk" InMinimumRequirementSet="true" /> + <Language Code="uk-ua" InMinimumRequirementSet="true" /> + <Language Code="ur" InMinimumRequirementSet="true" /> + <Language Code="ur-pk" InMinimumRequirementSet="true" /> + <Language Code="uz" InMinimumRequirementSet="true" /> + <Language Code="uz-cyrl" InMinimumRequirementSet="true" /> + <Language Code="uz-latn" InMinimumRequirementSet="true" /> + <Language Code="uz-latn-uz" InMinimumRequirementSet="true" /> + <Language Code="vi" InMinimumRequirementSet="true" /> + <Language Code="vi-vn" InMinimumRequirementSet="true" /> + <Language Code="wo" InMinimumRequirementSet="true" /> + <Language Code="wo-sn" InMinimumRequirementSet="true" /> + <Language Code="xh" InMinimumRequirementSet="true" /> + <Language Code="xh-za" InMinimumRequirementSet="true" /> + <Language Code="yo-latn" InMinimumRequirementSet="true" /> + <Language Code="yo-ng" InMinimumRequirementSet="true" /> + <Language Code="zh" InMinimumRequirementSet="true" /> + <Language Code="zh-cn" InMinimumRequirementSet="true" /> + <Language Code="zh-hans" InMinimumRequirementSet="true" /> + <Language Code="zh-hans-cn" InMinimumRequirementSet="true" /> + <Language Code="zh-hans-sg" InMinimumRequirementSet="true" /> + <Language Code="zh-hant" InMinimumRequirementSet="true" /> + <Language Code="zh-hant-hk" InMinimumRequirementSet="true" /> + <Language Code="zh-hant-mo" InMinimumRequirementSet="true" /> + <Language Code="zh-hant-tw" InMinimumRequirementSet="true" /> + <Language Code="zh-hk" InMinimumRequirementSet="true" /> + <Language Code="zh-mo" InMinimumRequirementSet="true" /> + <Language Code="zh-sg" InMinimumRequirementSet="true" /> + <Language Code="zh-tw" InMinimumRequirementSet="true" /> + <Language Code="zu" InMinimumRequirementSet="true" /> + <Language Code="zu-za" InMinimumRequirementSet="true" /> + </SupportedLocales> + <ProductReservedInfo> + <MainPackageIdentityName>StudioKyome.RunCat</MainPackageIdentityName> + <ReservedNames> + <ReservedName>RunCat 365</ReservedName> + </ReservedNames> + </ProductReservedInfo> + <AccountPackageIdentityNames /> + <PackageInfoList LandingUrl="https://devcenterapi.dce.mp.microsoft.com/dashboard/Application?appId=9NW5LPNVWFWJ" /> +</StoreAssociation> \ No newline at end of file diff --git a/WapForStore/Package.appxmanifest b/WapForStore/Package.appxmanifest new file mode 100644 index 0000000..d454db0 --- /dev/null +++ b/WapForStore/Package.appxmanifest @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="utf-8"?> + +<Package + xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" + xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" + xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5" + xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10" + xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" + IgnorableNamespaces="uap uap5 desktop rescap"> + + <Identity + Name="StudioKyome.RunCat" + Publisher="CN=B2C5F2BD-A1AB-42BE-A228-02E6F800BE2A" + Version="3.6.0.0" /> + + <Properties> + <DisplayName>RunCat 365</DisplayName> + <PublisherDisplayName>Studio Kyome</PublisherDisplayName> + <Logo>Images\StoreLogo.png</Logo> + </Properties> + + <Dependencies> + <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" /> + <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14393.0" MaxVersionTested="10.0.14393.0" /> + </Dependencies> + + <Resources> + <Resource Language="x-generate"/> + </Resources> + + <Applications> + <Application Id="App" + Executable="$targetnametoken$.exe" + EntryPoint="$targetentrypoint$"> + <uap:VisualElements + DisplayName="RunCat 365" + Description="A cute running cat animation on your taskbar. The cat tells you the CPU usage by running speed." + BackgroundColor="transparent" + Square150x150Logo="Images\Square150x150Logo.png" + Square44x44Logo="Images\Square44x44Logo.png"> + <uap:DefaultTile Wide310x150Logo="Images\Wide310x150Logo.png" Square71x71Logo="Images\SmallTile.png" Square310x310Logo="Images\LargeTile.png"/> + <uap:SplashScreen Image="Images\SplashScreen.png" /> + </uap:VisualElements> + <Extensions> + <uap5:Extension + Category="windows.startupTask"> + <uap5:StartupTask + TaskId="RunCatStartup" + DisplayName="RunCat 365"/> + </uap5:Extension> + <desktop:Extension + Category="windows.fullTrustProcess" /> + </Extensions> + </Application> + </Applications> + + <Capabilities> + <rescap:Capability Name="runFullTrust" /> + <Capability Name="internetClient"/> + </Capabilities> +</Package> diff --git a/WapForStore/PackageIcon.png b/WapForStore/PackageIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..fd3182d402cc8a6e1ef769e25cdf7150ccfc04aa GIT binary patch literal 8515 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 literal 0 HcmV?d00001 diff --git a/WapForStore/WapForStore.wapproj b/WapForStore/WapForStore.wapproj new file mode 100644 index 0000000..6ec6204 --- /dev/null +++ b/WapForStore/WapForStore.wapproj @@ -0,0 +1,142 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' < '15.0'"> + <VisualStudioVersion>15.0</VisualStudioVersion> + </PropertyGroup> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|x86"> + <Configuration>Debug</Configuration> + <Platform>x86</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x86"> + <Configuration>Release</Configuration> + <Platform>x86</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|ARM64"> + <Configuration>Debug</Configuration> + <Platform>ARM64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|ARM64"> + <Configuration>Release</Configuration> + <Platform>ARM64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup> + <WapProjPath Condition="'$(WapProjPath)'==''">$(MSBuildExtensionsPath)\Microsoft\DesktopBridge\</WapProjPath> + </PropertyGroup> + <Import Project="$(WapProjPath)\Microsoft.DesktopBridge.props" /> + <PropertyGroup> + <ProjectGuid>5b865d12-1a70-4311-8eba-010e117fe616</ProjectGuid> + <TargetPlatformVersion>10.0.26100.0</TargetPlatformVersion> + <TargetPlatformMinVersion>10.0.19041.0</TargetPlatformMinVersion> + <DefaultLanguage>ja-JP</DefaultLanguage> + <AppxPackageSigningEnabled>false</AppxPackageSigningEnabled> + <NoWarn>$(NoWarn);NU1702</NoWarn> + <EntryPointProjectUniqueName>..\RunCat365\RunCat365.csproj</EntryPointProjectUniqueName> + <GenerateTemporaryStoreCertificate>True</GenerateTemporaryStoreCertificate> + <GenerateAppInstallerFile>False</GenerateAppInstallerFile> + <AppxPackageSigningTimestampDigestAlgorithm>SHA256</AppxPackageSigningTimestampDigestAlgorithm> + <AppxAutoIncrementPackageRevision>False</AppxAutoIncrementPackageRevision> + <GenerateTestArtifacts>True</GenerateTestArtifacts> + <AppxBundlePlatforms>x86|x64|arm64</AppxBundlePlatforms> + <HoursBetweenUpdateChecks>0</HoursBetweenUpdateChecks> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'"> + <DefaultLanguage>en-US</DefaultLanguage> + <AppxBundle>Always</AppxBundle> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x86'"> + <DefaultLanguage>en-US</DefaultLanguage> + <AppxBundle>Always</AppxBundle> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'"> + <DefaultLanguage>en-US</DefaultLanguage> + <AppxBundle>Always</AppxBundle> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'"> + <DefaultLanguage>en-US</DefaultLanguage> + <AppxBundle>Always</AppxBundle> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <DefaultLanguage>en-US</DefaultLanguage> + <AppxBundle>Always</AppxBundle> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <DefaultLanguage>en-US</DefaultLanguage> + <AppxBundle>Always</AppxBundle> + </PropertyGroup> + <ItemGroup> + <AppxManifest Include="Package.appxmanifest"> + <SubType>Designer</SubType> + </AppxManifest> + </ItemGroup> + <ItemGroup> + <Content Include="Images\LargeTile.scale-100.png" /> + <Content Include="Images\LargeTile.scale-125.png" /> + <Content Include="Images\LargeTile.scale-150.png" /> + <Content Include="Images\LargeTile.scale-200.png" /> + <Content Include="Images\LargeTile.scale-400.png" /> + <Content Include="Images\SmallTile.scale-100.png" /> + <Content Include="Images\SmallTile.scale-125.png" /> + <Content Include="Images\SmallTile.scale-150.png" /> + <Content Include="Images\SmallTile.scale-200.png" /> + <Content Include="Images\SmallTile.scale-400.png" /> + <Content Include="Images\SplashScreen.scale-100.png" /> + <Content Include="Images\SplashScreen.scale-125.png" /> + <Content Include="Images\SplashScreen.scale-150.png" /> + <Content Include="Images\SplashScreen.scale-200.png" /> + <Content Include="Images\LockScreenLogo.scale-200.png" /> + <Content Include="Images\SplashScreen.scale-400.png" /> + <Content Include="Images\Square150x150Logo.scale-100.png" /> + <Content Include="Images\Square150x150Logo.scale-125.png" /> + <Content Include="Images\Square150x150Logo.scale-150.png" /> + <Content Include="Images\Square150x150Logo.scale-200.png" /> + <Content Include="Images\Square150x150Logo.scale-400.png" /> + <Content Include="Images\Square44x44Logo.altform-lightunplated_targetsize-16.png" /> + <Content Include="Images\Square44x44Logo.altform-lightunplated_targetsize-24.png" /> + <Content Include="Images\Square44x44Logo.altform-lightunplated_targetsize-256.png" /> + <Content Include="Images\Square44x44Logo.altform-lightunplated_targetsize-32.png" /> + <Content Include="Images\Square44x44Logo.altform-lightunplated_targetsize-48.png" /> + <Content Include="Images\Square44x44Logo.altform-unplated_targetsize-16.png" /> + <Content Include="Images\Square44x44Logo.altform-unplated_targetsize-256.png" /> + <Content Include="Images\Square44x44Logo.altform-unplated_targetsize-32.png" /> + <Content Include="Images\Square44x44Logo.altform-unplated_targetsize-48.png" /> + <Content Include="Images\Square44x44Logo.scale-100.png" /> + <Content Include="Images\Square44x44Logo.scale-125.png" /> + <Content Include="Images\Square44x44Logo.scale-150.png" /> + <Content Include="Images\Square44x44Logo.scale-200.png" /> + <Content Include="Images\Square44x44Logo.scale-400.png" /> + <Content Include="Images\Square44x44Logo.targetsize-16.png" /> + <Content Include="Images\Square44x44Logo.targetsize-24.png" /> + <Content Include="Images\Square44x44Logo.targetsize-24_altform-unplated.png" /> + <Content Include="Images\Square44x44Logo.targetsize-256.png" /> + <Content Include="Images\Square44x44Logo.targetsize-32.png" /> + <Content Include="Images\Square44x44Logo.targetsize-48.png" /> + <Content Include="Images\StoreLogo.scale-100.png" /> + <Content Include="Images\StoreLogo.scale-125.png" /> + <Content Include="Images\StoreLogo.scale-150.png" /> + <Content Include="Images\StoreLogo.scale-200.png" /> + <Content Include="Images\StoreLogo.scale-400.png" /> + <Content Include="Images\Wide310x150Logo.scale-100.png" /> + <Content Include="Images\Wide310x150Logo.scale-125.png" /> + <Content Include="Images\Wide310x150Logo.scale-150.png" /> + <Content Include="Images\Wide310x150Logo.scale-200.png" /> + <Content Include="Images\Wide310x150Logo.scale-400.png" /> + <None Include="Package.StoreAssociation.xml" /> + </ItemGroup> + <Import Project="$(WapProjPath)\Microsoft.DesktopBridge.targets" /> + <ItemGroup> + <PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26100.1742" PrivateAssets="all" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\RunCat365\RunCat365.csproj" /> + </ItemGroup> +</Project> \ No newline at end of file diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..04bbf8d --- /dev/null +++ b/docs/README.md @@ -0,0 +1,62 @@ +# RunCat 365 — GitHub Pages + +The project website published at <https://runcat-dev.github.io/RunCat365/>. + +It is a static site rendered in the browser by [lobster.js](https://hacknock.github.io/lobsterjs/), a Markdown parser loaded from a CDN. There is no build step, bundler, or dependency to install — editing a Markdown file and pushing is all it takes to update the page. + +## Files + +| File | Role | +| :--- | :--- | +| `index.html` | Loader shell for the landing page. Picks the content file by language and hands it to lobster.js. | +| `privacy_policy.html` | Loader shell for the privacy policy. Same mechanism as `index.html`. | +| `content.md` / `content.ja.md` | Landing page content (English / Japanese). | +| `privacy_policy.md` / `privacy_policy.ja.md` | Privacy policy content (English / Japanese). | +| `style.css` | Shared stylesheet targeting lobster.js `lbs-*` classes. | +| `images/` | Screenshots, demo GIF, Microsoft Store badge, and Open Graph thumbnail. | + +The two `.html` files are thin loaders — almost all content lives in the `.md` files. + +## Editing content + +Edit the relevant `.md` file directly. lobster.js renders Markdown plus a few block extensions: + +- `:::header` … `:::` — page title block +- `:::footer` … `:::` — footer block (links, language switcher, copyright) +- `:::warp <name>` … `:::` — a column referenced from a silent table (`~ | [~name] | …`); used for the feature cards and the two-column "What you can monitor" layout +- `:::details <summary>` … `:::` — collapsible FAQ entry +- `![alt](path =600x)` — image with an explicit width + +Any text change is reflected on the next page load — no rebuild required. Keep the English and Japanese files in sync when you change wording or structure. + +## Language switching + +The language is chosen by the `?lang` query parameter, read in the `<script>` of each `.html` loader: + +- no parameter (or anything other than `ja`) → English (`content.md`) +- `?lang=ja` → Japanese (`content.ja.md`) + +The footer of each page links between the two. To add a new language: + +1. Create `content.<lang>.md` (and `privacy_policy.<lang>.md`). +2. Extend the language-selection logic in `index.html` and `privacy_policy.html` to map the new `?lang` value to that file. +3. Add a link to the new language in every footer block. + +## Styling + +`style.css` targets the `lbs-*` class names that lobster.js emits (`.lbs-heading-1`, `.lbs-paragraph`, `.lbs-table-silent`, `.lbs-details`, `.lbs-footer`, …). The privacy policy page carries a `privacy-policy` body class so its title can be styled smaller than the landing-page hero. + +## Previewing locally + +lobster.js fetches the Markdown and its own module over HTTP, so opening the files with `file://` will not work. Serve the directory and open it over `http://`: + +```sh +cd docs +python3 -m http.server 8000 +# then open http://localhost:8000/index.html +# Japanese: http://localhost:8000/index.html?lang=ja +``` + +## Deployment + +The site is served by GitHub Pages from this `docs/` directory on the default branch. Pushing changes here updates the live site; there is nothing to build or deploy manually. diff --git a/docs/content.ja.md b/docs/content.ja.md new file mode 100644 index 0000000..69ed1a9 --- /dev/null +++ b/docs/content.ja.md @@ -0,0 +1,96 @@ +:::header + +# RunCat 365 + +タスクバーでネコ飼ってみませんか? +::: + +ネコの走る速さでデバイスの CPU 負荷がわかります。 +タスクバーをちらっと見るだけで十分です。 + +![RunCat 365 デモ](./images/demo.gif =600x) + +[![Microsoft Store からダウンロード](./images/download_from_microsoft_store_ja.svg)](https://apps.microsoft.com/detail/9nw5lpnvwfwj) + +Microsoft Store で配信中 · [GitHub で見る](https://github.com/runcat-dev/RunCat365) + +## 特長 + +~ | [~load] | [~metrics] | [~custom] | +~ | :--- | :--- | :--- | + +:::warp load + +### ひと目で負荷がわかる + +CPU が忙しくなるほどネコは速く走り、落ち着いているときはゆっくり歩きます。数字を読む必要はありません。走る姿を眺めるだけです。 +::: + +:::warp metrics + +### 豊富なシステムメトリクス + +CPU、GPU、メモリ、温度、ストレージ、ネットワーク。気になる情報をすべてタスクバーから見守れます。 +::: + +:::warp custom + +### 生活に癒しと息抜きを + +作業の合間にふと目に映るだけでちょっとした癒しを提供します。内蔵のミニゲームでひと休みすることもできます。 +::: + +## モニタリングできる項目 + +~ | [~monitor-shot] | [~monitor-list] | +~ | :--- | :--- | + +:::warp monitor-shot +![メトリクスの一覧](./images/overview.png) +::: + +:::warp monitor-list +タスクバーをちらっと見るだけで、気になるメトリクスを確認できます。 + +- CPU 使用率 +- GPU 使用率 +- メモリパフォーマンス +- マシンの温度 +- ストレージ容量 +- ネットワーク速度 + +::: + +## カスタムランナー + +ネコが好みでなくても大丈夫。自分でキーフレームアニメーションを用意すれば自作のランナーを走らせられます。 + +![カスタムランナー](./images/custom_runner.png) + +## ちょっとしたゲーム + +ひと休みしたいときは、スペースキーだけで遊べるシンプルなエンドレスゲームをどうぞ。 + +![エンドレスゲーム](./images/endless_game.png) + +## よくある質問 + +:::details 対応している言語は? +RunCat 365 は 7 つの言語に対応しています。英語、日本語、中国語(簡体字・繁体字)、フランス語、ドイツ語、スペイン語。 +::: + +:::details macOS 版の RunCat と同じもの? +いいえ。RunCat 365 は Windows 版で、Windows Forms で作られ、Microsoft Store で配信されています。RunCat の精神を受け継いでいますが、別のアプリです。 +::: + +:::details バグ報告や機能リクエストはどこで? +[GitHub リポジトリ](https://github.com/runcat-dev/RunCat365)でテンプレートに従って Issue を作成してください。開発者同士の議論には、[RunCat Developers コミュニティ](https://runcat-dev.github.io)をご利用ください。 +::: + +:::footer +[プライバシーポリシー](./privacy_policy.html?lang=ja) · [GitHub](https://github.com/runcat-dev/RunCat365) · [RunCat Developers](https://runcat-dev.github.io) + +[English](./) · **日本語** + +© 2022 Takuto Nakamura (Kyome22) +::: diff --git a/docs/content.md b/docs/content.md new file mode 100644 index 0000000..569be22 --- /dev/null +++ b/docs/content.md @@ -0,0 +1,95 @@ +:::header + +# RunCat 365 + +Cat living in the taskbar. +::: + +The cat's running speed shows you the CPU load of your device — one glance at the taskbar is all it takes. + +![RunCat 365 demo](./images/demo.gif =600x) + +[![Download from Microsoft Store](./images/download_from_microsoft_store_en.svg)](https://apps.microsoft.com/detail/9nw5lpnvwfwj) + +Available on the Microsoft Store · [View on GitHub](https://github.com/runcat-dev/RunCat365) + +## Features + +~ | [~load] | [~metrics] | [~comfort] | +~ | :--- | :--- | :--- | + +:::warp load + +### Load at a glance + +The cat speeds up as your CPU gets busier and slows to a stroll when things are calm. No numbers to read — just watch it run. +::: + +:::warp metrics + +### Rich system metrics + +CPU, GPU, memory, temperature, storage, and network — keep an eye on everything that matters right from the taskbar. +::: + +:::warp comfort + +### A little comfort in your day + +Just catching sight of it between tasks brings a small moment of calm. You can also take a breather with the built-in mini-game. +::: + +## What you can monitor + +~ | [~monitor-shot] | [~monitor-list] | +~ | :--- | :--- | + +:::warp monitor-shot +![Overview of metrics](./images/overview.png) +::: + +:::warp monitor-list +A glance at the taskbar shows you the metrics you care about: + +- CPU usage +- GPU usage +- Memory performance +- Machine temperature +- Storage capacity +- Network speed + +::: + +## Custom runners + +Not a cat person? No problem. Prepare your own keyframe animation and run a runner of your own making. + +![Custom runner](./images/custom_runner.png) + +## A little game + +When you need a break, play a simple endless game controlled with nothing but the space bar. + +![Endless game](./images/endless_game.png) + +## FAQ + +:::details What languages are supported? +RunCat 365 speaks seven languages: English, Japanese, Chinese (Simplified and Traditional), French, German, and Spanish. +::: + +:::details Is this the same as the original RunCat for macOS? +No. RunCat 365 is the Windows edition, built with Windows Forms and distributed via the Microsoft Store. It shares the spirit of RunCat but is a separate app. +::: + +:::details Where do I report a bug or request a feature? +Open an Issue on the [GitHub repository](https://github.com/runcat-dev/RunCat365) following the template. For contributor discussion, the [RunCat Developers community](https://runcat-dev.github.io) is the place to be. +::: + +:::footer +[Privacy Policy](./privacy_policy.html) · [GitHub](https://github.com/runcat-dev/RunCat365) · [RunCat Developers](https://runcat-dev.github.io) + +**English** · [日本語](./?lang=ja) + +© 2022 Takuto Nakamura (Kyome22) +::: diff --git a/docs/images/app_icon.png b/docs/images/app_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2a49c8622f0760074d709e0ae596709f69e5bb70 GIT binary patch literal 3569 zcmW+(2{_bU7r!$`B+C#J*~bzRLSsVK5h+5}$WF3GFD53YEZHI=+t@=?_9f=Elq}h0 zdu<JdvKEas<ooyC=ef&s&bjxVdw%zvdv3Imp)L#4StbAg%QZcm3Dgt+R>l)h+otBw z19d0w>sdVj;1tK-3i~n>atH|*T*GOa;z{cy15e&jROhib*?y?x7bhnBA7djg28^ih z3c=Iyv<6qlY)vLo^8mfFkRqh1jw&w{meGr<(;t!1ClN<X;B(h<mHiuUxMO_v)}EIs zQ%%vCl@vH0bt`YTYSS89$2X-Q5Zc?Dbw4zz5dW<|%PHsh$}UM|{Gz5<BbjUsu&{r@ z?BEWCb1@v|3CA-E{aaI0Q`TW{V|(o_nLKrBmIc@XmhH97C!9nfVnbnJp?#C`J1a0V zGs6PZz<rMNL_^~o17HVx-&|9ZTv}L=ffyVeU1Zo$TXGwZ<s|YZ>V2~FVlX?I`{qs0 z$ywA=)VT-)5SFMXYO@@{^_Thv*2*m}oTDW$4zr2Jp<{~a+u=(qE6Rvj8RE<C^?bK3 zWn#0QXjRFpN;K>rfB#y52g>8T5uCt6lta>5`6U<dZ+0*ig<HY?2?#Lx&YQ^z#(({) zdc`P8KR7Y*kg;_jw_izF61?l_>B%fK{2}RIQC(dPOAk*_rtB$#_vH0qv_2C^H%V|k zAU{Pp6K>;%IH8%#IM=VmYic&ow7Ek%9d@BCL&}$4zL=uqU+Z5FmH7GjL!7f0j04WG zFt7<Io_vDr7w9s8L1Y#X0y8-5_FEZ|d_Uuz*5?XZj}CS>KcCB4@=S3w0onV@#W^M# zwg@bKV^$r;H`*h0$(KB{u}@f9U8Mt_o}Q+o38U`qsdgdJ+1Ube%+*x9eEQo)yJruX zT92!Y?d`rszi3P=Kzn(4ar5){JsVl8be4~<t*wpu?MI%0NGYlm3MJuS_os!|n+_6U zmZ9!NYkWMbY`{dpo%*R~1M0_wr?hI4vVZA(^8$$tpkiHgO@&C>Q)&Z@&@o%`%CBq} zlG-LGC-s>MGMax?T1v-ECTfg*pO7ESG%T*<wJmS{U5b8MTUR&su3Q?@qcJq3P}b8T zIGB%B_f){OZ$7oRH-~fuCB3bG9HuMWU2#B_C}R2IUtal7Y^s(g^26vG3$FUq(;9WM zbbZUC^V4Cy&5zn{rLCuGdp9=+ZM*9{a=GW>@n-LA)<Xxj0L>lB@Nigmc6Llz;@O#_ zqob;L8*A&Zak2;MIvY<2(|;|Yp*qpG)gp{r9V@%~4`?(R_R(*}q|eS~yCTT%&FgW4 z6?=r{((mq(4$qJG7dg6WYcCNFH#=Pp6eo8jYXw`85KLRUyFGR6I_&Cy_M9e~32Hgc zjuJ6w8M|guu<WQzqF!<n+db~vz{yE$7rPMENyV?etKXOjq<pSZ$n1mAOZwijHy_LI zV5bkRlFsg=_-Kg-kndouVmqmSwZR!Ddp`Kq%cJ`67Y;+cDgHtSE>$0CFUou#G_YGQ z5nj4nue&whg;!-I&p?il$UB!}&L`^BC2Hio6`LPL`#wNTQ2*1#|7KC)TWVUqgrk?2 zfxM$A$H@$YyQUcJ(sTA3SM0g325j+OWRN3)wE*%fZKq0Z*SmLP<6CwnJ=`;0ESb*{ z{RLzXOk>HlVKvepAn>r=YaV9_L(40>Iw7nX8za&)CpQ@(Ky+$5Di!&Ae4yDGsu z((uPb2LVwYeW0zao%Fq^xHvX`pP<%vHB>Et%ugZEo(XriUkUQLVf1^lCA4M1Mj*D` zj|aaqN}-f{U@@6}j0kvzrF3Ixpr33T4m99o)Hi8()wGO^FN#~&Kgcl`6%|FrBgDxw zhJ?9pIp!ZTWD7rAE*<va;o*iA;->}+P90`8HW7h@RWE(^NF<T+Q;8s%dPDr8oSYC@ z@g2jbQ$!c5X>#CAABAoXXm2ydo+>eV-q?0IRn@n(_o~)htj5ag+5JdYf>D@EgW5mZ zc}U1I>`W0AwY6rWO@|@s;^N|da0u44oSdh9uG&scPGxs?(s2$ArRR$3>M)KXpiPc3 zLaVfQHD6+Wy5WINzr7WTN~Ok}R%)T-RQm=6DF@y`Cqk-q?(N|dj|38)rZv&wEMRnW zbfsec`~3rd_+#5=cMmRNFhy=<@$HV#YCztw?+i;%)dpUbTToE8vH$1p_;>9Qm?M3w zT%5Z<L4vdUGKIQnZ*MOY*zaB6w&<5)V=1*T<<m0bdq-Hh2hGXE6@Bf;!^kn@d2mTL zw3$jWygT%eJd@2k;TPUEH%;*qvn_eBpFeyWP2XDecCE_i-GT~EY9uyaBJ(X*|6JkK zAal3E-@eLONxWt?;d-#wmvvFf1tWS1R|~*`(nGa}znnV{aOlT*dBWjZ!r^TW%q%R6 z=<pG7c8&lPd%cJo9&fq5fALsBx4<~=*|WtJnvq0!Nl8i7Bg=PV=+0lNc76r!!NI|w z)h4H=0&nOBX^doR6c3mD*19I?8=;k#l$dK16`-7@@(W15(%0wU&~z*UnSFImKbt0Z zr5M`eT=*CK8oGC=n|RR|Rvg*ZNMVQ_xx9R@uNf)E^F9e9kf1C7FC7m<j(TV_daCAX zAdH!r**+k^e0a#H-xosLHyxv<W?Lou(&ZADe{I@rYis|{@M>C9#_FM8RDM)tWo7>5 zY4=)3N5}kmjthLO)DK|{NFDa|_4TSeb-|`k6L0r>_l9l&OeTv!0)tFyY}8rqE>qaV zmqAYqb$i@yeC=yA4(?rVU44+El_J&ZTK(98yF&WZOBaXwDHrXs?3()eRaf2tTH~}* z&ZELQ6ASIJWzNOt8<zhii+hPJ$%ap@j~!K3{4i^^OL0>yCDULZ&Ed!T2sjKKqNguH zWW^N>P1Bug%7YI+_82c)_R?aN0?$q&;JD;aD>trO;UTx0`D4>Ej3V3(F+jup`RQ<* z-VF@U@ZYlnqYliF8Y09MT!FD;7TX|WuGC`<@Z!abpiJRYTtub~)r6rT<NT^elCQyv z9y+mgVd0f<NN+|2Q!XpSOHb#~zN~hNOCtq}G}1CMj^5t=$UIvnDG;%t$`(&;rKzIM zoQcLKS+KnZ&S{yMZN0s5dAj(^OC}Y}x(Na^mqhL`H6leHOT@UjyMLKt9?fIVWmZs7 zNF$L%1H{VBUjt4dD9YYx3~z7OX)-8LF$G)|@83sVPnB6Ob<=o2WWsN@pV>UxrBJ&P zMS?O-l-v-nlOVNh8vJy86x<`3a!+96+m@Cju<^rF$)$Pl*X+iezKh*ly?uSlUixN6 zu#xEUmOqovZ^5}V_~)>!VPRpBr5tWtM!Ff9nVW5F>bVUKRz9~lwMB?b&~^CmK~r1w zsUrL}<nQnOS5g1kmVYfuj<^a^_BYzt*qKjkW3)M>01Gzc5L-D6%YrM;?yOIJQoD`8 zA&>}IY;3HhrDYethr9d7L=oM=sVR@BP=hvKzIZ|PvU(mJ<OSmBs2L(mbK-Kc1NYX> z&OG#lhy^6O2wxNwG67IR^!_1D+}y(Ad}IIWHpc~oCUT?ueEE`B2Wu1uQHT-Zx*8NL zv_7W8AFS73l$STr?OExh4XBsbpHvaj0^9cq!hL;xdt1Xdqped!3_znf?1|9qe0wZ@ ze=&7cP05e%sZ(eCTz{5||9U-2D(g#)Mk-^gFW-;ph5{=soW3G9V2#^%6_#;QgHuOZ zT3U#k+0n&CC)OG@w;kj=_mTcicSr0QSq=*rkUAx_x|Nc`1xX<{)1c$T#l_8jiawn& zeG`cw>`dHM8I#ldm~2=q2=0%4iI#}LZ!NLoj1ir_e+St3Fd@e6N)!5wjEwuxx{xi# z-VN-24fg3|(?@6yUYL{=_0%sOt_O!r8#kKgtU6KIrxB0c&Yk}-ci-OG8NvFr;9Ik8 z(6U&;Bf<Jz78aH(Hg<OB(5kB+y1SXo&CT6W@MZR!Po4%JAJPVny}i7Sw0*8`T}2`w z>%T24%ZH-W{OG6X=#%sE1bQ1en8t$#v{0b9<jHJ|<zvM+*=}ubr+D@FlJWz>6X&r% ze1c)KQ0nG=Vlcm26DQ25Rp!ZsfDNb}NVD=`jYi_BSQ6G3Zf$L?Y-x3xa`bz({DC;A znDDd(f&Q2%e0K1U%TNw9t^5Q+F?hVf&RTGQrg>{8tIzd-zE${WEzhk>e1J9pRC4GE zg)c60u7BQFwgcm^S2gt!`4=Uf2`oZ4f$Bgpm>z6H#}rNfw{r=!n&Mx6gOf9+r*jII zD4z<4mo)*KqC#}OSXczZ4oYBey`F;Mg$nq`-H}7*d|4-Tv*cr#iOLfhI!lXjftbj* zBGh4Yj2}_j{LMC!n4_5*^~{h-!$VboBJFSDcXM`!US{yiVAm_~{uPO>3-?#9)+KnD z@fo56?INFUvx&C}kdi$Q0QA6L=rTQFis%rcZ>_DYG{z*{s<}WQ7nl!z8f1J+=Vmrf z$i?wUwEt{5&UW|oJUl}z*0_!{X<)U#@8m?K=*t=@(sMdiT9SbG<1+4~kK*$2Y!*Qd zX7DbEcnH2S^s#KA>1R7SIwD&pS>2%zm8JB{6F~6Q@bZgXcFpq`1My)CQ0C+5IbvEg zE=?q`3aYKqZ=3+KZl<r5B!MP)kN`R1)XlgRssA&lpY*aB+G>c)V@DguWyIoor~e=| h_BN@VrKa}B3<4-;e=eE4tI!_~T+=bcm1)^O`5(!OmfHXT literal 0 HcmV?d00001 diff --git a/docs/images/custom_runner.png b/docs/images/custom_runner.png new file mode 100644 index 0000000000000000000000000000000000000000..9964085f4a4fe0b0c0e931544b9d7732bf297944 GIT binary patch literal 15000 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 literal 0 HcmV?d00001 diff --git a/docs/images/demo.gif b/docs/images/demo.gif new file mode 100644 index 0000000000000000000000000000000000000000..4baf38d5078aa24a58f0e5d500156bf2f2a1e0ab GIT binary patch literal 8934 zcmYkiRag{`6YsrCcS>&19fBYrASm4((%l_W(%s$N&9c-kEgegPbV~_R2C2gP`@iSn zoVlE5o|*YPGjsJFc||!9VT%uF6MzxG|BQ}~j)8%Jo10ruQ1I>Bx6;zms;a6wIyy#1 zM%LEWj*gDr-rm8%!C_%x2?+@q85soy1r-$)jg5`%?d?51JtHF{C=_aWd3kqt_wexW z`}gm^e*JoWe*XV+0~nt1)ns+FrQd7FzT)LW2ma?}c)-BK13&@X|BLuv8vx8_dirE* zhhqDBnDh63ckVfFmt8;DRp8b0K&iU|H*Ly9rRSuxXvuu7w^EZ~^ID_N)J4GOJ-D9= zZ^7KR_JA4Jp55!tK(*%0tNY&IxvM|Vp<&?>kx|hxv2pPUiAl*RscGpMnOWI6xq0~o zg+;|BrDf$6l~vU>wRQCkjZLs-cuQ+rdj|s9+11_C+t>ejU~p)7WOQtNViGkqJu^Eu zzp%LUWqD<FZGB^NYkOyRZ~yDT;nDHQx6`xl=NFe(*FS##`h9bIcmMGC=kLF#X8<}L zSOH!-7=c61X*>Zh8;&7iQYutvDIZOs7I55}XsH-ap_h&aE4EfnX0U5N*Bei^R!!yb zS)mFQ+p1>@M7++nCfjP}O5R1_L6q8S7b+AoI89LPbxSoG6-q@)9reo%AKDzZQ5_Ad z&E~`L5M@N;dYk=Hy~z}!X%p#wfGSc(!nS+-ew}SkA)9wUhg#55t8~KmhhxdPOs6|r z4#rcNl#5lmT92l31)O%KyV_3XN~IH^s@?6UOSRe!rZe3g-&f&Qc9bOVLN7LvPMa%9 z1wL0>{r=x6cM61E4?brQs}pVc0ltn0p_iBzK3;xbaFWb1EfVrPUaK&oB8H0nKHHe_ zB7QCk_;Wkh^^#aUB+&n6Z|OuLWc!W(&xx7ULf`MI$nBuphZ^v6_~H-Yy}-w=oRT0+ z3Hv?2D}HupAg$azT@ZG#2z~5$R4qfqu7}^(@b3=DqHx?+{o<JG<<9a%Va9J3iGTjt zGKI|M<uZA35Y;io%`L2LN54q^V3xs2wqBX`ujRfZl|oPPYp|wP9^?}TD@|#RG9}xd z>yt%Xd8VQ*O-a5@`J3t#!`oaYZ`te*Y<Wz0RJH|-S_TJs7(%O6S>O65Y|8{5*{!30 zocf<cc|bdvN**6h*-N$6x=WMPc{xuqG>Nd8%1y%qY<zR{a84_-lqPE$v5G}m%gA7- zY_O_w8v7cqddKa;rsK)8Lh40Pr^ZA?tZD7fkL)E?-a;FV&+%YUd!BY-$4B}O^5{QK z0UJ-K#;!RuG4Aepso44~QfN0z-i{tFJ7QCcrmkQs*#1073D(6s(E1hC9C^ga^>VO3 z*a_Z`5=vxm{WI18E0Vtj*&?s<m3~BCu@GDj4@z)37tUlWwv3+e5ZHBKyBWWl?g-|t z&!ZCCXl^$v=KeZWBdTmX#WuA5JsG;HC>Z)sZtONIYs<x34=)eoOE5{Fu3y#?j{jXt zal(1qBVHZ&G0`L=sca^dvd=3*d~^D00h1LXlx($h-kx!v<jgso=SWap=~cpm-0*$^ z3C?JV-G9t>kymltcKdXP><Akd7a2>kBj{+4Z|muN&Oo|0-OZ+5;Ubf>Z)xjR(DJFv z>+uD|E6xd#uAeq}V-h>(#L>mNk6gPy(DetR7qy){?3>nJZvHfFzp9Zwue(0reB>yb zxT*_0LfeJW|9*MUcXng@WE8YL>+9maQrXiN_}hW3+5dW4J49j}Ww9Pqb%DS7N8FD8 z@3NY4rx)q@A(g~L6j2b1R>|_3aDU$WOGi(x(nBbl$Ve8C&xZzZYH>`-qkoEFj?u<? zwmwYn;k$NGd_F3_n%61}ZfFQ9_@U>^nk}oLycbV-uV*jOuSpmU`Mda3m@R}FRgY@? zzMKBU#{c(6tTv<f-rsZY0j6$voNnQMeRMYRc~ddXK^vdx7wp69@YCi5=E|H&=A2Si z7`LGYc%6pLZ_wkEz*?J=t_5QaDOQ!7Of{4<wKq2C4dI9}7vI66pi$sVpEi-%V(Jn7 zCbjH8V@iH*-EAz77@j=0T`y;3^6+_U+M<<7DOeuxYFtu63(smW>>#B*N2INYC?QBD zpVzHRNS#(OS|o5gl_*bT=*TnA`D@kWUXBE;4i<=0SXgP!QR~2iFE8fJDi{+rv=!%) zHaJDXAzd|?{HDd^qc;;Tf7XOH^q106Vg-pn+$=t9sf7Rhh-`sfE$p$ipsoExM8JPu z=fWwd!Fu=VP_Z%alH8#FFFm2ngV4Cmb9@12l^xqQvfJM?!Ii=!8IQkP(`AP^j%23b zwvuMlEu1Wkl&6Ty0b7)}tKEE<ivyf6-q{5CsY@qNrJ8pnt|*~mo!qOh0($WUBn5X? z<JP<3&Eb~h?PyS~+R~OpHk4R4)jP=OhprtDl6W>Y!qAL0@K=RXr95E)>3dkGXM-J= zF7-3qG{!gGWnI;TkulxhS%YNP%znPE4*q9ggzlt#uldWXJKR~5jZ25RJE5xG^0>e? z@BLF8q9VHO$dWF9Bn*gX>-&5DqOD89Gi@bbK+MJQCBB5e3Cd5wrqoH-NPli6yDc=3 zcF#w+j-F*o@A}m?GJJh*pLeDH`K{QcQ-+h4lw5OH<kD#`j^Tu`Lq}P12lSZTdNbUH zR5ACQ0UB~IdQPUDv<P9ske%!^L}ViOtlj*j3ySU;Is6|8zBW94+oti+>~-C?wDhQ7 z2zuoZ#e_k{nzd4n!L(A^J9=Eo+&zh>=izhO?y7pV-ZWO<*<@S<)_MPX4l0X?rs`iw zoa@@S#6wE+Lfs5gYzhc;=wUPy@32Kvf!KW06Rd`<nKjeah1=8}Qy*<btPJ*EO0<O` ztXR$vI0p>MK7;Ltud<takLW<CDHox(jUif-H;5MzST<Vu+bSSz?uUuV9|9R!y@yVu z3iF|3s_9gH-z3?RtCujJy&~JV&GAwYaQ0$8tRIdC7mQxz4$f9pNAjw>N@V5iZ}qA% z^*Gf8R+jvaD_GX?*6>KW(L;rZ%H0kCY<80?S`wZiF4{-qv{XwWLrr{CXDAo4ma!9; zD?Z><pP=fW1$ViZbuvW?{6_F~<3OL>q`JlQ`ZpcSmvbHDSuPB?8xx&R$>|{T8DD+C z>OIe^ehVyDFP~(uWN*sPzno0Zl0g$~O~-KT4@xm(_(he0?lC1|^NhDtopx_U;@|xl zj%v$DmhP)Vc&V5lTMr1`skQrD26?{VYB}P#ssO~Bn0m_gjBVK5`}+R1{L`}LArpU? z!u{9KP|~wwep!V0nN4|&frvP_`hqiJ3A7ms<DZzsH=S;&IFv~kpJNlATbcTDv;H%% zw}jG@M)rKBdBtFxMf@6fs%cJq$A7P7r9iX^Hd5@AaDn>R^WbB@$F_J^;U^|0iTQV~ zFNX7ILbDYRn&gCieY^v?e(h?>E0BK&DQN3{l_$yT;1MC7sg3RN>#4^ZGTS)=!{2C3 z>(S-9^_ft*L7YX*J`x(O9np({`I7{0H@OWa6|-B9+^no0Ur4^OiMjFl$7KLV^)Bi* zz@7qN-nDj_;mprf3yd2z3*@?q+tmRUxW&yE4Sl~QPQ(DJ;*(`<Lhf@VT@@}&_A|pZ z_fMMkhx$R!GSTV<LoP(G9jY^=YgbvNu>&S4*}YG!rYZDiDLu={{45y*^<SH34uu9E zhRS>e@L-$&pi()#b+NV4oJxlp`O+t|vM!vkJ|O)Cu{oJ-T(y@JNZVYc?A~4LbA4*F zn!Pcb(z9I73~1Ifl*2HW$knU%;lE(;*LfW&A{Tby8L9tGTS<Xl>}MblZmo74eqYUK zUTdG1BdM{b?Yw6CXz7^xMYZJ@8&0f7W=E*>m#F+>)66f?cfJBYBklGq02lxTmvJX$ zEEVe50PmwuJYxnE($S{!&JOkw7CF3ytB_)BEtHJ3#))$LP~@uj$CGOLkt4^JaXlGo zt@VuX=Wk<C-N?w!*YO8>V!iJH*zSNRdpT>i&@DDmi{B0m(O#ytpRR}fvCFOd5fCe? zc%)`T$DpUUpG@FwP!N?P0y{SS*1K`cPkG$KZ#7g3!+Yr@Y{d^mSqh|mXG3WYB)*n< zKjGA91Hwv8=ursWVz7sVTF829ldq-N$mn3oB#$hEQteWU*#HaU4A>lQe{R*3a(s`= zHPCIOe23LN)(jt_KZ)qXkl_XnqJ?*eq_Ew{pDNg}cUe=?`%=-cOw_0&(h|CHQondO zVSDSCGesF@#_ZeL4QNJKP6UopCgu3i17bn_?1DcIywd~|RN1BGr4?qXjk0CqfA}Rm z+f&&-v+AAu23cDHwX1=b>=5E>fH{W^*QqebAA+QWMle8b>;YL(vFrxG4i6^|noNc9 zXytY_BV3DyVf*nM>&~*2N&UEtnjE}!`-m0KSZbd*imbp+mjc-!ID5#`t6<kEqgUyC z6mS3<97uj0+@vF^#bUQ4Ec!&wP7F_m&}RoM<ttYMuS9aV!vo`DL7jd8tN~CLdrs3T z#IG)}JuQdbKaQL{pwrq5KQl?IJcZqWohZ~la`IyqPLWPDgxfcdwoB;4xYW*?V6vUF zQ>4N*IuLRVAb|tP+>K`1V^%1AmEQQiv(}A|0Tc5TbQs7zbXosVO!^iU_-xUc($`XO z*I8g2T{J!}|1ZXu=P+#l-X?0?;=PnF9%X8_oGBPHMYBpVQ_nM;!W7t@xW6iSkRe4X z&xVr<#2)}cLV*rl0klfuTM_;X4uOjPkj>LTKLcRCuQQW8$G<ut?l>6sP$G!t4ZKcA zuZQ9UfNnkje#DduiP}gS%7oi0$ew9KPqHeoREgysDX7Z<zDWs8;Rdn+9c(dp9MLFp znWn7Db{o(Ob09gN&2OJ9?R>E>llBud&R-ak`aGNxA5vX1ouR8G`~eU)4japd5`;%~ zDvEyCz-Epi^m}KbW;aOvQF4R9hUOZqo1fF4U6I|z@%>Jm!!Y%^?!QZlirE;gPayNV z)QqgY`;=nush3~4My?=(WJ2F7&&vTo%mIY&+zR6|x;;`US{p{%Dx|vHx)%UGxMd%0 z8hXoW`xpww6brT(>UwM4bZ%=f@UmqbLF!7N+giTQ3^o&vh3j=8j(Ca5uN4}}tr!kt z7g@yYuw{kg!We0k8XRn$Y`~E|PWl^hHJzD+GC-|pfItp_EEKqFo9~{V+m#ItIZl{5 z^MCmej6Rit22VZ-0Kp#e6CAVc*Fnt6uXFOF?HEHb_Nw{cWFRyFLOncPU8Qlj&02DC zD1XbYFNFb*mJCxG8lLSf`5B@Uu`85(`Y$vRyx?f1DbH5l;z%a78%F>LpZ~T6s67S* z(c6&1V{z@oU*1Eagd*7Gy$Cs5x9@Gw{J^lTbXm`A85GFNsanL5u8RX;PE%2!l+wGd z(9IAUaN4H*UrG4}pIWUK4tcg>4tUJ&np`4VYwnMu7AmJ@>QWtlS3B`_gW~-_n56)s zc>r~3r?Om2{E73OW<-ys{XhBWocorq$Os}iQD(8a&-|5_@^s)$7^D>RO|cX$G+`jG zxA#r+Pf@S3jkd<APD!KcE=NQax_IU!tY9;J>7eTn7kM2S+;*sDZ(rAK(eXsl%a;zY zo9tE|1CqWob6k#?rgl?j44u!<MRGNv*TSErG3j`mOwjX@$N261#|Z)ny{JzhR6~9T zL#V1;U%c|*g!1Ry(;}8ffrGmgz_jI=u!6{Xnp#~u!KMYE2ULm=K1*oN1ch8Sq!YRK zN)!Mw=VK0x-g2MR(ELHh<2F^-CrR22^(>TJO@NX%fR}#sa)m}wLTq@A16|(+W_nE3 z&mk3OZIp>!rn<?3r|#I!LbrBZY}6lX^qMQ|%>r%1xCn%Kwu+?XTD9bW*cu?rfo_Ej zt99u>j?<6*xm63X{lh)E2|iV%>>6eQ;D-l5KtT>iL9xUz=uJ1c-)|fXoTIZ<z?Png zS3mlQ?4-aB*%=R@R%zcd2o}BRel}4V7>mq@g5AT`OkD~gZpJFiarEYY@=4*nlT+RP z-C?aL@w^Z8Xnr}_cq3FQgA;YEpK_Z!HIcH3NO@m}cRlp|_OR+t0Ih(wjV)AAPwq87 zO6NGll5BcgKYg&SN)~A<B0l4aqyB*{eVEm0-Z$`y8^YtPUpov!2SBet&YV5gB%c~U zN)g1TOklB6wdiSFWze4<Q#w4Te0)jUo3x|%ZNT(cAbenm6>#I1@_9Wg7Brh6R=P{0 zuUeOeGm+<88%lWGJ8&=Z!8%RRvFsMN_%XV$?FL~yW|n>k*VZdQhg(yXW~khOhE>3d zGyns<Cg+BV0&4mG6X|E;TDm6=8C7Ew7ctmkSY5N?D0V1F8_X4>T*}NdJNei2%W>&i z&B~AU0Kuf8n>;@ehy(|Z$5$h${vTyR!l6{Lj|~mLp?Uyf0f5#Ny!!$mzs?%5^>IGl zU+VX~##AgpdI@FdNCIBAXXV=XIuZy#<i|{IO;3IOIZ|XiyxgmA#$sk4Fm{O>yOFTU zD?Sr)RM<<K0Mj#q8ss(GgC635=<sgPKnTqM0Dr0rjj5+jHD}XcW$Juh#TG?6DN@Qk z7ElPH`!m9zm103ywLQHV|HjS*)aR76<*1-8Wz_Xjx463@vWo|9Pm$2*>}R$W<+jRi z;=T4_uNyKM_6)`hMDa9#vCNI~57b9hdSN&=vO}H=vprmVZ@~4{j-`e93H2jOL*Sj` zmdy`u{E^2MlkffMT~q0b;RcDh3!2l=Cp$^J=EEScmArqJK3&Y4K~;J0eNI`nBA?%2 zM=<**RioYUL4dMeY>i^Gx6pgB>EX75m9J;HK|(fBk6-6*jr6|k;a#@AajE}235vj% zk<qHNgKXQ%4yk&=aqz*|%7q(Y$0K>5Aj1if1H0voYL(mL$n%;Ip{R-P$JCJS2)(`_ zo5UqZzuoaP@RLb~m^@)Buu@eEN)?B*K5oOqaYbpbyAdc6r+vY1BW~JHu$H~1nPO=& zTDl5)u9@j3Pn`X9i*ixgQO?ioRJNDG&1>mT=`Bk%3UKRyHVI~=rW4qAI-PV{tP!s} z*;5{3Fzf5Z+Bg}APuZ3gwio`Zm+rzF+WoZUNT@Tjll&l^xEa>djN0yDKV{Rqi158A zknhdELuS_cXVivB)>~g|N6#fxFpJhcDbx2}f=sCf`8KPATpEt+qT;@8$jV+D<%iyH z?|k<>xTEQfh7Q!<c&B3dlH^_E!%($q42QhCQn!25c>UAj3=4Pjz*&S2HSgWA(>!NA zb`aQFZCVrpF`=43NYqH=rR6u6I<2eyOp4ga`u3hK1!g)Q`!|M<Vv00RG%azs?l<W9 z#ZJ~w8c&wFol~~VA?PoId=Z<wx(O$y{`)VXV5s_b%kvXx;qJ>1>sT+VG_${@?;Opz z39A`V$O_x$B?@CiPFE(vxAk=e@FBFBa0y2$HjJI0q&k0PRX}(gY_$vYkI%GF?;Rr@ z`L%DCUz3Qa`kMatE0$5_ipOX=+t;ZWHZ9+6rjUBY&i$^8a@sFq%<Awp-dF=1yI+Nc zcrWiOK;CSRkJA)?)=hsO8~ovYlS#W%83?T(=7;^*L1aExyfm7FY{TYKqI3KL!(h1r zgnu_!U$ypqgSdvxnTC1zoPFroxPHA(iKBad^~<N}iOKkB_r?Z)=gyU__KG+BS)brQ z7zZspHO;`+wwzPMgrc^lEuPK97wLEg|L{?(MO$|HY}#8e*UjGv4{iP%9%m6}TmSJ3 zu5`x|C3rk8LUd`1n_?T(w!bU#?_$*O$Mwf9CD>=p8Qmm*LbBUZ6I`ee(a#HpcuX{? zRGu~SzCF>Yxu*~sW)>#E0c(PLod69tC@sl02u9+O_ky37=2-OhN3<&1vr@X=?ax;a ztgSSx_}xcO7qkB$Oj1T-dR!o4b#gClwSyq+2r=T%ujD0^kE0S?K%(Z*>f0vTWh%+I z#StRKMQdGh@=~2#C28V4DjJQ@y~mEE*&^=^P9HHnHKtM%>iwI11)Rl<XODA4=Pz_m z>l_jG;XECO*){o`OlOp0Tl$u0diTou8?BM}_v}2810=M~$`X_cSTta7Z@d8x<^c9S z4`PO4XVJkUoncbDf-GTS+dz!ARCtk1pR4mj2iqEaZO9aa|GP=n%YLa}W{lFU+gjpe zQ3MTzEhCpC%YIw{;~>`KwHJR{R4T*gPJ8>dXzBjSBwt`S6JbQvVmSC3r0P6|vsvEW zg!z(*8)Tx=${;3(KHF4y?!)9Zv|?q~S@JoIUUqcDTgLv3$VWib^3e14bivnMQs+TV zQ?WpQt6Wu6ZLfD{MO)zes!!2?r!u0$_Cv7oi2cHitcqhJ&0W68bDQof`k>4G=n~g7 zFv5_wf*ncx5mx#Y^^!*BQ0F7=k!4wwbnl_GZo9qx<Xd23Ep3nyyFDqL({C#C*OhO5 zON1hMM5q$cL>EkzZf4}7JqNZr_4#fw{Wi@_TW$~DV2G|J84Jg2g=cdxf0QEmGmv_e zt?z$dmGd%`)Ray>H|`6S{2Me3VasGi%mQZT*OS7E$H+oARjKvyw85De@F)6<)!85@ z176un37S~#%AccmCm{ob`5U3H<#O4T67YVdv74snM-*9F>N(bN>6oLD7Ph-X^lBeH zcgU=F`0DGcrR1DSv(Oal)O5)l_QZ5}6$#bxi8h!bTnhQCK0LdV25dABi-J<h#$i5( zHB<feO>Gx>z|v%7-l3fK=mG|5%Xb<sZRAJAu9e<(M*U{q8OF`6wwmSYCTllYg+s(5 z8V<4C&-)3cetjYGg7lN?br8oI;knA-HLzC-pEM`{PR&~Q2?pOc&2TN#;G8f@U5dwa zRLfv>G>#yHa=Mn{o^XMCxi;C$rpEs@WKUzq8wq6mHmu7jL*wFT7?kuXFHTRCiZ|+o zm>HC$ebVD(Mg&O}?N*JV5h4tv@$m$f$e&kU%bF=0?wL}y3H(@>456^<&_FW#W`>Mi zASk`jtN1(AQC#iA;I>AA1xXX-haSRTg@m2&u;nXWJy&k?J6Is{&gnLY(9ZUbv~78r z&I-8}5iGdTPwl~#<P%$-j1S}R;)&iKkIQ`WV*d$C^`y28O?I-s(1lAiW5ueNEx&L! z?0<gypSg<DzNKivxXtH~uDQSe5EZxlvdGzb*-t1ycYb}|{}pRz+N#j~u8xgR3~tWT z7<3mvH`FL3*^4o4yZN=~E1Gc6k2q&}^gl_(7~d$-C^dptjiA?0IZgi*okObAwtl9M zhz)Tx1kQ&W|68p2e8X|g2nFZNNKs3daJ-CWjkHKDt!X0Xoc86%-^FoTi#qEgj^uPI zlVPS{k}GRa%%im&=fwGpZ>bR;xIy}p#9Q>QCdsp+I>GY!Y|VRFSw0*6UK7d=`vLe2 zfi@LB)2A_Nd5q<W2;0Uj8er_O_{xI!kTMb8f$zw^Nu|&I!mfd9^gA3f;<RqA!wQu# z1Om{)_cHU4l;VM0ZnnnTY0I41E4PsqRrzthmH3V0u(SoPLrm&<8Q#o*6koqf#twQ( zO6onF7O|+%7Fk7rd81^t@+x?g+|rb&OPNSiJFC;`=(iO0RD&#f{NIYh<HuvwxwrF9 zU6YW1@zh;K_wX1p9YUm<qV%@?FI(OSjBjJ7BAYE5E{}?A$}8&=KFJqFXejILzYcFD zFI|&;HIuKWkN7MJJp+xjv0D|=W0sdwm3}<;LfjS|Cfy(7l9**^fk`J+!N3F|4AsIu zQ@ifSpRb}qq-~__;zuJ+V@<X(z;fyi%8W!_1t8~QX;Q-_RR?wAH+={1&Eyu$XkBVl zGng^rM75)Tj#o1loi%?Mo6eMSt?Hb%zUhwTb-kD=*BfG&(L9?ms^705#r(Ga`v%;@ z5J#u3`kh&9NbjnvBjr9Y(m1Y8-*rqUpWkLH<lTd==B<vKdfyr0dnGDXtZcZ*5^ILY z5!q)7bju2EJH>+lIZ~oHH!GI1{>!_rSG3ORrMlxR7xbvn9YjRBn5pbhZePv&l`6HY zG$&lFf_;LYHJOa7zyjKge2*{4$9BDE_b^f8lo!ZP^Y0o|`yYF<kH3F1Rhcy#@0pVr zZ8Oe{S|>v~qC#1JybbdD&hiq)Jtarbmy2;A^?5U={5GW_ji+FUD8A)0%XOYX+leyf zO2<ihdhBE4qTEb_07d#ys-$P~2h|EC_VSgSr>KTka~xmrRt4P(Bjd(iIGNA}i!`qm znlDV~eciqM(eeDMBv4FzG!>y00|sv^oDN}v_x*CViVF3p&ff()QpSv9{`?(jY_N!T zV<QiBjLzbIiG8a(p1^~jSrTSFDC*hA`mqdi+i829Rn=1H(mE+3S90}(&=AgYd7#(2 zEu(-d%2?LS%P#$0n^I($J+q+<-N2b7ZN(Q@h|knmsNabr56x@y>ceu~t?he^JFQrs zqOyH|gRet`$+=ISzQRS0*Bv=-^N^xiRTYyv2&H?>rw$)&BTM+hY}SFvb;wOmXDW)Q z#P1i(Prgv#USn>|C4!pl6n7WDM|)kh(Os{J>a?!-%6VZ0ns;F6!hiBm+&|`H+ry(u zHRZY@T2=9C|H48ULjV~86EM|hBYWq0^`&)o4N|}|4HOVvz5m6FD!eGx6sTAqt@dce zCPINC{~u912#^e*1HAZ8)LtoN`%lzPCO+0Q@#t?(_123tz-degPko(1B$u&v8i1n; zA8zkVtSOeYCUs^+$NTbv{hhe#(DBeW=RV45Sr*Iiydpx5AGsRblz1{fLVM&x+^{hT zD1u{bjYzSeL@Lx|MEE#3*jO|gD&)+V7|^%Cw`f?NV!_ndCFKnmByoHo%2>RHw@@5# z7%LSq1{z+gJ8=n+2`h$)jF1o)v#cCR4N_+wS0Mw%5zN;kn9$h>1+i9WFdG=ZiJ=uk zqe19sbED8XBPJRM*8I*L|LxPtjQ|<i|JCpRhe{71`ww;I|DcBNRh^yobAx)@^T@zV z#w7mlvQ(lM>Az@U5{{AXYsjT0dviunn{XslGW3ba;l&Q|u`@F+5)KJ`;3MLC|8Boa zgTEtO)^J@#fDqH0ks6JXnt+g*-xG*t{~Ah-NkcBipPY!Mo(9#S;>hF2B=##R)}ob5 zX2I94VWbr#(n{-KrX*l%hp>UDLABs!CdgYBGAIp6JQE>05FLtviH`L`hm61}0UgKF z>?4*SKCM<E3$UD#f=3XYWO$#s(SrkCRCdqI@P7$I0IB~yD*TUdw)8~Nc-0`W7S_my z5e|wSYIm?1uj1kQJMiJ!&OVc|Z@Kvz&>alltNi8nlo=i^&*Z0rH(4@z5UN2N@og^6 zL4`e^kdZ?PE{OAONT4p4n}pxniiZ#lk1LWqTq4FB#6`eQOca}hLF>&;NeaOvcp<@O znE#g5hx0uaH!Fk_#zQ1f_YR$l>P1sGoD3gRzg>_V3L#;{z$c{y^@Jt9MZ;jl=0Shc z1SM(nrh!y)6F1SaQddE{yxwjXV>TRPp1#Fop*X%}#0G;9oc|AE(0_>kXNXg!YysgU znM1WOs0W-YAR8!7TXd+K*@WWAeXkuSBSJ;@UFU-!S$*Qj!s!QSWk&h{iLO{KR`}wA zx6m>H=Y*(&$nr8$3D>-m;DV8y!4C_E+zY~IMuiI|L8CMzFtatIB#jixWCVdJ1ff_I zX4FJ4(Xy4Gx>)Q?7+AqfXyjFlwB)q{N<a)6B~na5;O8n9EYnITtrMaJ?PY{n{;L)k v2BrH9xl`Q&3wp90fjiln;RXwogd7t}rT5Mm^_mOYV|}3tKgj7nKC%A~z5C7c literal 0 HcmV?d00001 diff --git a/docs/images/download_from_microsoft_store_en.svg b/docs/images/download_from_microsoft_store_en.svg new file mode 100644 index 0000000..910ba9b --- /dev/null +++ b/docs/images/download_from_microsoft_store_en.svg @@ -0,0 +1,109 @@ +<svg width="161" height="44" viewBox="0 0 161 44" fill="none" xmlns="http://www.w3.org/2000/svg"> +<rect x="1" y="1" width="159" height="42" rx="4" fill="#202020"/> +<rect x="0.5" y="0.5" width="160" height="43" rx="4.5" stroke="black" stroke-opacity="0.1"/> +<g clip-path="url(#clip0_1049_9370)"> +<g clip-path="url(#clip1_1049_9370)"> +<path d="M10.3438 14.6667C10.3438 14.1604 10.7542 13.75 11.2604 13.75H30.7396C31.2458 13.75 31.6562 14.1604 31.6562 14.6667V28.5313C31.6562 30.6196 29.9633 32.3125 27.875 32.3125H14.125C12.0367 32.3125 10.3438 30.6196 10.3438 28.5313V14.6667Z" fill="url(#paint0_linear_1049_9370)"/> +<mask id="mask0_1049_9370" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="10" y="13" width="22" height="20"> +<path d="M10.3438 14.6667C10.3438 14.1604 10.7542 13.75 11.2604 13.75H30.7396C31.2458 13.75 31.6562 14.1604 31.6562 14.6667V28.5313C31.6562 30.6196 29.9633 32.3125 27.875 32.3125H14.125C12.0367 32.3125 10.3438 30.6196 10.3438 28.5313V14.6667Z" fill="url(#paint1_linear_1049_9370)"/> +</mask> +<g mask="url(#mask0_1049_9370)"> +<g filter="url(#filter0_dd_1049_9370)"> +<path d="M15.8438 14.4375V11.6875H26.1562V14.4375" stroke="url(#paint2_linear_1049_9370)" stroke-width="1.375" stroke-linecap="round"/> +</g> +</g> +<g filter="url(#filter1_dd_1049_9370)"> +<path d="M20.6565 18.5625H16.5315V22.6875H20.6565V18.5625Z" fill="#F25022"/> +<path d="M25.4688 18.5625H21.3438V22.6875H25.4688V18.5625Z" fill="#7FBA00"/> +<path d="M25.4688 23.375H21.3438V27.5H25.4688V23.375Z" fill="#FFB900"/> +<path d="M20.6562 23.375H16.5312V27.5H20.6562V23.375Z" fill="#00A4EF"/> +</g> +<path d="M15.8438 14.4375V12.375C15.8438 11.9953 16.1516 11.6875 16.5313 11.6875H25.4688C25.8484 11.6875 26.1562 11.9953 26.1562 12.375V14.4375" stroke="url(#paint3_linear_1049_9370)" stroke-width="1.375" stroke-linecap="round"/> +<rect x="16.5312" y="11" width="8.9375" height="1.375" fill="url(#paint4_linear_1049_9370)"/> +<mask id="mask1_1049_9370" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="16" y="11" width="10" height="2"> +<rect x="16.5312" y="11" width="8.9375" height="1.375" fill="url(#paint5_linear_1049_9370)"/> +</mask> +<g mask="url(#mask1_1049_9370)"> +<g filter="url(#filter2_dd_1049_9370)"> +<rect x="14.5454" y="11.6877" width="1.98611" height="3.4375" fill="#C4C4C4"/> +</g> +</g> +</g> +</g> +<path d="M38.918 17V9.99805H40.8516C42.0853 9.99805 43.0098 10.2829 43.625 10.8525C44.2435 11.4189 44.5527 12.2718 44.5527 13.4111C44.5527 14.4919 44.2093 15.361 43.5225 16.0186C42.8389 16.6729 41.9225 17 40.7734 17H38.918ZM39.7383 10.7402V16.2578H40.7832C41.7012 16.2578 42.4157 16.012 42.9268 15.5205C43.4378 15.029 43.6934 14.3324 43.6934 13.4307C43.6934 12.5322 43.4541 11.86 42.9756 11.4141C42.5003 10.9648 41.7858 10.7402 40.832 10.7402H39.7383ZM47.9121 17.1172C47.1732 17.1172 46.5824 16.8844 46.1396 16.4189C45.7002 15.9502 45.4805 15.3301 45.4805 14.5586C45.4805 13.722 45.7083 13.0677 46.1641 12.5957C46.6198 12.1237 47.2415 11.8861 48.0293 11.8828C48.7747 11.8796 49.3558 12.109 49.7725 12.5713C50.1924 13.0335 50.4023 13.6699 50.4023 14.4805C50.4023 15.2812 50.1761 15.9209 49.7236 16.3994C49.2744 16.8779 48.6706 17.1172 47.9121 17.1172ZM47.9707 16.4434C48.4883 16.4434 48.8854 16.2757 49.1621 15.9404C49.4421 15.6019 49.582 15.125 49.582 14.5098C49.582 13.8815 49.4421 13.3997 49.1621 13.0645C48.8822 12.7259 48.485 12.5566 47.9707 12.5566C47.4564 12.5566 47.0495 12.7324 46.75 13.084C46.4505 13.4355 46.3008 13.9173 46.3008 14.5293C46.3008 15.1217 46.4521 15.5889 46.7549 15.9307C47.0576 16.2725 47.4629 16.4434 47.9707 16.4434ZM57.9805 12L56.4814 17H55.6514L54.6162 13.4111C54.5902 13.32 54.5723 13.2435 54.5625 13.1816C54.556 13.1165 54.5495 13.0417 54.543 12.957H54.5234C54.5169 13.0417 54.5055 13.1149 54.4893 13.1768C54.473 13.2386 54.4502 13.3167 54.4209 13.4111L53.3027 17H52.502L50.9883 12H51.8281L52.8633 15.7598C52.8796 15.8151 52.8926 15.8802 52.9023 15.9551C52.9154 16.0299 52.9251 16.1146 52.9316 16.209H52.9707C52.9772 16.1374 52.987 16.0641 53 15.9893C53.013 15.9111 53.0326 15.8314 53.0586 15.75L54.2109 12H54.9434L55.9785 15.7695C55.9948 15.8314 56.0078 15.8997 56.0176 15.9746C56.0306 16.0462 56.042 16.1276 56.0518 16.2188H56.0908C56.0941 16.1536 56.1022 16.0837 56.1152 16.0088C56.1315 15.9339 56.151 15.8542 56.1738 15.7695L57.1895 12H57.9805ZM63.0586 17H62.2578V14.1484C62.2578 13.6178 62.1602 13.2207 61.9648 12.957C61.7728 12.6901 61.4831 12.5566 61.0957 12.5566C60.6953 12.5566 60.3633 12.708 60.0996 13.0107C59.8392 13.3102 59.709 13.6895 59.709 14.1484V17H58.9082V12H59.709V12.8301H59.7285C59.9173 12.5143 60.1484 12.2783 60.4219 12.1221C60.6953 11.9626 61.0111 11.8828 61.3691 11.8828C61.916 11.8828 62.3343 12.0602 62.624 12.415C62.9137 12.7666 63.0586 13.276 63.0586 13.9434V17ZM64.5723 17V9.59766H65.373V17H64.5723ZM69.084 17.1172C68.3451 17.1172 67.7542 16.8844 67.3115 16.4189C66.8721 15.9502 66.6523 15.3301 66.6523 14.5586C66.6523 13.722 66.8802 13.0677 67.3359 12.5957C67.7917 12.1237 68.4134 11.8861 69.2012 11.8828C69.9466 11.8796 70.5277 12.109 70.9443 12.5713C71.3643 13.0335 71.5742 13.6699 71.5742 14.4805C71.5742 15.2812 71.348 15.9209 70.8955 16.3994C70.4463 16.8779 69.8424 17.1172 69.084 17.1172ZM69.1426 16.4434C69.6602 16.4434 70.0573 16.2757 70.334 15.9404C70.6139 15.6019 70.7539 15.125 70.7539 14.5098C70.7539 13.8815 70.6139 13.3997 70.334 13.0645C70.054 12.7259 69.6569 12.5566 69.1426 12.5566C68.6283 12.5566 68.2214 12.7324 67.9219 13.084C67.6224 13.4355 67.4727 13.9173 67.4727 14.5293C67.4727 15.1217 67.624 15.5889 67.9268 15.9307C68.2295 16.2725 68.6348 16.4434 69.1426 16.4434ZM76.3936 17H75.5928V16.2188H75.5732C75.4007 16.5182 75.1875 16.7428 74.9336 16.8926C74.6829 17.0423 74.39 17.1172 74.0547 17.1172C73.5859 17.1172 73.2067 16.9805 72.917 16.707C72.6273 16.4336 72.4824 16.0706 72.4824 15.6182C72.4824 15.1917 72.6289 14.8385 72.9219 14.5586C73.2148 14.2786 73.6299 14.0996 74.167 14.0215L75.5928 13.8311V13.7188C75.5928 13.2988 75.4951 13.001 75.2998 12.8252C75.1045 12.6462 74.8441 12.5566 74.5186 12.5566C74.2581 12.5566 74.0075 12.6055 73.7666 12.7031C73.5257 12.8008 73.2995 12.9505 73.0879 13.1523L72.6191 12.6689C72.8991 12.3988 73.1969 12.2002 73.5127 12.0732C73.8285 11.9463 74.18 11.8828 74.5674 11.8828C75.1729 11.8828 75.6286 12.0391 75.9346 12.3516C76.2406 12.6608 76.3936 13.1263 76.3936 13.748V17ZM75.5928 14.9688V14.4707L74.3867 14.6367C74.0189 14.6888 73.7422 14.7816 73.5566 14.915C73.3711 15.0485 73.2783 15.2585 73.2783 15.5449C73.2783 15.8444 73.3646 16.0739 73.5371 16.2334C73.7129 16.3896 73.9261 16.4678 74.1768 16.4678C74.6097 16.4678 74.9531 16.3262 75.207 16.043C75.4642 15.7598 75.5928 15.4017 75.5928 14.9688ZM81.3887 16.1504C81.2031 16.4727 80.9671 16.7152 80.6807 16.8779C80.3975 17.0374 80.0605 17.1172 79.6699 17.1172C79.0417 17.1172 78.5387 16.8942 78.1611 16.4482C77.7868 15.999 77.5996 15.3887 77.5996 14.6172C77.5996 13.7904 77.8079 13.1279 78.2246 12.6299C78.6413 12.1318 79.1963 11.8828 79.8896 11.8828C80.2347 11.8828 80.5309 11.9512 80.7783 12.0879C81.029 12.2214 81.2324 12.4232 81.3887 12.6934H81.4082V9.59766H82.209V17H81.4082V16.1504H81.3887ZM78.4199 14.5781C78.4199 15.1543 78.5534 15.61 78.8203 15.9453C79.0905 16.2773 79.4518 16.4434 79.9043 16.4434C80.3535 16.4434 80.7165 16.2822 80.9932 15.96C81.2699 15.6377 81.4082 15.2308 81.4082 14.7393V14.002C81.4082 13.5983 81.2731 13.2565 81.0029 12.9766C80.736 12.6966 80.3991 12.5566 79.9922 12.5566C79.5039 12.5566 79.1198 12.7357 78.8398 13.0938C78.5599 13.4518 78.4199 13.9466 78.4199 14.5781ZM88.9619 10.252C88.8708 10.2227 88.7878 10.2015 88.7129 10.1885C88.6413 10.1755 88.5648 10.1689 88.4834 10.1689C88.21 10.1689 88.0065 10.2422 87.873 10.3887C87.7396 10.5352 87.6729 10.75 87.6729 11.0332V12H88.8447V12.6836H87.6729V17H86.877V12.6836H86.0225V12H86.877V10.9941C86.877 10.5221 87.0218 10.1543 87.3115 9.89062C87.6012 9.6237 87.9984 9.49023 88.5029 9.49023C88.6266 9.49023 88.7389 9.5 88.8398 9.51953C88.9408 9.53581 89.0449 9.56185 89.1523 9.59766L88.9619 10.252ZM92.1748 12.6836C92.113 12.6641 92.0576 12.651 92.0088 12.6445C91.96 12.6348 91.8981 12.6299 91.8232 12.6299C91.4163 12.6299 91.0957 12.804 90.8613 13.1523C90.627 13.4974 90.5098 13.9303 90.5098 14.4512V17H89.709V12H90.5098V12.9912H90.5293C90.6432 12.6396 90.8174 12.3727 91.0518 12.1904C91.2861 12.0049 91.5563 11.9121 91.8623 11.9121C91.9632 11.9121 92.0479 11.917 92.1162 11.9268C92.1878 11.9365 92.2513 11.9512 92.3066 11.9707L92.1748 12.6836ZM95.2754 17.1172C94.5365 17.1172 93.9456 16.8844 93.5029 16.4189C93.0635 15.9502 92.8438 15.3301 92.8438 14.5586C92.8438 13.722 93.0716 13.0677 93.5273 12.5957C93.9831 12.1237 94.6048 11.8861 95.3926 11.8828C96.138 11.8796 96.7191 12.109 97.1357 12.5713C97.5557 13.0335 97.7656 13.6699 97.7656 14.4805C97.7656 15.2812 97.5394 15.9209 97.0869 16.3994C96.6377 16.8779 96.0339 17.1172 95.2754 17.1172ZM95.334 16.4434C95.8516 16.4434 96.2487 16.2757 96.5254 15.9404C96.8053 15.6019 96.9453 15.125 96.9453 14.5098C96.9453 13.8815 96.8053 13.3997 96.5254 13.0645C96.2454 12.7259 95.8483 12.5566 95.334 12.5566C94.8197 12.5566 94.4128 12.7324 94.1133 13.084C93.8138 13.4355 93.6641 13.9173 93.6641 14.5293C93.6641 15.1217 93.8154 15.5889 94.1182 15.9307C94.4209 16.2725 94.8262 16.4434 95.334 16.4434ZM106.145 17H105.344V14.1289C105.344 13.5755 105.257 13.1751 105.085 12.9277C104.916 12.6803 104.629 12.5566 104.226 12.5566C103.884 12.5566 103.592 12.7129 103.352 13.0254C103.114 13.3379 102.995 13.7122 102.995 14.1484V17H102.194V14.0312C102.194 13.5397 102.1 13.1719 101.911 12.9277C101.722 12.6803 101.438 12.5566 101.057 12.5566C100.705 12.5566 100.415 12.7048 100.188 13.001C99.9596 13.2939 99.8457 13.6764 99.8457 14.1484V17H99.0449V12H99.8457V12.791H99.8652C100.044 12.4883 100.262 12.262 100.52 12.1123C100.78 11.9593 101.079 11.8828 101.418 11.8828C101.76 11.8828 102.058 11.9788 102.312 12.1709C102.565 12.3597 102.74 12.6087 102.834 12.918C103.02 12.5729 103.251 12.3141 103.527 12.1416C103.804 11.9691 104.126 11.8828 104.494 11.8828C105.044 11.8828 105.456 12.0521 105.729 12.3906C106.006 12.7292 106.145 13.2386 106.145 13.9189V17ZM112.785 16.9414C112.648 16.9967 112.513 17.0374 112.38 17.0635C112.25 17.0928 112.102 17.1074 111.936 17.1074C111.538 17.1074 111.226 16.9919 110.998 16.7607C110.773 16.5264 110.661 16.1813 110.661 15.7256V12.6836H109.802V12H110.661V10.7793L111.462 10.5205V12H112.722V12.6836H111.462V15.6328C111.462 15.9193 111.512 16.126 111.613 16.2529C111.717 16.3799 111.872 16.4434 112.077 16.4434C112.175 16.4434 112.269 16.432 112.36 16.4092C112.451 16.3864 112.528 16.3604 112.59 16.3311L112.785 16.9414ZM117.941 17H117.141V14.1191C117.141 13.5983 117.043 13.2077 116.848 12.9473C116.656 12.6868 116.366 12.5566 115.979 12.5566C115.588 12.5566 115.259 12.708 114.992 13.0107C114.725 13.3102 114.592 13.696 114.592 14.168V17H113.791V9.59766H114.592V12.8301H114.611C114.803 12.5143 115.036 12.2783 115.31 12.1221C115.583 11.9626 115.897 11.8828 116.252 11.8828C116.815 11.8828 117.237 12.0521 117.517 12.3906C117.8 12.7292 117.941 13.2386 117.941 13.9189V17ZM123.474 14.6807H119.938C119.951 15.2438 120.1 15.6784 120.383 15.9844C120.669 16.2871 121.07 16.4385 121.584 16.4385C121.809 16.4385 122.033 16.4059 122.258 16.3408C122.486 16.2725 122.71 16.165 122.932 16.0186L123.303 16.5898C123.02 16.7721 122.736 16.9056 122.453 16.9902C122.17 17.0749 121.859 17.1172 121.521 17.1172C120.765 17.1172 120.176 16.8926 119.753 16.4434C119.33 15.9941 119.117 15.3675 119.113 14.5635C119.11 13.7594 119.322 13.1117 119.748 12.6201C120.178 12.1286 120.734 11.8828 121.418 11.8828C122.069 11.8828 122.574 12.096 122.932 12.5225C123.293 12.9456 123.474 13.5332 123.474 14.2852V14.6807ZM122.653 14.0264C122.65 13.5641 122.538 13.2044 122.316 12.9473C122.095 12.6868 121.791 12.5566 121.403 12.5566C121.022 12.5566 120.699 12.6901 120.432 12.957C120.168 13.2207 120.007 13.5771 119.948 14.0264H122.653Z" fill="white"/> +<path d="M51.4219 34H49.5781V26.8516C49.5781 26.5286 49.5859 26.1771 49.6016 25.7969C49.6224 25.4115 49.6484 25.0026 49.6797 24.5703H49.6328C49.5703 24.8672 49.5104 25.1224 49.4531 25.3359C49.401 25.5443 49.349 25.7109 49.2969 25.8359L46.0078 34H44.7266L41.4219 25.9062C41.3802 25.7917 41.3281 25.6224 41.2656 25.3984C41.2083 25.1745 41.1458 24.8984 41.0781 24.5703H41.0312C41.0625 24.9453 41.0833 25.3438 41.0938 25.7656C41.1042 26.1823 41.1094 26.6224 41.1094 27.0859V34H39.3906V22.7969H42.0156L44.9297 30.0781C45.0443 30.3542 45.138 30.6094 45.2109 30.8438C45.2891 31.0729 45.349 31.2865 45.3906 31.4844H45.4375C45.5312 31.1875 45.6198 30.9193 45.7031 30.6797C45.7865 30.4401 45.8646 30.2318 45.9375 30.0547L48.8906 22.7969H51.4219V34ZM54.8984 24.4531C54.5651 24.4531 54.2891 24.3464 54.0703 24.1328C53.8516 23.9193 53.7422 23.6562 53.7422 23.3438C53.7422 23.0208 53.8516 22.7552 54.0703 22.5469C54.2891 22.3385 54.5651 22.2344 54.8984 22.2344C55.237 22.2344 55.5156 22.3385 55.7344 22.5469C55.9531 22.7552 56.0625 23.0208 56.0625 23.3438C56.0625 23.6615 55.9531 23.9271 55.7344 24.1406C55.5156 24.349 55.237 24.4531 54.8984 24.4531ZM55.7969 34H53.9766V26H55.7969V34ZM64.1562 33.5078C63.7604 33.7474 63.3672 33.9193 62.9766 34.0234C62.5859 34.1328 62.1615 34.1875 61.7031 34.1875C60.474 34.1875 59.4896 33.8281 58.75 33.1094C58.0156 32.3906 57.6484 31.4141 57.6484 30.1797C57.6484 28.8516 58.0286 27.7917 58.7891 27C59.5547 26.2083 60.5859 25.8125 61.8828 25.8125C62.3359 25.8125 62.7474 25.862 63.1172 25.9609C63.4922 26.0547 63.8724 26.2109 64.2578 26.4297L63.5469 27.6953C63.276 27.5443 63.0104 27.4349 62.75 27.3672C62.4896 27.2943 62.2057 27.2578 61.8984 27.2578C61.1328 27.2578 60.5417 27.5104 60.125 28.0156C59.7083 28.5208 59.5 29.1901 59.5 30.0234C59.5 30.8984 59.724 31.5703 60.1719 32.0391C60.625 32.5078 61.1927 32.7422 61.875 32.7422C62.0833 32.7422 62.3229 32.7057 62.5938 32.6328C62.8646 32.5547 63.138 32.4323 63.4141 32.2656L64.1562 33.5078ZM70.1484 27.5234C70.0495 27.4974 69.9531 27.4792 69.8594 27.4688C69.7708 27.4531 69.6667 27.4453 69.5469 27.4453C68.8958 27.4453 68.3958 27.6849 68.0469 28.1641C67.6979 28.6432 67.5234 29.2682 67.5234 30.0391V34H65.7031V26H67.5234V27.5391H67.5547C67.7422 26.987 68.0182 26.5703 68.3828 26.2891C68.7474 26.0026 69.1771 25.8594 69.6719 25.8594C69.8125 25.8594 69.9375 25.8672 70.0469 25.8828C70.1615 25.8984 70.2708 25.9219 70.375 25.9531L70.1484 27.5234ZM75.1719 34.1875C73.9219 34.1875 72.9297 33.8151 72.1953 33.0703C71.4661 32.3203 71.1016 31.3177 71.1016 30.0625C71.1068 28.7344 71.487 27.6953 72.2422 26.9453C72.9974 26.1901 74.026 25.8125 75.3281 25.8125C76.5833 25.8073 77.5625 26.1771 78.2656 26.9219C78.974 27.6615 79.3281 28.6641 79.3281 29.9297C79.3281 31.2318 78.9531 32.2682 78.2031 33.0391C77.4583 33.8047 76.4479 34.1875 75.1719 34.1875ZM75.2578 32.7422C75.9818 32.7422 76.5312 32.5052 76.9062 32.0312C77.2865 31.5573 77.4766 30.8724 77.4766 29.9766C77.4766 29.0911 77.2865 28.4167 76.9062 27.9531C76.526 27.4896 75.974 27.2578 75.25 27.2578C74.5365 27.2578 73.974 27.5026 73.5625 27.9922C73.1562 28.4818 72.9531 29.1589 72.9531 30.0234C72.9531 30.8932 73.1562 31.5651 73.5625 32.0391C73.9688 32.5078 74.5339 32.7422 75.2578 32.7422ZM80.4062 33.3594L81.1953 32.0781C81.5078 32.2969 81.8385 32.474 82.1875 32.6094C82.5417 32.7396 82.9245 32.8047 83.3359 32.8047C83.7839 32.8047 84.1302 32.724 84.375 32.5625C84.625 32.3958 84.75 32.1484 84.75 31.8203C84.75 31.5599 84.6458 31.3438 84.4375 31.1719C84.2344 30.9948 83.8854 30.849 83.3906 30.7344C82.3906 30.5 81.6875 30.1901 81.2812 29.8047C80.8802 29.4193 80.6797 28.9115 80.6797 28.2812C80.6797 27.5573 80.9609 26.9661 81.5234 26.5078C82.0859 26.0443 82.8229 25.8125 83.7344 25.8125C84.1875 25.8125 84.6198 25.8724 85.0312 25.9922C85.4427 26.1068 85.8438 26.2917 86.2344 26.5469L85.5 27.7969C85.1562 27.5781 84.8411 27.4219 84.5547 27.3281C84.2682 27.2344 83.974 27.1875 83.6719 27.1875C83.2448 27.1875 82.9115 27.2682 82.6719 27.4297C82.4375 27.5859 82.3203 27.8047 82.3203 28.0859C82.3203 28.3828 82.4401 28.6042 82.6797 28.75C82.9245 28.8906 83.3333 29.0286 83.9062 29.1641C84.7708 29.3724 85.4036 29.6745 85.8047 30.0703C86.2057 30.4609 86.4062 30.9844 86.4062 31.6406C86.4062 32.4167 86.1224 33.0365 85.5547 33.5C84.9922 33.9583 84.2292 34.1875 83.2656 34.1875C82.7448 34.1875 82.2448 34.1198 81.7656 33.9844C81.2917 33.8438 80.8385 33.6354 80.4062 33.3594ZM91.6406 34.1875C90.3906 34.1875 89.3984 33.8151 88.6641 33.0703C87.9349 32.3203 87.5703 31.3177 87.5703 30.0625C87.5755 28.7344 87.9557 27.6953 88.7109 26.9453C89.4661 26.1901 90.4948 25.8125 91.7969 25.8125C93.0521 25.8073 94.0312 26.1771 94.7344 26.9219C95.4427 27.6615 95.7969 28.6641 95.7969 29.9297C95.7969 31.2318 95.4219 32.2682 94.6719 33.0391C93.9271 33.8047 92.9167 34.1875 91.6406 34.1875ZM91.7266 32.7422C92.4505 32.7422 93 32.5052 93.375 32.0312C93.7552 31.5573 93.9453 30.8724 93.9453 29.9766C93.9453 29.0911 93.7552 28.4167 93.375 27.9531C92.9948 27.4896 92.4427 27.2578 91.7188 27.2578C91.0052 27.2578 90.4427 27.5026 90.0312 27.9922C89.625 28.4818 89.4219 29.1589 89.4219 30.0234C89.4219 30.8932 89.625 31.5651 90.0312 32.0391C90.4375 32.5078 91.0026 32.7422 91.7266 32.7422ZM101.977 23.5859C101.831 23.5286 101.698 23.4896 101.578 23.4688C101.458 23.4427 101.328 23.4297 101.188 23.4297C100.802 23.4297 100.51 23.5417 100.312 23.7656C100.12 23.9844 100.023 24.3021 100.023 24.7188V26H101.875V27.4219H100.023V34H98.2109V27.4219H96.8516V26H98.2109V24.625C98.2109 23.8125 98.4714 23.1693 98.9922 22.6953C99.5182 22.2161 100.214 21.9766 101.078 21.9766C101.349 21.9766 101.583 21.9948 101.781 22.0312C101.979 22.0677 102.185 22.1198 102.398 22.1875L101.977 23.5859ZM107.523 33.8906C107.289 33.9896 107.044 34.0625 106.789 34.1094C106.534 34.1562 106.26 34.1797 105.969 34.1797C105.229 34.1797 104.659 33.9844 104.258 33.5938C103.862 33.1979 103.664 32.6094 103.664 31.8281V27.4219H102.32V26H103.664V24.0547L105.477 23.5078V26H107.391V27.4219H105.477V31.6797C105.477 32.0703 105.547 32.3516 105.688 32.5234C105.833 32.6953 106.057 32.7812 106.359 32.7812C106.505 32.7812 106.643 32.7656 106.773 32.7344C106.909 32.6979 107.029 32.6536 107.133 32.6016L107.523 33.8906ZM112.609 33.1953L113.438 31.7656C113.943 32.0781 114.414 32.2995 114.852 32.4297C115.289 32.5547 115.779 32.6172 116.32 32.6172C116.966 32.6172 117.474 32.4792 117.844 32.2031C118.219 31.9219 118.406 31.5208 118.406 31C118.406 30.526 118.25 30.1536 117.938 29.8828C117.63 29.6068 117.107 29.3542 116.367 29.125C115.227 28.7865 114.388 28.3672 113.852 27.8672C113.315 27.3672 113.047 26.6901 113.047 25.8359C113.047 24.9089 113.393 24.1406 114.086 23.5312C114.779 22.9167 115.719 22.6094 116.906 22.6094C117.427 22.6094 117.94 22.6667 118.445 22.7812C118.951 22.8958 119.451 23.0729 119.945 23.3125L119.25 24.7969C118.818 24.5729 118.404 24.4141 118.008 24.3203C117.617 24.2266 117.219 24.1797 116.812 24.1797C116.219 24.1797 115.75 24.3099 115.406 24.5703C115.068 24.8307 114.898 25.1979 114.898 25.6719C114.898 26.0938 115.055 26.4271 115.367 26.6719C115.68 26.9115 116.216 27.1484 116.977 27.3828C118.143 27.7318 118.982 28.1667 119.492 28.6875C120.008 29.2083 120.266 29.9245 120.266 30.8359C120.266 31.8151 119.917 32.6198 119.219 33.25C118.521 33.875 117.526 34.1875 116.234 34.1875C115.589 34.1875 114.958 34.1068 114.344 33.9453C113.729 33.7786 113.151 33.5286 112.609 33.1953ZM125.914 33.8906C125.68 33.9896 125.435 34.0625 125.18 34.1094C124.924 34.1562 124.651 34.1797 124.359 34.1797C123.62 34.1797 123.049 33.9844 122.648 33.5938C122.253 33.1979 122.055 32.6094 122.055 31.8281V27.4219H120.711V26H122.055V24.0547L123.867 23.5078V26H125.781V27.4219H123.867V31.6797C123.867 32.0703 123.938 32.3516 124.078 32.5234C124.224 32.6953 124.448 32.7812 124.75 32.7812C124.896 32.7812 125.034 32.7656 125.164 32.7344C125.299 32.6979 125.419 32.6536 125.523 32.6016L125.914 33.8906ZM130.891 34.1875C129.641 34.1875 128.648 33.8151 127.914 33.0703C127.185 32.3203 126.82 31.3177 126.82 30.0625C126.826 28.7344 127.206 27.6953 127.961 26.9453C128.716 26.1901 129.745 25.8125 131.047 25.8125C132.302 25.8073 133.281 26.1771 133.984 26.9219C134.693 27.6615 135.047 28.6641 135.047 29.9297C135.047 31.2318 134.672 32.2682 133.922 33.0391C133.177 33.8047 132.167 34.1875 130.891 34.1875ZM130.977 32.7422C131.701 32.7422 132.25 32.5052 132.625 32.0312C133.005 31.5573 133.195 30.8724 133.195 29.9766C133.195 29.0911 133.005 28.4167 132.625 27.9531C132.245 27.4896 131.693 27.2578 130.969 27.2578C130.255 27.2578 129.693 27.5026 129.281 27.9922C128.875 28.4818 128.672 29.1589 128.672 30.0234C128.672 30.8932 128.875 31.5651 129.281 32.0391C129.688 32.5078 130.253 32.7422 130.977 32.7422ZM141.352 27.5234C141.253 27.4974 141.156 27.4792 141.062 27.4688C140.974 27.4531 140.87 27.4453 140.75 27.4453C140.099 27.4453 139.599 27.6849 139.25 28.1641C138.901 28.6432 138.727 29.2682 138.727 30.0391V34H136.906V26H138.727V27.5391H138.758C138.945 26.987 139.221 26.5703 139.586 26.2891C139.951 26.0026 140.38 25.8594 140.875 25.8594C141.016 25.8594 141.141 25.8672 141.25 25.8828C141.365 25.8984 141.474 25.9219 141.578 25.9531L141.352 27.5234ZM149.594 30.4766H144.133C144.164 31.2318 144.383 31.8073 144.789 32.2031C145.195 32.5938 145.763 32.7891 146.492 32.7891C146.789 32.7891 147.128 32.7292 147.508 32.6094C147.888 32.4896 148.263 32.2969 148.633 32.0312L149.453 33.1641C148.958 33.5234 148.456 33.7839 147.945 33.9453C147.435 34.1068 146.872 34.1875 146.258 34.1875C145.013 34.1875 144.044 33.8307 143.352 33.1172C142.659 32.3984 142.31 31.3958 142.305 30.1094C142.305 28.8281 142.661 27.7917 143.375 27C144.094 26.2083 145.013 25.8125 146.133 25.8125C147.206 25.8125 148.049 26.151 148.664 26.8281C149.284 27.5 149.594 28.4531 149.594 29.6875V30.4766ZM147.836 29.2188C147.836 28.5312 147.685 28.0156 147.383 27.6719C147.086 27.3229 146.664 27.1484 146.117 27.1484C145.602 27.1484 145.161 27.3359 144.797 27.7109C144.438 28.0807 144.216 28.5833 144.133 29.2188H147.836Z" fill="white"/> +<defs> +<filter id="filter0_dd_1049_9370" x="13.7812" y="10.0833" width="14.4375" height="6.875" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"> +<feFlood flood-opacity="0" result="BackgroundImageFix"/> +<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/> +<feOffset dy="0.229167"/> +<feGaussianBlur stdDeviation="0.229167"/> +<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0"/> +<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1049_9370"/> +<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/> +<feOffset dy="0.458333"/> +<feGaussianBlur stdDeviation="0.6875"/> +<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0"/> +<feBlend mode="normal" in2="effect1_dropShadow_1049_9370" result="effect2_dropShadow_1049_9370"/> +<feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_1049_9370" result="shape"/> +</filter> +<filter id="filter1_dd_1049_9370" x="15.1562" y="17.6458" width="11.6875" height="11.6875" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"> +<feFlood flood-opacity="0" result="BackgroundImageFix"/> +<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/> +<feOffset dy="0.229167"/> +<feGaussianBlur stdDeviation="0.229167"/> +<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.6 0"/> +<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1049_9370"/> +<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/> +<feOffset dy="0.458333"/> +<feGaussianBlur stdDeviation="0.6875"/> +<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.6 0"/> +<feBlend mode="normal" in2="effect1_dropShadow_1049_9370" result="effect2_dropShadow_1049_9370"/> +<feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_1049_9370" result="shape"/> +</filter> +<filter id="filter2_dd_1049_9370" x="13.1704" y="9.39583" width="15.6594" height="6.18774" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"> +<feFlood flood-opacity="0" result="BackgroundImageFix"/> +<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/> +<feOffset dy="-0.916667"/> +<feGaussianBlur stdDeviation="0.229167"/> +<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0"/> +<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1049_9370"/> +<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/> +<feOffset dy="-0.916667"/> +<feGaussianBlur stdDeviation="0.6875"/> +<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0"/> +<feBlend mode="normal" in2="effect1_dropShadow_1049_9370" result="effect2_dropShadow_1049_9370"/> +<feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_1049_9370" result="shape"/> +</filter> +<linearGradient id="paint0_linear_1049_9370" x1="15.1875" y1="11.0078" x2="19.6603" y2="31.5495" gradientUnits="userSpaceOnUse"> +<stop offset="0.270833" stop-color="white"/> +<stop offset="1" stop-color="#DFDFDF"/> +</linearGradient> +<linearGradient id="paint1_linear_1049_9370" x1="21" y1="13.75" x2="25.0962" y2="32.9541" gradientUnits="userSpaceOnUse"> +<stop stop-color="#0078D4"/> +<stop offset="1" stop-color="#114A8B"/> +</linearGradient> +<linearGradient id="paint2_linear_1049_9370" x1="21" y1="11.6875" x2="21.1934" y2="14.6494" gradientUnits="userSpaceOnUse"> +<stop stop-color="#28AFEA"/> +<stop offset="1" stop-color="#0078D4"/> +</linearGradient> +<linearGradient id="paint3_linear_1049_9370" x1="21" y1="11.6875" x2="21.1934" y2="14.6494" gradientUnits="userSpaceOnUse"> +<stop stop-color="#30DAFF"/> +<stop offset="1" stop-color="#0094D4"/> +</linearGradient> +<linearGradient id="paint4_linear_1049_9370" x1="20.5035" y1="11" x2="20.5035" y2="12.375" gradientUnits="userSpaceOnUse"> +<stop stop-color="#22BCFF"/> +<stop offset="1" stop-color="#0088F0"/> +</linearGradient> +<linearGradient id="paint5_linear_1049_9370" x1="20.5035" y1="11" x2="20.5035" y2="12.375" gradientUnits="userSpaceOnUse"> +<stop stop-color="#28AFEA"/> +<stop offset="1" stop-color="#3CCBF4"/> +</linearGradient> +<clipPath id="clip0_1049_9370"> +<rect width="22" height="22" fill="white" transform="translate(10 11)"/> +</clipPath> +<clipPath id="clip1_1049_9370"> +<rect width="22" height="22" fill="white" transform="translate(10 11)"/> +</clipPath> +</defs> +</svg> diff --git a/docs/images/download_from_microsoft_store_ja.svg b/docs/images/download_from_microsoft_store_ja.svg new file mode 100644 index 0000000..8d3474c --- /dev/null +++ b/docs/images/download_from_microsoft_store_ja.svg @@ -0,0 +1,109 @@ +<svg width="161" height="44" viewBox="0 0 161 44" fill="none" xmlns="http://www.w3.org/2000/svg"> +<rect x="1" y="1" width="159" height="42" rx="4" fill="#202020"/> +<rect x="0.5" y="0.5" width="160" height="43" rx="4.5" stroke="black" stroke-opacity="0.1"/> +<g clip-path="url(#clip0_1049_9431)"> +<g clip-path="url(#clip1_1049_9431)"> +<path d="M10.3438 14.1667C10.3438 13.6604 10.7542 13.25 11.2604 13.25H30.7396C31.2458 13.25 31.6562 13.6604 31.6562 14.1667V28.0313C31.6562 30.1196 29.9633 31.8125 27.875 31.8125H14.125C12.0367 31.8125 10.3438 30.1196 10.3438 28.0313V14.1667Z" fill="url(#paint0_linear_1049_9431)"/> +<mask id="mask0_1049_9431" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="10" y="13" width="22" height="19"> +<path d="M10.3438 14.1667C10.3438 13.6604 10.7542 13.25 11.2604 13.25H30.7396C31.2458 13.25 31.6562 13.6604 31.6562 14.1667V28.0313C31.6562 30.1196 29.9633 31.8125 27.875 31.8125H14.125C12.0367 31.8125 10.3438 30.1196 10.3438 28.0313V14.1667Z" fill="url(#paint1_linear_1049_9431)"/> +</mask> +<g mask="url(#mask0_1049_9431)"> +<g filter="url(#filter0_dd_1049_9431)"> +<path d="M15.8438 13.9375V11.1875H26.1562V13.9375" stroke="url(#paint2_linear_1049_9431)" stroke-width="1.375" stroke-linecap="round"/> +</g> +</g> +<g filter="url(#filter1_dd_1049_9431)"> +<path d="M20.6565 18.0625H16.5315V22.1875H20.6565V18.0625Z" fill="#F25022"/> +<path d="M25.4688 18.0625H21.3438V22.1875H25.4688V18.0625Z" fill="#7FBA00"/> +<path d="M25.4688 22.875H21.3438V27H25.4688V22.875Z" fill="#FFB900"/> +<path d="M20.6562 22.875H16.5312V27H20.6562V22.875Z" fill="#00A4EF"/> +</g> +<path d="M15.8438 13.9375V11.875C15.8438 11.4953 16.1516 11.1875 16.5313 11.1875H25.4688C25.8484 11.1875 26.1562 11.4953 26.1562 11.875V13.9375" stroke="url(#paint3_linear_1049_9431)" stroke-width="1.375" stroke-linecap="round"/> +<rect x="16.5312" y="10.5" width="8.9375" height="1.375" fill="url(#paint4_linear_1049_9431)"/> +<mask id="mask1_1049_9431" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="16" y="10" width="10" height="2"> +<rect x="16.5312" y="10.5" width="8.9375" height="1.375" fill="url(#paint5_linear_1049_9431)"/> +</mask> +<g mask="url(#mask1_1049_9431)"> +<g filter="url(#filter2_dd_1049_9431)"> +<rect x="14.5454" y="11.1877" width="1.98611" height="3.4375" fill="#C4C4C4"/> +</g> +</g> +</g> +</g> +<path d="M51.4219 21H49.5781V13.8516C49.5781 13.5286 49.5859 13.1771 49.6016 12.7969C49.6224 12.4115 49.6484 12.0026 49.6797 11.5703H49.6328C49.5703 11.8672 49.5104 12.1224 49.4531 12.3359C49.401 12.5443 49.349 12.7109 49.2969 12.8359L46.0078 21H44.7266L41.4219 12.9062C41.3802 12.7917 41.3281 12.6224 41.2656 12.3984C41.2083 12.1745 41.1458 11.8984 41.0781 11.5703H41.0312C41.0625 11.9453 41.0833 12.3438 41.0938 12.7656C41.1042 13.1823 41.1094 13.6224 41.1094 14.0859V21H39.3906V9.79688H42.0156L44.9297 17.0781C45.0443 17.3542 45.138 17.6094 45.2109 17.8438C45.2891 18.0729 45.349 18.2865 45.3906 18.4844H45.4375C45.5312 18.1875 45.6198 17.9193 45.7031 17.6797C45.7865 17.4401 45.8646 17.2318 45.9375 17.0547L48.8906 9.79688H51.4219V21ZM54.8984 11.4531C54.5651 11.4531 54.2891 11.3464 54.0703 11.1328C53.8516 10.9193 53.7422 10.6562 53.7422 10.3438C53.7422 10.0208 53.8516 9.75521 54.0703 9.54688C54.2891 9.33854 54.5651 9.23438 54.8984 9.23438C55.237 9.23438 55.5156 9.33854 55.7344 9.54688C55.9531 9.75521 56.0625 10.0208 56.0625 10.3438C56.0625 10.6615 55.9531 10.9271 55.7344 11.1406C55.5156 11.349 55.237 11.4531 54.8984 11.4531ZM55.7969 21H53.9766V13H55.7969V21ZM64.1562 20.5078C63.7604 20.7474 63.3672 20.9193 62.9766 21.0234C62.5859 21.1328 62.1615 21.1875 61.7031 21.1875C60.474 21.1875 59.4896 20.8281 58.75 20.1094C58.0156 19.3906 57.6484 18.4141 57.6484 17.1797C57.6484 15.8516 58.0286 14.7917 58.7891 14C59.5547 13.2083 60.5859 12.8125 61.8828 12.8125C62.3359 12.8125 62.7474 12.862 63.1172 12.9609C63.4922 13.0547 63.8724 13.2109 64.2578 13.4297L63.5469 14.6953C63.276 14.5443 63.0104 14.4349 62.75 14.3672C62.4896 14.2943 62.2057 14.2578 61.8984 14.2578C61.1328 14.2578 60.5417 14.5104 60.125 15.0156C59.7083 15.5208 59.5 16.1901 59.5 17.0234C59.5 17.8984 59.724 18.5703 60.1719 19.0391C60.625 19.5078 61.1927 19.7422 61.875 19.7422C62.0833 19.7422 62.3229 19.7057 62.5938 19.6328C62.8646 19.5547 63.138 19.4323 63.4141 19.2656L64.1562 20.5078ZM70.1484 14.5234C70.0495 14.4974 69.9531 14.4792 69.8594 14.4688C69.7708 14.4531 69.6667 14.4453 69.5469 14.4453C68.8958 14.4453 68.3958 14.6849 68.0469 15.1641C67.6979 15.6432 67.5234 16.2682 67.5234 17.0391V21H65.7031V13H67.5234V14.5391H67.5547C67.7422 13.987 68.0182 13.5703 68.3828 13.2891C68.7474 13.0026 69.1771 12.8594 69.6719 12.8594C69.8125 12.8594 69.9375 12.8672 70.0469 12.8828C70.1615 12.8984 70.2708 12.9219 70.375 12.9531L70.1484 14.5234ZM75.1719 21.1875C73.9219 21.1875 72.9297 20.8151 72.1953 20.0703C71.4661 19.3203 71.1016 18.3177 71.1016 17.0625C71.1068 15.7344 71.487 14.6953 72.2422 13.9453C72.9974 13.1901 74.026 12.8125 75.3281 12.8125C76.5833 12.8073 77.5625 13.1771 78.2656 13.9219C78.974 14.6615 79.3281 15.6641 79.3281 16.9297C79.3281 18.2318 78.9531 19.2682 78.2031 20.0391C77.4583 20.8047 76.4479 21.1875 75.1719 21.1875ZM75.2578 19.7422C75.9818 19.7422 76.5312 19.5052 76.9062 19.0312C77.2865 18.5573 77.4766 17.8724 77.4766 16.9766C77.4766 16.0911 77.2865 15.4167 76.9062 14.9531C76.526 14.4896 75.974 14.2578 75.25 14.2578C74.5365 14.2578 73.974 14.5026 73.5625 14.9922C73.1562 15.4818 72.9531 16.1589 72.9531 17.0234C72.9531 17.8932 73.1562 18.5651 73.5625 19.0391C73.9688 19.5078 74.5339 19.7422 75.2578 19.7422ZM80.4062 20.3594L81.1953 19.0781C81.5078 19.2969 81.8385 19.474 82.1875 19.6094C82.5417 19.7396 82.9245 19.8047 83.3359 19.8047C83.7839 19.8047 84.1302 19.724 84.375 19.5625C84.625 19.3958 84.75 19.1484 84.75 18.8203C84.75 18.5599 84.6458 18.3438 84.4375 18.1719C84.2344 17.9948 83.8854 17.849 83.3906 17.7344C82.3906 17.5 81.6875 17.1901 81.2812 16.8047C80.8802 16.4193 80.6797 15.9115 80.6797 15.2812C80.6797 14.5573 80.9609 13.9661 81.5234 13.5078C82.0859 13.0443 82.8229 12.8125 83.7344 12.8125C84.1875 12.8125 84.6198 12.8724 85.0312 12.9922C85.4427 13.1068 85.8438 13.2917 86.2344 13.5469L85.5 14.7969C85.1562 14.5781 84.8411 14.4219 84.5547 14.3281C84.2682 14.2344 83.974 14.1875 83.6719 14.1875C83.2448 14.1875 82.9115 14.2682 82.6719 14.4297C82.4375 14.5859 82.3203 14.8047 82.3203 15.0859C82.3203 15.3828 82.4401 15.6042 82.6797 15.75C82.9245 15.8906 83.3333 16.0286 83.9062 16.1641C84.7708 16.3724 85.4036 16.6745 85.8047 17.0703C86.2057 17.4609 86.4062 17.9844 86.4062 18.6406C86.4062 19.4167 86.1224 20.0365 85.5547 20.5C84.9922 20.9583 84.2292 21.1875 83.2656 21.1875C82.7448 21.1875 82.2448 21.1198 81.7656 20.9844C81.2917 20.8438 80.8385 20.6354 80.4062 20.3594ZM91.6406 21.1875C90.3906 21.1875 89.3984 20.8151 88.6641 20.0703C87.9349 19.3203 87.5703 18.3177 87.5703 17.0625C87.5755 15.7344 87.9557 14.6953 88.7109 13.9453C89.4661 13.1901 90.4948 12.8125 91.7969 12.8125C93.0521 12.8073 94.0312 13.1771 94.7344 13.9219C95.4427 14.6615 95.7969 15.6641 95.7969 16.9297C95.7969 18.2318 95.4219 19.2682 94.6719 20.0391C93.9271 20.8047 92.9167 21.1875 91.6406 21.1875ZM91.7266 19.7422C92.4505 19.7422 93 19.5052 93.375 19.0312C93.7552 18.5573 93.9453 17.8724 93.9453 16.9766C93.9453 16.0911 93.7552 15.4167 93.375 14.9531C92.9948 14.4896 92.4427 14.2578 91.7188 14.2578C91.0052 14.2578 90.4427 14.5026 90.0312 14.9922C89.625 15.4818 89.4219 16.1589 89.4219 17.0234C89.4219 17.8932 89.625 18.5651 90.0312 19.0391C90.4375 19.5078 91.0026 19.7422 91.7266 19.7422ZM101.977 10.5859C101.831 10.5286 101.698 10.4896 101.578 10.4688C101.458 10.4427 101.328 10.4297 101.188 10.4297C100.802 10.4297 100.51 10.5417 100.312 10.7656C100.12 10.9844 100.023 11.3021 100.023 11.7188V13H101.875V14.4219H100.023V21H98.2109V14.4219H96.8516V13H98.2109V11.625C98.2109 10.8125 98.4714 10.1693 98.9922 9.69531C99.5182 9.21615 100.214 8.97656 101.078 8.97656C101.349 8.97656 101.583 8.99479 101.781 9.03125C101.979 9.06771 102.185 9.11979 102.398 9.1875L101.977 10.5859ZM107.523 20.8906C107.289 20.9896 107.044 21.0625 106.789 21.1094C106.534 21.1562 106.26 21.1797 105.969 21.1797C105.229 21.1797 104.659 20.9844 104.258 20.5938C103.862 20.1979 103.664 19.6094 103.664 18.8281V14.4219H102.32V13H103.664V11.0547L105.477 10.5078V13H107.391V14.4219H105.477V18.6797C105.477 19.0703 105.547 19.3516 105.688 19.5234C105.833 19.6953 106.057 19.7812 106.359 19.7812C106.505 19.7812 106.643 19.7656 106.773 19.7344C106.909 19.6979 107.029 19.6536 107.133 19.6016L107.523 20.8906ZM112.609 20.1953L113.438 18.7656C113.943 19.0781 114.414 19.2995 114.852 19.4297C115.289 19.5547 115.779 19.6172 116.32 19.6172C116.966 19.6172 117.474 19.4792 117.844 19.2031C118.219 18.9219 118.406 18.5208 118.406 18C118.406 17.526 118.25 17.1536 117.938 16.8828C117.63 16.6068 117.107 16.3542 116.367 16.125C115.227 15.7865 114.388 15.3672 113.852 14.8672C113.315 14.3672 113.047 13.6901 113.047 12.8359C113.047 11.9089 113.393 11.1406 114.086 10.5312C114.779 9.91667 115.719 9.60938 116.906 9.60938C117.427 9.60938 117.94 9.66667 118.445 9.78125C118.951 9.89583 119.451 10.0729 119.945 10.3125L119.25 11.7969C118.818 11.5729 118.404 11.4141 118.008 11.3203C117.617 11.2266 117.219 11.1797 116.812 11.1797C116.219 11.1797 115.75 11.3099 115.406 11.5703C115.068 11.8307 114.898 12.1979 114.898 12.6719C114.898 13.0938 115.055 13.4271 115.367 13.6719C115.68 13.9115 116.216 14.1484 116.977 14.3828C118.143 14.7318 118.982 15.1667 119.492 15.6875C120.008 16.2083 120.266 16.9245 120.266 17.8359C120.266 18.8151 119.917 19.6198 119.219 20.25C118.521 20.875 117.526 21.1875 116.234 21.1875C115.589 21.1875 114.958 21.1068 114.344 20.9453C113.729 20.7786 113.151 20.5286 112.609 20.1953ZM125.914 20.8906C125.68 20.9896 125.435 21.0625 125.18 21.1094C124.924 21.1562 124.651 21.1797 124.359 21.1797C123.62 21.1797 123.049 20.9844 122.648 20.5938C122.253 20.1979 122.055 19.6094 122.055 18.8281V14.4219H120.711V13H122.055V11.0547L123.867 10.5078V13H125.781V14.4219H123.867V18.6797C123.867 19.0703 123.938 19.3516 124.078 19.5234C124.224 19.6953 124.448 19.7812 124.75 19.7812C124.896 19.7812 125.034 19.7656 125.164 19.7344C125.299 19.6979 125.419 19.6536 125.523 19.6016L125.914 20.8906ZM130.891 21.1875C129.641 21.1875 128.648 20.8151 127.914 20.0703C127.185 19.3203 126.82 18.3177 126.82 17.0625C126.826 15.7344 127.206 14.6953 127.961 13.9453C128.716 13.1901 129.745 12.8125 131.047 12.8125C132.302 12.8073 133.281 13.1771 133.984 13.9219C134.693 14.6615 135.047 15.6641 135.047 16.9297C135.047 18.2318 134.672 19.2682 133.922 20.0391C133.177 20.8047 132.167 21.1875 130.891 21.1875ZM130.977 19.7422C131.701 19.7422 132.25 19.5052 132.625 19.0312C133.005 18.5573 133.195 17.8724 133.195 16.9766C133.195 16.0911 133.005 15.4167 132.625 14.9531C132.245 14.4896 131.693 14.2578 130.969 14.2578C130.255 14.2578 129.693 14.5026 129.281 14.9922C128.875 15.4818 128.672 16.1589 128.672 17.0234C128.672 17.8932 128.875 18.5651 129.281 19.0391C129.688 19.5078 130.253 19.7422 130.977 19.7422ZM141.352 14.5234C141.253 14.4974 141.156 14.4792 141.062 14.4688C140.974 14.4531 140.87 14.4453 140.75 14.4453C140.099 14.4453 139.599 14.6849 139.25 15.1641C138.901 15.6432 138.727 16.2682 138.727 17.0391V21H136.906V13H138.727V14.5391H138.758C138.945 13.987 139.221 13.5703 139.586 13.2891C139.951 13.0026 140.38 12.8594 140.875 12.8594C141.016 12.8594 141.141 12.8672 141.25 12.8828C141.365 12.8984 141.474 12.9219 141.578 12.9531L141.352 14.5234ZM149.594 17.4766H144.133C144.164 18.2318 144.383 18.8073 144.789 19.2031C145.195 19.5938 145.763 19.7891 146.492 19.7891C146.789 19.7891 147.128 19.7292 147.508 19.6094C147.888 19.4896 148.263 19.2969 148.633 19.0312L149.453 20.1641C148.958 20.5234 148.456 20.7839 147.945 20.9453C147.435 21.1068 146.872 21.1875 146.258 21.1875C145.013 21.1875 144.044 20.8307 143.352 20.1172C142.659 19.3984 142.31 18.3958 142.305 17.1094C142.305 15.8281 142.661 14.7917 143.375 14C144.094 13.2083 145.013 12.8125 146.133 12.8125C147.206 12.8125 148.049 13.151 148.664 13.8281C149.284 14.5 149.594 15.4531 149.594 16.6875V17.4766ZM147.836 16.2188C147.836 15.5312 147.685 15.0156 147.383 14.6719C147.086 14.3229 146.664 14.1484 146.117 14.1484C145.602 14.1484 145.161 14.3359 144.797 14.7109C144.438 15.0807 144.216 15.5833 144.133 16.2188H147.836Z" fill="white"/> +<path d="M42.38 26.2C42.36 26.2867 42.34 26.3833 42.32 26.49C42.3 26.59 42.28 26.69 42.26 26.79C42.24 26.91 42.21 27.0733 42.17 27.28C42.1367 27.4867 42.1 27.7067 42.06 27.94C42.02 28.1667 41.9733 28.3833 41.92 28.59C41.8533 28.8767 41.77 29.2 41.67 29.56C41.57 29.9133 41.4567 30.29 41.33 30.69C41.2033 31.09 41.06 31.5 40.9 31.92C40.74 32.3333 40.5633 32.7467 40.37 33.16C40.1767 33.5667 39.9667 33.95 39.74 34.31L38.92 33.99C39.1533 33.6833 39.3667 33.34 39.56 32.96C39.76 32.58 39.9433 32.1867 40.11 31.78C40.2767 31.3667 40.4267 30.96 40.56 30.56C40.7 30.16 40.8167 29.79 40.91 29.45C41.0033 29.11 41.0767 28.8167 41.13 28.57C41.2233 28.17 41.3 27.7567 41.36 27.33C41.42 26.8967 41.45 26.4867 41.45 26.1L42.38 26.2ZM45.82 27.26C45.98 27.4667 46.1467 27.7233 46.32 28.03C46.5 28.3367 46.6733 28.6633 46.84 29.01C47.0133 29.3567 47.17 29.69 47.31 30.01C47.45 30.33 47.5633 30.6067 47.65 30.84L46.87 31.21C46.7967 30.9567 46.6967 30.6667 46.57 30.34C46.4433 30.0067 46.2967 29.67 46.13 29.33C45.97 28.9833 45.8 28.66 45.62 28.36C45.4467 28.0533 45.27 27.7967 45.09 27.59L45.82 27.26ZM38.78 28.39C38.9333 28.4033 39.08 28.41 39.22 28.41C39.36 28.4033 39.51 28.3967 39.67 28.39C39.8233 28.3833 40.0167 28.3733 40.25 28.36C40.4833 28.34 40.7367 28.32 41.01 28.3C41.29 28.28 41.5633 28.26 41.83 28.24C42.1033 28.2133 42.3533 28.1933 42.58 28.18C42.8133 28.16 42.9967 28.15 43.13 28.15C43.43 28.15 43.7 28.1967 43.94 28.29C44.1867 28.3833 44.3833 28.5533 44.53 28.8C44.6767 29.0467 44.75 29.3933 44.75 29.84C44.75 30.2333 44.73 30.66 44.69 31.12C44.6567 31.5733 44.5967 32.0067 44.51 32.42C44.4233 32.8333 44.31 33.1767 44.17 33.45C44.0167 33.79 43.8167 34.0133 43.57 34.12C43.3233 34.2333 43.0367 34.29 42.71 34.29C42.5233 34.29 42.32 34.2733 42.1 34.24C41.88 34.2133 41.69 34.18 41.53 34.14L41.4 33.31C41.5467 33.35 41.6933 33.3867 41.84 33.42C41.9933 33.4533 42.14 33.4767 42.28 33.49C42.42 33.5033 42.5367 33.51 42.63 33.51C42.81 33.51 42.9733 33.48 43.12 33.42C43.2733 33.3533 43.4 33.2133 43.5 33C43.6067 32.7733 43.6933 32.49 43.76 32.15C43.8333 31.8033 43.8867 31.4367 43.92 31.05C43.96 30.6633 43.98 30.2933 43.98 29.94C43.98 29.6267 43.9367 29.3967 43.85 29.25C43.7633 29.0967 43.64 28.9933 43.48 28.94C43.32 28.88 43.1333 28.85 42.92 28.85C42.7467 28.85 42.5167 28.8633 42.23 28.89C41.9433 28.91 41.6367 28.9367 41.31 28.97C40.99 29.0033 40.69 29.0367 40.41 29.07C40.13 29.0967 39.9133 29.12 39.76 29.14C39.6467 29.1533 39.5 29.1733 39.32 29.2C39.1467 29.22 38.9933 29.24 38.86 29.26L38.78 28.39ZM51.35 26.16C51.5633 26.2267 51.84 26.3 52.18 26.38C52.5267 26.46 52.89 26.54 53.27 26.62C53.6567 26.6933 54.0233 26.76 54.37 26.82C54.7167 26.8733 55 26.91 55.22 26.93L55.03 27.7C54.8433 27.6733 54.6133 27.6367 54.34 27.59C54.0733 27.5433 53.7867 27.49 53.48 27.43C53.1733 27.37 52.87 27.31 52.57 27.25C52.27 27.1833 51.9967 27.1233 51.75 27.07C51.5033 27.01 51.3033 26.96 51.15 26.92L51.35 26.16ZM51.13 27.98C51.0967 28.1533 51.06 28.3667 51.02 28.62C50.9867 28.8667 50.95 29.1267 50.91 29.4C50.87 29.6733 50.8333 29.9333 50.8 30.18C50.7667 30.4267 50.7367 30.63 50.71 30.79C51.1967 30.37 51.71 30.0633 52.25 29.87C52.7967 29.67 53.37 29.57 53.97 29.57C54.4833 29.57 54.93 29.6633 55.31 29.85C55.69 30.03 55.9867 30.28 56.2 30.6C56.4133 30.9133 56.52 31.2667 56.52 31.66C56.52 32.1067 56.4167 32.5133 56.21 32.88C56.01 33.24 55.6933 33.5433 55.26 33.79C54.8333 34.0367 54.2867 34.21 53.62 34.31C52.9533 34.4167 52.1533 34.43 51.22 34.35L50.98 33.53C52.04 33.6567 52.9167 33.6533 53.61 33.52C54.3033 33.38 54.82 33.1467 55.16 32.82C55.5067 32.4867 55.68 32.0933 55.68 31.64C55.68 31.3733 55.6033 31.1367 55.45 30.93C55.2967 30.7233 55.0867 30.5633 54.82 30.45C54.56 30.33 54.26 30.27 53.92 30.27C53.2667 30.27 52.6733 30.39 52.14 30.63C51.6133 30.8633 51.1733 31.19 50.82 31.61C50.7467 31.6967 50.6867 31.7833 50.64 31.87C50.5933 31.95 50.5533 32.03 50.52 32.11L49.78 31.93C49.82 31.7433 49.86 31.52 49.9 31.26C49.94 30.9933 49.98 30.71 50.02 30.41C50.06 30.1033 50.0967 29.7967 50.13 29.49C50.17 29.1833 50.2033 28.89 50.23 28.61C50.2567 28.3233 50.2767 28.0767 50.29 27.87L51.13 27.98ZM65.65 25.94C65.7367 26.0533 65.83 26.1933 65.93 26.36C66.03 26.52 66.1267 26.6833 66.22 26.85C66.3133 27.0167 66.3967 27.17 66.47 27.31L65.93 27.55C65.83 27.35 65.7033 27.1167 65.55 26.85C65.3967 26.5833 65.2533 26.3567 65.12 26.17L65.65 25.94ZM66.75 25.54C66.8367 25.66 66.93 25.8033 67.03 25.97C67.1367 26.1367 67.24 26.3033 67.34 26.47C67.44 26.63 67.5233 26.7733 67.59 26.9L67.05 27.14C66.9433 26.92 66.8133 26.6833 66.66 26.43C66.5067 26.17 66.36 25.9467 66.22 25.76L66.75 25.54ZM61.83 29.65C62.1567 29.8367 62.4933 30.0433 62.84 30.27C63.1933 30.4967 63.5467 30.7333 63.9 30.98C64.2533 31.2267 64.5867 31.4667 64.9 31.7C65.22 31.9333 65.5033 32.15 65.75 32.35L65.16 33.04C64.9333 32.8333 64.6633 32.6067 64.35 32.36C64.0367 32.1067 63.7 31.8533 63.34 31.6C62.9867 31.34 62.6333 31.0933 62.28 30.86C61.9267 30.62 61.5967 30.4033 61.29 30.21L61.83 29.65ZM66.41 27.83C66.3633 27.8967 66.32 27.9833 66.28 28.09C66.24 28.19 66.2067 28.28 66.18 28.36C66.08 28.7 65.9433 29.0667 65.77 29.46C65.6033 29.8533 65.4 30.25 65.16 30.65C64.9267 31.05 64.6633 31.43 64.37 31.79C63.9167 32.35 63.3533 32.8833 62.68 33.39C62.0133 33.8967 61.2067 34.3267 60.26 34.68L59.54 34.05C60.1667 33.8633 60.7333 33.6267 61.24 33.34C61.7467 33.0533 62.2033 32.74 62.61 32.4C63.0167 32.06 63.37 31.7133 63.67 31.36C63.93 31.0467 64.1667 30.71 64.38 30.35C64.6 29.9833 64.79 29.6167 64.95 29.25C65.11 28.8833 65.2267 28.5467 65.3 28.24H61.59L61.92 27.52H65.09C65.2233 27.52 65.3467 27.5133 65.46 27.5C65.5733 27.48 65.67 27.4567 65.75 27.43L66.41 27.83ZM63.04 26.38C62.9533 26.5133 62.87 26.6567 62.79 26.81C62.71 26.9567 62.6433 27.0767 62.59 27.17C62.39 27.53 62.1333 27.93 61.82 28.37C61.5067 28.81 61.1367 29.2467 60.71 29.68C60.2833 30.1133 59.8033 30.5133 59.27 30.88L58.6 30.37C59.1733 30.01 59.67 29.62 60.09 29.2C60.5167 28.7733 60.87 28.3567 61.15 27.95C61.4367 27.5433 61.6567 27.1867 61.81 26.88C61.8633 26.7933 61.9233 26.6733 61.99 26.52C62.0567 26.3667 62.1033 26.2233 62.13 26.09L63.04 26.38ZM73.41 25.99C73.39 26.1433 73.3733 26.28 73.36 26.4C73.3533 26.52 73.35 26.6333 73.35 26.74C73.35 26.82 73.35 26.9433 73.35 27.11C73.35 27.2767 73.35 27.45 73.35 27.63C73.35 27.81 73.35 27.96 73.35 28.08H72.5C72.5 27.9467 72.5 27.79 72.5 27.61C72.5 27.43 72.5 27.26 72.5 27.1C72.5 26.94 72.5 26.82 72.5 26.74C72.5 26.6333 72.4967 26.52 72.49 26.4C72.49 26.28 72.4767 26.1433 72.45 25.99H73.41ZM76.82 27.93C76.7933 28.0033 76.7667 28.1 76.74 28.22C76.7133 28.3333 76.69 28.4367 76.67 28.53C76.6433 28.73 76.6 28.9533 76.54 29.2C76.4867 29.4467 76.42 29.7067 76.34 29.98C76.26 30.2467 76.1667 30.5133 76.06 30.78C75.9533 31.04 75.83 31.2933 75.69 31.54C75.4433 31.9733 75.1267 32.3733 74.74 32.74C74.3533 33.1067 73.9067 33.4267 73.4 33.7C72.9 33.9733 72.3433 34.1967 71.73 34.37L71.08 33.62C71.2467 33.5933 71.42 33.5567 71.6 33.51C71.7867 33.4567 71.96 33.4 72.12 33.34C72.4533 33.2333 72.79 33.0833 73.13 32.89C73.47 32.69 73.7867 32.46 74.08 32.2C74.38 31.9333 74.63 31.6433 74.83 31.33C75.01 31.0433 75.1633 30.73 75.29 30.39C75.4233 30.05 75.53 29.7067 75.61 29.36C75.69 29.0133 75.7467 28.6967 75.78 28.41H70.19C70.19 28.5167 70.19 28.6533 70.19 28.82C70.19 28.9867 70.19 29.1633 70.19 29.35C70.19 29.53 70.19 29.7 70.19 29.86C70.19 30.0133 70.19 30.1267 70.19 30.2C70.19 30.2933 70.1933 30.3967 70.2 30.51C70.2067 30.6233 70.2167 30.72 70.23 30.8H69.36C69.3733 30.7067 69.38 30.6 69.38 30.48C69.3867 30.36 69.39 30.2533 69.39 30.16C69.39 30.08 69.39 29.96 69.39 29.8C69.39 29.64 69.39 29.47 69.39 29.29C69.39 29.1033 69.39 28.93 69.39 28.77C69.39 28.61 69.39 28.4867 69.39 28.4C69.39 28.2933 69.3867 28.1667 69.38 28.02C69.38 27.8733 69.3733 27.7433 69.36 27.63C69.5067 27.6433 69.6533 27.6533 69.8 27.66C69.9533 27.6667 70.1167 27.67 70.29 27.67H75.59C75.7767 27.67 75.92 27.6633 76.02 27.65C76.1267 27.63 76.2133 27.61 76.28 27.59L76.82 27.93ZM80.27 26.67C80.45 26.79 80.6567 26.94 80.89 27.12C81.1233 27.2933 81.36 27.48 81.6 27.68C81.8467 27.8733 82.0767 28.0633 82.29 28.25C82.5033 28.4367 82.68 28.6 82.82 28.74L82.19 29.37C82.0633 29.2433 81.9 29.0867 81.7 28.9C81.5 28.7133 81.28 28.52 81.04 28.32C80.8 28.1133 80.5633 27.92 80.33 27.74C80.0967 27.5533 79.8867 27.4 79.7 27.28L80.27 26.67ZM79.41 33.37C79.9967 33.2833 80.53 33.1633 81.01 33.01C81.4967 32.8567 81.94 32.6833 82.34 32.49C82.74 32.2967 83.0967 32.1033 83.41 31.91C83.9233 31.59 84.3967 31.2233 84.83 30.81C85.2633 30.39 85.6433 29.9567 85.97 29.51C86.2967 29.0633 86.5567 28.6367 86.75 28.23L87.23 29.08C87.0033 29.4933 86.7233 29.9133 86.39 30.34C86.0567 30.7667 85.68 31.1767 85.26 31.57C84.84 31.9633 84.3767 32.32 83.87 32.64C83.5367 32.8467 83.17 33.05 82.77 33.25C82.3767 33.45 81.9433 33.6333 81.47 33.8C81.0033 33.96 80.4933 34.09 79.94 34.19L79.41 33.37ZM89.46 27.15C89.66 27.1567 89.83 27.1633 89.97 27.17C90.11 27.17 90.2367 27.17 90.35 27.17C90.43 27.17 90.5767 27.17 90.79 27.17C91.0033 27.17 91.26 27.17 91.56 27.17C91.8667 27.17 92.1933 27.17 92.54 27.17C92.8867 27.17 93.23 27.17 93.57 27.17C93.9167 27.17 94.24 27.17 94.54 27.17C94.84 27.17 95.0933 27.17 95.3 27.17C95.5067 27.17 95.6467 27.17 95.72 27.17C95.8267 27.17 95.96 27.17 96.12 27.17C96.2867 27.1633 96.4467 27.1567 96.6 27.15C96.5933 27.27 96.5867 27.4 96.58 27.54C96.58 27.6733 96.58 27.8033 96.58 27.93C96.58 27.9967 96.58 28.13 96.58 28.33C96.58 28.5233 96.58 28.76 96.58 29.04C96.58 29.32 96.58 29.6233 96.58 29.95C96.58 30.27 96.58 30.59 96.58 30.91C96.58 31.23 96.58 31.5267 96.58 31.8C96.58 32.0733 96.58 32.3067 96.58 32.5C96.58 32.6867 96.58 32.8067 96.58 32.86C96.58 32.9333 96.58 33.0333 96.58 33.16C96.58 33.2867 96.58 33.4133 96.58 33.54C96.5867 33.6667 96.59 33.78 96.59 33.88C96.5967 33.9733 96.6 34.0367 96.6 34.07H95.74C95.74 34.03 95.74 33.95 95.74 33.83C95.7467 33.7033 95.75 33.5633 95.75 33.41C95.7567 33.25 95.76 33.1 95.76 32.96C95.76 32.9133 95.76 32.7867 95.76 32.58C95.76 32.3733 95.76 32.12 95.76 31.82C95.76 31.5133 95.76 31.1867 95.76 30.84C95.76 30.4867 95.76 30.1433 95.76 29.81C95.76 29.47 95.76 29.16 95.76 28.88C95.76 28.6 95.76 28.3767 95.76 28.21C95.76 28.0433 95.76 27.96 95.76 27.96H90.29C90.29 27.96 90.29 28.0433 90.29 28.21C90.29 28.37 90.29 28.59 90.29 28.87C90.29 29.15 90.29 29.46 90.29 29.8C90.29 30.1333 90.29 30.4733 90.29 30.82C90.29 31.1667 90.29 31.4933 90.29 31.8C90.29 32.1 90.29 32.3533 90.29 32.56C90.29 32.7667 90.29 32.9 90.29 32.96C90.29 33.0467 90.29 33.1467 90.29 33.26C90.29 33.3733 90.29 33.4867 90.29 33.6C90.2967 33.7067 90.3 33.8033 90.3 33.89C90.3067 33.9767 90.31 34.0367 90.31 34.07H89.45C89.45 34.0367 89.45 33.9733 89.45 33.88C89.4567 33.78 89.46 33.6667 89.46 33.54C89.4667 33.4133 89.47 33.29 89.47 33.17C89.47 33.0433 89.47 32.9367 89.47 32.85C89.47 32.7967 89.47 32.6733 89.47 32.48C89.47 32.2867 89.47 32.05 89.47 31.77C89.47 31.49 89.47 31.19 89.47 30.87C89.47 30.5433 89.47 30.22 89.47 29.9C89.47 29.5733 89.47 29.2733 89.47 29C89.47 28.72 89.47 28.4867 89.47 28.3C89.47 28.1067 89.47 27.9833 89.47 27.93C89.47 27.81 89.47 27.68 89.47 27.54C89.47 27.4 89.4667 27.27 89.46 27.15ZM96.08 32.71V33.49H89.9V32.71H96.08ZM99.02 29.67C99.12 29.6767 99.2433 29.6867 99.39 29.7C99.5367 29.7067 99.6967 29.7133 99.87 29.72C100.05 29.72 100.23 29.72 100.41 29.72C100.517 29.72 100.68 29.72 100.9 29.72C101.127 29.72 101.39 29.72 101.69 29.72C101.99 29.72 102.307 29.72 102.64 29.72C102.98 29.72 103.317 29.72 103.65 29.72C103.99 29.72 104.31 29.72 104.61 29.72C104.917 29.72 105.18 29.72 105.4 29.72C105.62 29.72 105.783 29.72 105.89 29.72C106.143 29.72 106.36 29.7133 106.54 29.7C106.72 29.6867 106.863 29.6767 106.97 29.67V30.65C106.87 30.6433 106.72 30.6333 106.52 30.62C106.327 30.6067 106.12 30.6 105.9 30.6C105.793 30.6 105.627 30.6 105.4 30.6C105.173 30.6 104.91 30.6 104.61 30.6C104.317 30.6 104 30.6 103.66 30.6C103.32 30.6 102.98 30.6 102.64 30.6C102.307 30.6 101.99 30.6 101.69 30.6C101.397 30.6 101.137 30.6 100.91 30.6C100.683 30.6 100.517 30.6 100.41 30.6C100.137 30.6 99.8767 30.6067 99.63 30.62C99.3833 30.6267 99.18 30.6367 99.02 30.65V29.67ZM114.56 26.8C114.647 26.92 114.747 27.07 114.86 27.25C114.973 27.4233 115.083 27.6033 115.19 27.79C115.303 27.9767 115.397 28.15 115.47 28.31L114.9 28.57C114.82 28.3967 114.73 28.2233 114.63 28.05C114.537 27.87 114.437 27.6967 114.33 27.53C114.23 27.3567 114.123 27.1967 114.01 27.05L114.56 26.8ZM115.77 26.3C115.857 26.4133 115.957 26.5567 116.07 26.73C116.19 26.9033 116.307 27.0833 116.42 27.27C116.533 27.4567 116.63 27.6267 116.71 27.78L116.15 28.06C116.063 27.8867 115.97 27.7133 115.87 27.54C115.77 27.3667 115.663 27.1967 115.55 27.03C115.443 26.8633 115.333 26.7067 115.22 26.56L115.77 26.3ZM111.05 33.25C111.05 33.1567 111.05 32.97 111.05 32.69C111.05 32.41 111.05 32.0767 111.05 31.69C111.05 31.2967 111.05 30.8833 111.05 30.45C111.05 30.0167 111.05 29.5967 111.05 29.19C111.05 28.7833 111.05 28.4233 111.05 28.11C111.05 27.7967 111.05 27.57 111.05 27.43C111.05 27.29 111.043 27.12 111.03 26.92C111.023 26.72 111.003 26.5433 110.97 26.39H111.96C111.94 26.5433 111.923 26.72 111.91 26.92C111.897 27.1133 111.89 27.2833 111.89 27.43C111.89 27.69 111.89 28.0033 111.89 28.37C111.89 28.73 111.89 29.1167 111.89 29.53C111.89 29.9367 111.89 30.3433 111.89 30.75C111.89 31.15 111.89 31.5267 111.89 31.88C111.89 32.2267 111.89 32.5233 111.89 32.77C111.89 33.01 111.89 33.17 111.89 33.25C111.89 33.35 111.89 33.4733 111.89 33.62C111.897 33.7667 111.907 33.91 111.92 34.05C111.933 34.1967 111.943 34.3233 111.95 34.43H110.99C111.01 34.27 111.023 34.08 111.03 33.86C111.043 33.64 111.05 33.4367 111.05 33.25ZM111.71 29.01C112.037 29.11 112.4 29.23 112.8 29.37C113.2 29.5033 113.603 29.6467 114.01 29.8C114.423 29.9533 114.813 30.11 115.18 30.27C115.553 30.4233 115.88 30.57 116.16 30.71L115.81 31.56C115.523 31.4067 115.2 31.25 114.84 31.09C114.487 30.93 114.12 30.7733 113.74 30.62C113.36 30.4667 112.993 30.33 112.64 30.21C112.293 30.09 111.983 29.9867 111.71 29.9V29.01Z" fill="white"/> +<defs> +<filter id="filter0_dd_1049_9431" x="13.7812" y="9.58333" width="14.4375" height="6.875" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"> +<feFlood flood-opacity="0" result="BackgroundImageFix"/> +<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/> +<feOffset dy="0.229167"/> +<feGaussianBlur stdDeviation="0.229167"/> +<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0"/> +<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1049_9431"/> +<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/> +<feOffset dy="0.458333"/> +<feGaussianBlur stdDeviation="0.6875"/> +<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0"/> +<feBlend mode="normal" in2="effect1_dropShadow_1049_9431" result="effect2_dropShadow_1049_9431"/> +<feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_1049_9431" result="shape"/> +</filter> +<filter id="filter1_dd_1049_9431" x="15.1562" y="17.1458" width="11.6875" height="11.6875" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"> +<feFlood flood-opacity="0" result="BackgroundImageFix"/> +<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/> +<feOffset dy="0.229167"/> +<feGaussianBlur stdDeviation="0.229167"/> +<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.6 0"/> +<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1049_9431"/> +<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/> +<feOffset dy="0.458333"/> +<feGaussianBlur stdDeviation="0.6875"/> +<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.6 0"/> +<feBlend mode="normal" in2="effect1_dropShadow_1049_9431" result="effect2_dropShadow_1049_9431"/> +<feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_1049_9431" result="shape"/> +</filter> +<filter id="filter2_dd_1049_9431" x="13.1704" y="8.89583" width="15.6594" height="6.18774" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"> +<feFlood flood-opacity="0" result="BackgroundImageFix"/> +<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/> +<feOffset dy="-0.916667"/> +<feGaussianBlur stdDeviation="0.229167"/> +<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0"/> +<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1049_9431"/> +<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/> +<feOffset dy="-0.916667"/> +<feGaussianBlur stdDeviation="0.6875"/> +<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0"/> +<feBlend mode="normal" in2="effect1_dropShadow_1049_9431" result="effect2_dropShadow_1049_9431"/> +<feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_1049_9431" result="shape"/> +</filter> +<linearGradient id="paint0_linear_1049_9431" x1="15.1875" y1="10.5078" x2="19.6603" y2="31.0495" gradientUnits="userSpaceOnUse"> +<stop offset="0.270833" stop-color="white"/> +<stop offset="1" stop-color="#DFDFDF"/> +</linearGradient> +<linearGradient id="paint1_linear_1049_9431" x1="21" y1="13.25" x2="25.0962" y2="32.4541" gradientUnits="userSpaceOnUse"> +<stop stop-color="#0078D4"/> +<stop offset="1" stop-color="#114A8B"/> +</linearGradient> +<linearGradient id="paint2_linear_1049_9431" x1="21" y1="11.1875" x2="21.1934" y2="14.1494" gradientUnits="userSpaceOnUse"> +<stop stop-color="#28AFEA"/> +<stop offset="1" stop-color="#0078D4"/> +</linearGradient> +<linearGradient id="paint3_linear_1049_9431" x1="21" y1="11.1875" x2="21.1934" y2="14.1494" gradientUnits="userSpaceOnUse"> +<stop stop-color="#30DAFF"/> +<stop offset="1" stop-color="#0094D4"/> +</linearGradient> +<linearGradient id="paint4_linear_1049_9431" x1="20.5035" y1="10.5" x2="20.5035" y2="11.875" gradientUnits="userSpaceOnUse"> +<stop stop-color="#22BCFF"/> +<stop offset="1" stop-color="#0088F0"/> +</linearGradient> +<linearGradient id="paint5_linear_1049_9431" x1="20.5035" y1="10.5" x2="20.5035" y2="11.875" gradientUnits="userSpaceOnUse"> +<stop stop-color="#28AFEA"/> +<stop offset="1" stop-color="#3CCBF4"/> +</linearGradient> +<clipPath id="clip0_1049_9431"> +<rect width="22" height="22" fill="white" transform="translate(10 10.5)"/> +</clipPath> +<clipPath id="clip1_1049_9431"> +<rect width="22" height="22" fill="white" transform="translate(10 10.5)"/> +</clipPath> +</defs> +</svg> diff --git a/docs/images/endless_game.png b/docs/images/endless_game.png new file mode 100644 index 0000000000000000000000000000000000000000..8c8851ba370eeed9e5328b80b27be6e0c2696edf GIT binary patch literal 12304 zcmeIYWl$Vn^fuTK2o~JkgA)iIGz1F}EHJnPcMEPaxCaRC7A&|29U#Ho-9iZN?r-P! z-`cAEvbD9}-rDV&>gws+SNiF5&v}l7t0>80qLZNm0D$>kPD%{`p3wjR!Z|7;ct@UY z<rM(Dntd<zR^4M^e@R(k!;+%oglR^QSU4~Cb(DR#lbn|vZ7%l7w>_uJAD=H?dZhXi zx09}ZqQ6wWgb+QSI($?6<-zBA;$zP7*zvvG1QIyv|96gS>Wc<%?W9aUF^*m{{n_g9 zuM7_p)2{ko21Q0|*%c<I3`Uiw7Y{K*-)-eG?AQrVV0kZ!-ie97gRf@)dT(oNYpkKM z`GY-zZuCsKD4XH^ZNcDKD|3Xi9z=sMog`f_Jl+rPaJAJtP-E+gThEMMl*h1B4k75? zMMz;E90Kl{AN<7mx%sOpl9fc>PrOwBGC22ZPHMI~%W4p>te|muFj6GQadoB9&gLyJ zhh(?7(s)H1)Y>N+b3yUE?1I8iM6uy(x9xa?-K;AS670j6tNvm`<UHNHJeD|>PAn5? z)l6*R&e~6!Ag)ZM51N2&Ld9O;q!sF?<4<eLn98q>%0D?cyb9uiri}jODMjcgOdYm3 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 D*70bS literal 0 HcmV?d00001 diff --git a/docs/images/og_thumbnail.png b/docs/images/og_thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..4a574ffeb9d30fcd2fc45ceb9fb03d2f25d040f2 GIT binary patch literal 33201 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 literal 0 HcmV?d00001 diff --git a/docs/images/overview.png b/docs/images/overview.png new file mode 100644 index 0000000000000000000000000000000000000000..b97223a12f435cd58f0599ffac166e673940ad91 GIT binary patch literal 42293 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 YBdA=&pb;B5tPDj}QA?rmg;n_f0f=}lVgLXD literal 0 HcmV?d00001 diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..b3232eb --- /dev/null +++ b/docs/index.html @@ -0,0 +1,32 @@ +<!doctype html> +<html lang="en"> + <head> + <meta charset="UTF-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <title>RunCat 365 + + + + + + + + + + + + + +
+ + + diff --git a/docs/privacy_policy.html b/docs/privacy_policy.html new file mode 100644 index 0000000..96e1dde --- /dev/null +++ b/docs/privacy_policy.html @@ -0,0 +1,22 @@ + + + + + + RunCat 365 — Privacy Policy + + + + + + +
+ + + diff --git a/docs/privacy_policy.ja.md b/docs/privacy_policy.ja.md new file mode 100644 index 0000000..d5af974 --- /dev/null +++ b/docs/privacy_policy.ja.md @@ -0,0 +1,46 @@ +:::header + +# RunCat 365 プライバシーポリシー + +[← RunCat 365 に戻る](./index.html?lang=ja) +::: + +中村 拓人(以下、開発者)は、お客様およびユーザーのプライバシーを重視しています。開発者はプライバシーが重要な問題であると認識しており、あなたのプライバシー保護を念頭に置いてサービスを設計・運営しています。このプライバシーポリシーは、RunCat 365 において開発者がどのような情報を収集・利用するか、またあなたの情報の安全性について説明するものです。RunCat 365 を利用することで、あなたはこのプライバシーポリシーに同意したものとみなされます。 + +## 1. 総則 + +### 1.1. このプライバシーポリシーの適用範囲 + +このプライバシーポリシーは、すべてのバージョンの RunCat 365 で提供されるすべてのサービスに適用されます。開発者は、サービスごとに個別のプライバシーポリシーまたは利用規約(個別契約)を定めることがあり、個別契約で情報の取り扱いを別途定めている場合は、個別契約の定めが優先されます。 + +なお、RunCat 365 に表示されたリンクから外部ウェブサイト等へ移動した場合の、リンク先における情報の取り扱いには、このプライバシーポリシーは適用されません。 + +### 1.2. 個人情報 + +個人情報には、あなたの氏名、住所、社会保障番号、メールアドレス、地理的位置情報が含まれます。 + +## 2. 開発者によるユーザー情報の取り扱い + +### 2.1. 決済に必要な情報 + +追加機能の購入など一部の購入サービスでは、決済のためにユーザーのクレジットカード情報を利用することがあります。この決済情報は、第三者が管理する決済プラットフォーム側に保存され、開発者が支払い情報を取得することはありません。 + +### 2.2. その他の情報 + +開発者は、RunCat 365 を通じてその他の個人情報を収集・利用することはありません。どうぞ安心して RunCat 365 をご利用ください。 + +## 3. このプライバシーポリシーの変更 + +このプライバシーポリシーは、随時変更されることがあります。開発者がこのプライバシーポリシーを変更する場合は、状況に応じて適切な方法で変更や更新を通知します。変更の掲載後も RunCat 365 を継続して利用した場合、あなたはその変更に同意したものとみなされます。 + +## 4. 開発者への連絡方法 + +このプライバシーポリシーまたは RunCat 365 に関するご質問、ご意見、その他のお問い合わせは、GitHub Issues を通じて開発者までお寄せください。 + +:::footer +[プライバシーポリシー](./privacy_policy.html?lang=ja) · [GitHub](https://github.com/runcat-dev/RunCat365) · [RunCat Developers](https://runcat-dev.github.io) + +[English](./privacy_policy.html) · **日本語** + +© 2022 Takuto Nakamura (Kyome22) +::: diff --git a/docs/privacy_policy.md b/docs/privacy_policy.md new file mode 100644 index 0000000..b7393dd --- /dev/null +++ b/docs/privacy_policy.md @@ -0,0 +1,46 @@ +:::header + +# RunCat 365 Privacy Policy + +[← Back to RunCat 365](./index.html) +::: + +Takuto Nakamura (hereinafter referred to as the developer) takes the privacy of his customers and users seriously. The developer recognizes that privacy is an important issue, so he designs and operates his services with the protection of your privacy in mind. This privacy policy explains what kind of information the developer collects, uses, and the security of your information in RunCat 365. By using RunCat 365, you consent to this privacy policy. + +## 1. General rules + +### 1.1. Scope of this privacy policy + +This privacy policy applies to all services provided in all versions of RunCat 365. The developer may separately set a privacy policy or terms of use (individual contracts) for each service, and in the case of specifying the handling of information separately in the individual contracts, the provision of the individual contracts will prevail. + +Please note that this privacy policy does not apply to the handling of information at the link destination when moving from a link displayed on RunCat 365 to an external website or the like. + +### 1.2. Personal information + +Personal information includes your name, physical address, social numbers, email address and geographic location information. + +## 2. How the developer deals with the user's information + +### 2.1. Information necessary for settlement + +Some purchase services, such as the purchase of additional functions, may use credit card information of the user for settlement. This settlement information is stored on the side of the settlement platform managed by a third party, and the developer will not acquire payment information. + +### 2.2. Other information + +The developer does not collect and use any other personal information through RunCat 365. Please use RunCat 365 with confidence. + +## 3. Changes to this privacy policy + +This privacy policy may change from time to time. If the developer decides to change this privacy policy, he will provide you additional forms of notice of modifications or updates as appropriate under the circumstances. Your continued use of RunCat 365 following the posting of changes will mean you accept those changes. + +## 4. How to contact the developer + +If you have any questions, comments, or other inquiries regarding this Privacy Policy or RunCat 365, please submit them to the developer via GitHub Issues. + +:::footer +[Privacy Policy](./privacy_policy.html) · [GitHub](https://github.com/runcat-dev/RunCat365) · [RunCat Developers](https://runcat-dev.github.io) + +**English** · [日本語](./privacy_policy.html?lang=ja) + +© 2022 Takuto Nakamura (Kyome22) +::: diff --git a/docs/style.css b/docs/style.css new file mode 100644 index 0000000..576dc26 --- /dev/null +++ b/docs/style.css @@ -0,0 +1,456 @@ +:root { + --lbs-bg: #f5f5f5; + --lbs-surface: #ffffff; + --lbs-ink: #2c2f36; + --lbs-ink-soft: #4a4f5a; + --lbs-muted: #606060; + --lbs-line: #e2e2e2; + --lbs-accent: #5f9ea0; + --lbs-accent-strong: #008b8b; + --lbs-accent-soft: #e3eeef; + --lbs-code-bg: #ededed; + --lbs-radius: 14px; + --lbs-shadow: 0 1px 2px rgba(44, 47, 54, 0.04), 0 8px 24px rgba(44, 47, 54, 0.06); + --lbs-shadow-strong: 0 2px 4px rgba(44, 47, 54, 0.05), 0 14px 32px rgba(44, 47, 54, 0.1); + --lbs-font-sans: "Exo 2", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, "Helvetica Neue", Arial, sans-serif; + --lbs-font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + scroll-behavior: smooth; +} + +body { + margin: 0; + background: var(--lbs-bg); + color: var(--lbs-ink); + font-family: var(--lbs-font-sans); + line-height: 1.7; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +#content { + max-width: 880px; + margin: 0 auto; + padding: 3.5rem 1.5rem 4rem; +} + +/* ----- Header ----- */ + +.lbs-header { + padding-bottom: 2rem; + margin-bottom: 2.5rem; + border-bottom: 1px solid var(--lbs-line); + text-align: center; +} + +.lbs-header .lbs-heading-1 { + margin: 0; + font-style: italic; + font-size: clamp(2.75rem, 8vw, 4.5rem); + line-height: 1.05; + letter-spacing: -0.02em; + font-weight: 700; +} + +.lbs-header .lbs-paragraph { + margin: 0.85rem 0 0; + color: var(--lbs-ink-soft); + font-weight: 600; + font-size: 1.15rem; +} + +.lbs-header .lbs-paragraph a { + border-bottom: none; +} + +/* ----- Hero (lead, demo, download) ----- */ + +.lbs-header + .lbs-paragraph { + max-width: 36rem; + margin: 0 auto 2rem; + text-align: center; + font-size: 1.1rem; + color: var(--lbs-ink-soft); +} + +.lbs-image { + display: block; + max-width: 100%; + height: auto; + margin: 0 auto; +} + +.lbs-paragraph:has(.lbs-image) { + text-align: center; + margin: 1.5rem 0; +} + +.lbs-image[src*="demo"] { + width: 600px; + border-radius: var(--lbs-radius); + box-shadow: var(--lbs-shadow-strong); +} + +/* ----- Screenshots ----- */ + +.lbs-image[src*="overview"], +.lbs-image[src*="custom_runner"], +.lbs-image[src*="endless_game"] { + width: 100%; + max-width: 600px; + border-radius: var(--lbs-radius); + box-shadow: var(--lbs-shadow); +} + +/* ----- Microsoft Store badge ----- */ + +.lbs-image[src*="download_from_microsoft_store"] { + height: 60px; + width: auto; + transition: opacity 0.15s ease, transform 0.15s ease; +} + +.lbs-paragraph:has(.lbs-image[src*="download_from_microsoft_store"]) { + margin-top: 2rem; + margin-bottom: 0.5rem; +} + +.lbs-paragraph a:active .lbs-image[src*="download_from_microsoft_store"] { + opacity: 0.7; + transform: translateY(2px); +} + +/* availability line directly under the store badge */ +.lbs-paragraph:has(.lbs-image[src*="download_from_microsoft_store"]) + .lbs-paragraph { + text-align: center; + color: var(--lbs-muted); + font-size: 0.9rem; +} + +/* ----- Headings ----- */ + +.lbs-heading-2 { + margin: 3.5rem 0 1rem; + font-size: 1.65rem; + letter-spacing: -0.015em; + font-weight: 700; + scroll-margin-top: 1.5rem; +} + +.lbs-heading-3 { + margin: 0 0 0.5rem; + font-size: 1.15rem; + letter-spacing: -0.005em; + font-weight: 600; + color: var(--lbs-ink); +} + +/* ----- Body text ----- */ + +.lbs-paragraph { + margin: 0.85rem 0; + color: var(--lbs-ink-soft); +} + +.lbs-strong { + color: var(--lbs-ink); + font-weight: 600; +} + +.lbs-emphasis { + font-style: italic; +} + +.lbs-ul, +.lbs-ol { + padding-left: 1.4rem; + margin: 1rem 0; + color: var(--lbs-ink-soft); +} + +.lbs-list-item { + margin: 0.45rem 0; +} + +.lbs-list-item::marker { + color: var(--lbs-accent); +} + +/* ----- Links ----- */ + +.lbs-paragraph a, +.lbs-list-item a, +.lbs-details a { + color: var(--lbs-accent-strong); + text-decoration: none; + border-bottom: 1px solid rgba(0, 139, 139, 0.25); + transition: color 0.15s ease, border-color 0.15s ease; +} + +.lbs-paragraph a:hover, +.lbs-list-item a:hover, +.lbs-details a:hover { + color: var(--lbs-accent); + border-bottom-color: var(--lbs-accent); +} + +/* ----- Inline code ----- */ + +.lbs-code-span { + font-family: var(--lbs-font-mono); + font-size: 0.88em; + background: var(--lbs-code-bg); + color: var(--lbs-accent-strong); + padding: 0.12em 0.45em; + border-radius: 6px; +} + +/* ----- Feature cards (silent table / Warp) ----- */ + +.lbs-table.lbs-table-silent { + display: block; + margin: 1.5rem 0; + border: 0; +} + +.lbs-table-silent thead, +.lbs-table-silent tbody { + display: block; +} + +.lbs-table-silent tr { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 1rem; + margin-bottom: 1rem; +} + +.lbs-table-silent tr:has(th:nth-child(3)) { + grid-template-columns: repeat(3, 1fr); +} + +.lbs-table-silent tr:last-child { + margin-bottom: 0; +} + +.lbs-table-silent th { + display: block; + background: var(--lbs-surface); + border: 1px solid var(--lbs-line); + border-radius: var(--lbs-radius); + padding: 1.5rem; + text-align: left; + font-weight: 400; + box-shadow: var(--lbs-shadow); + transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease; +} + +.lbs-table-silent th:hover { + transform: translateY(-3px); + box-shadow: var(--lbs-shadow-strong); + border-color: var(--lbs-accent); +} + +.lbs-table-silent th .lbs-heading-3 { + margin: 0 0 0.5rem; +} + +.lbs-table-silent th .lbs-paragraph { + margin: 0; + font-size: 0.96rem; +} + +/* ----- Image + list columns (monitor section) ----- */ + +.lbs-table-silent tr:has(.lbs-image) { + grid-template-columns: 1fr 1fr; + gap: 2.5rem; + align-items: start; +} + +.lbs-table-silent tr:has(.lbs-image) th { + background: none; + border: 0; + border-radius: 0; + padding: 0; + box-shadow: none; +} + +.lbs-table-silent tr:has(.lbs-image) th:hover { + transform: none; + box-shadow: none; + border-color: transparent; +} + +.lbs-table-silent tr:has(.lbs-image) .lbs-paragraph { + font-size: 1rem; + margin: 0 0 1rem; +} + +.lbs-table-silent tr:has(.lbs-image) .lbs-ul { + margin: 0; +} + +/* ----- Blockquote ----- */ + +.lbs-blockquote { + margin: 1.5rem 0; + padding: 1.1rem 1.4rem; + background: var(--lbs-surface); + border: 1px solid var(--lbs-line); + border-left: 4px solid var(--lbs-accent); + border-radius: 10px; + box-shadow: var(--lbs-shadow); +} + +.lbs-blockquote .lbs-paragraph { + margin: 0; + color: var(--lbs-ink); +} + +/* ----- Details / FAQ ----- */ + +.lbs-details { + background: var(--lbs-surface); + border: 1px solid var(--lbs-line); + border-radius: 12px; + padding: 0.25rem 1.1rem; + margin: 0.65rem 0; + transition: border-color 0.15s ease, box-shadow 0.15s ease; +} + +.lbs-details:hover { + border-color: rgba(95, 158, 160, 0.5); +} + +.lbs-details[open] { + border-color: var(--lbs-accent); + box-shadow: 0 6px 18px rgba(95, 158, 160, 0.12); +} + +.lbs-summary { + cursor: pointer; + padding: 0.85rem 1.75rem 0.85rem 0; + font-weight: 600; + color: var(--lbs-ink); + list-style: none; + position: relative; +} + +.lbs-summary::-webkit-details-marker { + display: none; +} + +.lbs-summary::after { + content: "+"; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); + font-size: 1.4rem; + line-height: 1; + color: var(--lbs-accent); + transition: transform 0.2s ease; +} + +.lbs-details[open] .lbs-summary::after { + content: "−"; +} + +.lbs-details .lbs-paragraph { + margin: 0 0 0.9rem; +} + +/* ----- Footer ----- */ + +.lbs-footer { + margin-top: 4rem; + padding-top: 1.5rem; + border-top: 1px solid var(--lbs-line); + color: var(--lbs-muted); + font-size: 0.9rem; + text-align: center; +} + +.lbs-footer .lbs-paragraph { + margin: 0.35rem 0; + color: var(--lbs-muted); +} + +.lbs-footer a { + color: var(--lbs-muted); + text-decoration: none; + border-bottom: 1px solid transparent; + transition: color 0.15s ease, border-color 0.15s ease; +} + +.lbs-footer a:hover { + color: var(--lbs-accent-strong); + border-bottom-color: var(--lbs-accent-strong); +} + +/* ----- Language switcher (footer) ----- */ + +.lbs-footer .lbs-strong { + color: var(--lbs-accent-strong); + font-weight: 700; +} + +/* ----- Legal pages (restrained, document-like header) ----- */ + +.privacy-policy .lbs-header { + text-align: left; +} + +.privacy-policy .lbs-header .lbs-heading-1 { + font-size: 1.9rem; + font-style: normal; + font-weight: 700; + letter-spacing: -0.01em; +} + +.privacy-policy .lbs-header .lbs-paragraph { + font-size: 0.95rem; + font-weight: 400; +} + +.privacy-policy .lbs-header + .lbs-paragraph { + max-width: none; + margin: 0.85rem 0; + text-align: left; + font-size: 1rem; +} + +/* ----- Responsive ----- */ + +@media (max-width: 640px) { + #content { + padding: 2.5rem 1.25rem 3rem; + } + + .lbs-image[src*="demo"] { + width: 100%; + } + + .lbs-table-silent tr, + .lbs-table-silent tr:has(th:nth-child(3)), + .lbs-table-silent tr:has(.lbs-image) { + grid-template-columns: 1fr; + } + + .lbs-table-silent tr:has(.lbs-image) { + gap: 1.5rem; + } + + .lbs-heading-2 { + margin-top: 2.75rem; + } +}