ksaa 2025.7.20.0__tar.gz → 2025.7.27.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ksaa-2025.7.20.0/ksaa.egg-info → ksaa-2025.7.27.1}/PKG-INFO +2 -1
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/WHATS_NEW.md +18 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/backend/bot.py +60 -12
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/backend/context/task_action.py +9 -46
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/backend/dispatch.py +1 -104
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/backend/flow_controller.py +3 -1
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/errors.py +37 -2
- ksaa-2025.7.27.1/kotonebot/interop/win/message_box.py +314 -0
- ksaa-2025.7.27.1/kotonebot/interop/win/task_dialog.py +469 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/config/produce.py +8 -6
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/config/schema.py +2 -0
- ksaa-2025.7.27.1/kotonebot/kaa/errors.py +38 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/main/gr.py +22 -5
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/metadata.py +18 -0
- ksaa-2025.7.27.1/kotonebot/kaa/resources/__pycache__/__init__.cpython-310.pyc +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/game.db +0 -0
- ksaa-2025.7.27.1/kotonebot/kaa/resources/game_ver.txt +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/tasks/R.py +126 -126
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/tasks/daily/contest.py +39 -8
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/tasks/daily/purchase.py +0 -1
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/tasks/end_game.py +4 -3
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/tasks/produce/in_purodyuusu.py +30 -29
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/tasks/produce/produce.py +2 -1
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/tasks/start_game.py +2 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/ui/user.py +43 -13
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1/ksaa.egg-info}/PKG-INFO +2 -1
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/ksaa.egg-info/SOURCES.txt +129 -126
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/ksaa.egg-info/requires.txt +1 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/pyproject.toml +1 -0
- ksaa-2025.7.27.1/version +1 -0
- ksaa-2025.7.20.0/kotonebot/kaa/resources/__pycache__/__init__.cpython-310.pyc +0 -0
- ksaa-2025.7.20.0/kotonebot/kaa/resources/game_ver.txt +0 -0
- ksaa-2025.7.20.0/version +0 -1
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/LICENSE +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/MANIFEST.in +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/README.md +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/backend/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/backend/color.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/backend/context/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/backend/context/context.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/backend/core.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/backend/debug/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/backend/debug/entry.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/backend/debug/mock.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/backend/debug/server.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/backend/debug/vars.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/backend/image.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/backend/loop.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/backend/ocr.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/backend/preprocessor.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/client/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/client/device.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/client/fast_screenshot.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/client/host/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/client/host/adb_common.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/client/host/custom.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/client/host/leidian_host.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/client/host/mumu12_host.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/client/host/protocol.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/client/host/windows_common.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/client/implements/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/client/implements/adb.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/client/implements/adb_raw.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/client/implements/nemu_ipc/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/client/implements/nemu_ipc/external_renderer_ipc.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/client/implements/nemu_ipc/nemu_ipc.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/client/implements/remote_windows.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/client/implements/uiautomator2.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/client/implements/windows.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/client/protocol.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/client/registration.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/config/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/config/base_config.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/config/manager.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/debug_entry.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/interop/win/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/interop/win/reg.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/common.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/config/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/config/const.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/config/migrations/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/config/migrations/_idol.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/config/migrations/_v1_to_v2.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/config/migrations/_v2_to_v3.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/config/migrations/_v3_to_v4.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/config/migrations/_v4_to_v5.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/config/migrations/_v5_to_v6.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/config/upgrade.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/db/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/db/constants.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/db/idol_card.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/db/sqlite.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/game_ui/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/game_ui/badge.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/game_ui/common.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/game_ui/commu_event_buttons.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/game_ui/dialog.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/game_ui/idols_overview.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/game_ui/primary_button.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/game_ui/schedule.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/game_ui/scrollable.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/game_ui/toolbar.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/image_db/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/image_db/db.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/image_db/descriptors/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/image_db/descriptors/hist.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/kaa_context.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/main/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/main/cli.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/main/dmm_host.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/main/kaa.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-1-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-1-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-1-001_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-1-001_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-2-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-2-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-001_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-001_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-002_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-002_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-003_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-003_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-005_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-005_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-006_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-006_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-007_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-007_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-008_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-008_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-009_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-009_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-010_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-010_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-011_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-011_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-012_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-012_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-1-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-1-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-1-001_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-1-001_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-2-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-2-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-001_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-001_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-002_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-002_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-003_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-003_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-005_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-005_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-006_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-006_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-007_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-007_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-008_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-008_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-009_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-009_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-010_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-010_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-011_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-011_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-012_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-012_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-014_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-014_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hmsz-1-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hmsz-1-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hmsz-1-001_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hmsz-1-001_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hmsz-2-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hmsz-2-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hmsz-3-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hmsz-3-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hmsz-3-001_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hmsz-3-001_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hmsz-3-005_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hmsz-3-005_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-1-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-1-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-1-001_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-1-001_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-2-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-2-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-001_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-001_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-002_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-002_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-003_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-003_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-004_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-004_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-005_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-005_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-006_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-006_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-007_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-007_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-008_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-008_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-009_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-009_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-010_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-010_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-011_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-011_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-012_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-012_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-1-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-1-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-1-001_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-1-001_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-2-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-2-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-001_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-001_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-002_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-002_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-003_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-003_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-005_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-005_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-006_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-006_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-007_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-007_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-008_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-008_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-009_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-009_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-010_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-010_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-011_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-011_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-012_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-012_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-013_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-013_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-1-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-1-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-1-001_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-1-001_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-2-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-2-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-001_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-001_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-002_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-002_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-004_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-004_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-005_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-005_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-006_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-006_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-011_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-011_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-013_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-013_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-1-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-1-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-1-001_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-1-001_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-2-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-2-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-002_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-002_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-003_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-003_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-004_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-004_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-005_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-005_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-006_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-006_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-007_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-007_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-010_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-010_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-012_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-012_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-1-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-1-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-1-001_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-1-001_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-2-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-2-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-001_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-001_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-002_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-002_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-003_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-003_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-004_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-004_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-005_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-005_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-006_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-006_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-007_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-007_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-008_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-008_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-009_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-009_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-010_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-010_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-011_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-011_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-012_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-012_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-1-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-1-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-1-001_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-1-001_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-2-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-2-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-001_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-001_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-002_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-002_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-004_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-004_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-005_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-005_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-006_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-006_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-007_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-007_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-008_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-008_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-009_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-009_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-010_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-010_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-011_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-011_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-012_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-012_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-1-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-1-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-1-001_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-1-001_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-2-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-2-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-001_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-001_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-002_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-002_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-003_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-003_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-004_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-004_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-006_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-006_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-007_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-007_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-008_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-008_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-009_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-009_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-010_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-010_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-011_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-011_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-012_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-012_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-013_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-013_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-1-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-1-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-1-001_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-1-001_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-2-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-2-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-001_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-001_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-002_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-002_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-003_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-003_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-005_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-005_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-006_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-006_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-007_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-007_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-008_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-008_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-009_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-009_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-010_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-010_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-011_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-011_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-012_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-012_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-013_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-013_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-1-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-1-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-1-001_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-1-001_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-2-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-2-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-000_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-000_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-001_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-001_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-002_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-002_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-003_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-003_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-004_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-004_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-006_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-006_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-007_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-007_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-008_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-008_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-009_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-009_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-010_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-010_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-011_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-011_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-012_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-012_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-013_0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-013_1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/00551158-fee9-483f-b034-549139a96f58.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/d56feb26-d560-423f-b5f8-dc06f7a3c8a1.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/03821ecf-fdd2-4e89-8249-fc7288ac79be.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/0554264f-0474-44d0-9209-8135d8840c53.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/04c9d1c8-09b9-402d-b688-796253fdaf0c.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/05890a1b-8764-4e9f-9d21-65d292c22e13.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/94021aa4-fb87-41e7-920a-988a360f8321.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/05903cc9-9f7a-43ac-88e4-988a68311e05.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/5aef61f9-d616-42f2-ae8d-5c5a033231d3.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/093c3fb8-036e-4cf4-917b-d70cabebf571.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/0949c622-9067-4f0d-bac2-3f938a1d2ed2.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/0bf5e34e-afc6-4447-bbac-67026ce2ad26.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/0c0627be-4a09-4450-a078-1858d3ace532.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/0d9ac648-eefa-4869-ac99-1b0c83649681.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/0f7d581d-cea3-4039-9205-732e4cd29293.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/562f176f-af1e-4352-aeed-62e362177f9f.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/0f986eac-1e3c-48ed-9850-cae529b30503.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/e281792b-000b-4048-afb7-e8bb0dbd88b3.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/116bf963-ad4a-401a-91f7-e3a56a4848b9.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/9e0492b7-3b66-48a2-b589-91e7fd16106d.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/14283368-d85d-458a-8f2c-b112bd02256e.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/401966c8-2095-4eef-b92a-764122de02d9.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/15ee94ce-1930-4eff-9ce2-0ebe947aaa05.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/1652f06a-5417-49ef-8949-4854772d9ab7.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/16fbc93d-b294-4001-b4e9-ee2af181415f.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/185f7838-92a7-460b-9340-f60858948ce9.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/1926f2f9-4bd7-48eb-9eba-28ec4efb0606.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/d54fc8f5-e50d-45dd-b123-92414f93488c.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/1b2a0de3-34cc-42b2-8af3-bfeb8d0d679c.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/b25627d6-3352-4fe8-93c2-b653efe104d4.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/1c14e581-b664-488c-9d29-f5228ee6d328.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/ddae5592-adc3-4c36-bfdd-6c6d91823296.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/1d457687-ff10-41b0-95e1-6c1b3868b2a0.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/0002785c-3caa-4c8f-8d47-f29aee04a588.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/1f5f5454-eb1c-45c3-8467-80c224d528e6.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/213016c2-c3a2-43d8-86a3-ab4d27666ced.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/23d88465-65d9-4718-8725-8dbf0a98a5a4.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/24dc7158-036c-4a66-9280-e934f470be53.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/24e99232-9434-457f-a9a0-69dd7ecf675f.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/dd699396-5500-43ad-8470-cf7a8ba013ec.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/252f1cd3-8e09-4b34-b5ba-47b1137a19c1.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/fda67b44-d46d-4789-89a3-0786c60987ab.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/2585cb7b-af94-46ac-a31d-f50bd09f40a6.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/25f00ee3-8dfe-42d1-a67e-191fa5c3df4b.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/05a23a4a-9b93-4fbd-b4e9-15a7c4a91fdc.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/28e5138d-bcd4-40d2-9e2f-0c845004b8ae.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/c5774fb4-be11-4b28-8f58-299ae8872cc1.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/29fc852e-4c61-416d-80ff-f28c5a64abc1.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/9449ff36-7adb-42d5-b89d-bf9147d62811.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/2a539cb4-827f-449b-9780-14a94678948b.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/2bd6fe88-99fa-443d-8e42-bb3de5881213.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/bcc433e0-8a4e-455f-b625-4583cea19c1c.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/2c2ff5ed-3b1a-4dcc-89a9-9457908cb184.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/fd77088d-652a-472e-9f84-dcc83d40a6bf.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/2d902d81-5500-4265-9867-c5c4cac573d7.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/2ededcf5-1d80-4e2a-9c83-2a31998331ce.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/303cccc1-c674-4d3a-8c89-19ea729fdbef.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/30a6f399-6999-4f04-bb77-651e0214112f.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/9d80c1ef-0f42-4622-ab9a-bfcc077dace6.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/31122061-ea7a-419e-8072-8552013a8255.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/d14633f5-9682-4b59-a4ef-e92a2d26d86b.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/31745cd7-226e-4e11-b96d-2e202a7097e7.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/83f9e9a0-54dd-4601-8e54-3091c2892e67.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/34dcd41c-b800-43b4-b24f-c569bae59db2.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/d627ba81-9c86-4b53-9ab9-86c8748d8daa.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/360bcb7f-c710-49d5-9942-2812ed03a447.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/0aa4472c-b533-46cc-a072-9d165d955424.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/36e02aa6-f858-4248-b39e-e16686d6baf1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/3942ae40-7f22-412c-aebe-4b064f68db9b.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/d83f2631-b9d8-4fd6-ab1c-50b0a013f3f0.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/39882ba6-c9d9-4742-b92d-206781c5f60e.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/0e29489c-6728-46cd-bd13-2b9d9e74b2da.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/3ace2c73-cf00-4706-9aac-1a0229b1b3f5.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/3b473fe6-e147-477f-b088-9b8fb042a4f6.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/04feeecc-a607-402d-bbc4-a71af87c7fc2.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/3bd19f01-57f8-4f8b-98b7-b5dd0779f77d.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/3c8b477a-8eda-407e-9e9f-7540c8808f89.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/a009c9de-029e-4999-b728-e6877374325a.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/3cd5382a-a679-4f06-ab83-6328a943148d.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/f16d6f1e-b9ff-4cff-aed3-dd150caf8f07.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/3d7d1e3f-29c7-431d-8621-3f31b8880492.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/681157d7-b37f-442f-b784-86fa9029ecdb.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/3e558d01-1d7d-4ed3-9200-738252539dc1.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/8a2938ad-5657-4f66-8447-4bc7fa45b857.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/3ea31c2c-1421-421c-a7fa-7994c06e4bca.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/3f637e86-6b74-4693-9131-1fe411fc21e5.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/4096cffa-a889-4622-852e-760fc7022d93.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/39f88061-a997-4a8a-b09e-4a2425f4a83a.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/432df4be-4970-4ac0-8465-a698bce6fe65.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/447d0e44-5d87-4b7c-8e60-edb111fe1639.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/44ba8515-4a60-42c9-8878-b42e4e34ee15.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/4503db6b-7224-4b81-9971-e7cfa56e10f2.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/4622e955-7bb1-450d-a776-01543540fde3.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/464c3d3a-c772-4f85-94d5-970f46c8d213.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/4695f96b-c4f5-4bb6-a021-a13b6ceb2883.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/1609d037-a3fc-485b-96c6-cf1790434c01.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/47f4b0a5-5792-4e82-b597-d58ea0b1f494.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/4883c564-f950-4a29-9f5f-6f924123cd22.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/143db8eb-fdde-4de0-a946-a14123b9262e.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/4c444aaf-a2d1-44f1-aacc-b737f262a746.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/9b696383-10dd-4a35-8546-1ccdb8891373.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/4ced1b5f-bbd2-4230-8555-233d082f4d05.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/4d78add6-1027-4939-bb51-f99fca7db2ce.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/7f4accdd-bd72-45e6-8469-692e27986486.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/4de619fd-ed06-4210-b1f0-11556deb4dd9.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/5031808b-5525-4118-92b4-317ec8bda985.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/9a9d9398-15df-46ea-a247-04ba01f61603.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/5033ca17-1327-4554-b939-968b8a78f10a.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/50e23c8a-7ba2-4c9c-9cfb-196c260fa1d5.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/bc01675d-453c-43f2-9075-f9567c8aa6f9.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/52ae79ea-f4a4-4c19-9fe8-327f285ace1e.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/55f7db71-0a18-4b3d-b847-57959b8d2e32.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/71d6a37d-45df-456f-b673-d1e8b35ee619.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/566e641a-a364-415c-a17b-2db7862f2714.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/582d36c0-0916-4706-9833-4fbc026701f5.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/e89c23b0-ca58-49d1-b439-967a4a4a431d.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/5a0d6f90-3758-4baa-94fc-a4a412284628.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/b66e13a1-636c-4478-9d72-7d200ff670a9.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/5ba7d61f-282d-4ad0-881a-842c26e7f66c.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/5d36b880-7b3f-49b1-a018-7de59867d376.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/5ebcde3b-f0fd-4e5d-b3de-ada8f0b5e03b.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/3645c21a-acd8-4ec4-a286-d9031736342c.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/5f3937f7-a5de-4a11-bcf9-da586596bf47.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/6cacdb8f-2ea3-4e3c-a124-b957b75ea427.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/60cfef80-cd08-4205-8088-8d0b22a59b5a.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/49ccf947-13a5-4839-8f85-d0fe40094e77.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/61f56d51-8d30-4aed-857a-8eff6fab27c1.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/dcc214f3-9707-4a2c-aaff-3834e6f12f0b.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/6468ab50-2d25-4b18-b555-2a56397968b0.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/04425af8-ba28-407d-ad18-8c3a2483025d.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/6597b7fd-3c5b-442f-a327-d18b555de544.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/38c0ed08-5af3-4fca-a37f-27d66fd35a4c.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/661d0e8d-379d-401d-9f29-147e70123adf.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/f543861e-c3d5-4bc9-a677-47f9e86918ea.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/66c7e6df-5c90-4b3a-9b51-78cff1357ed7.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/0e4b4481-6805-4a1b-a3d8-913681968662.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/6a033af8-222c-459a-9ab9-a9a69b27822d.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/6b58d90d-2e5e-4b7f-bc01-941f2633de89.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/9dbc5d76-8c6a-4638-b0c2-eba79542ec58.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/6c151fbe-7cf9-4629-b47a-da7be835bb4b.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/6cd80be8-c9b3-4ba5-bf17-3ffc9b000743.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/6e59d072-06f8-488f-a453-8ba60a05d691.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/6d225f8d-efc0-42a5-93af-7b81e24377c5.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/e36ec591-8bf5-4deb-9f28-3977576de931.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/749bd918-8dfb-4393-bf91-b39e285f1d75.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/74ec3510-583d-4a76-ac69-38480fbf1387.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/a3384f38-334c-440a-ab06-405bad293bab.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/75cad2af-b8c5-4f5f-8398-acd90eb4348e.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/966bcfd4-fefc-4704-907d-45bc6098d3f4.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/76acc2b6-6649-4b1a-bd52-18ab9a2341d0.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/79abd239-5eed-4195-9fa8-d729daa874ca.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/2cff833f-10bd-478c-8760-99162c71e9e3.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/7a8c4af3-2ac1-4295-b844-350ad00f2c50.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/610ea09a-d623-428f-ac97-1b51dc5e9202.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/7b552e56-0065-45d8-a0dc-bfe3be62b91f.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/d6314592-b8a4-4025-9875-b135bf986cf7.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/7c7cbe5a-37f0-4cf3-8376-4ceeb7a662b0.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/20733b9b-1df7-42af-ab55-3364e8623602.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/7dcc9134-9e5f-433b-ae5c-7530484f3f5f.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/c3562fef-44f7-43d2-a4e6-e7ee21f8bdc5.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/7dfdefa7-d95f-4348-9e0b-640ed17e138f.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/a4553bb1-27b9-47c4-8f51-1cff2129df8e.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/7e4a2554-c05b-458f-b31f-ac6930e8078e.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/1bb92c94-af17-492e-9d22-393c12b7f346.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/7e614cff-b492-4c4d-bbfe-0853ff65fcec.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/87c7532f-2394-403e-a6d8-7a216043ec13.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/7fcc8f4c-9d06-4747-8c1e-aaba3a61cc0e.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/e075c8cb-7eef-47cf-b9fe-9e3d1bd98e85.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/80c6d473-1eb2-4d65-8e8d-8f267ab61cd9.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/81c97cd3-df53-44d3-bf3d-1eb4dc67b62a.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/40f04ad0-44c0-4913-89aa-bc466bfd6ace.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/81fec353-ad18-4223-9ea3-8d128a4a3e77.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/835489e2-b29b-426c-b4c9-3bb9f8eb6195.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/83d0a033-466c-463a-bb8c-be0f2953e9b2.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/8424ecdd-8857-4764-9fd0-d4bfa440c128.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/f0952cb2-dadb-4d9a-933e-cabcbf8850fb.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/88e4e3c6-3f6b-4192-83c7-4b20a51ad53a.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/79226566-26e2-4c2f-8f6a-4e4deb9fa9ea.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/8938249c-94d3-4f20-8013-85d481a54d87.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/8c179a21-be6f-4db8-a9b0-9afeb5c36b1c.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/1737a9e0-f8c4-416e-bbad-cb97a658ae9a.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/8cbbfa8e-17aa-42e7-92f7-319a02c8f7fa.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/8ded6c98-85ea-4858-a66d-4fc8caecb7c5.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/8e0964c4-6e34-43cb-a333-d60bceae7f11.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/8ed3eab8-779b-4b66-bc24-06b0b1dfac18.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/8f8b7b46-53bb-42ab-907a-4ea87eb09ab4.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/921eefeb-730e-46fc-9924-d338fb286592.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/9340b854-025c-40da-9387-385d38433bef.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/3e34e821-ae69-49aa-9d04-bc34b3037cd5.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/967b207a-79bb-479a-b50e-b2a04cf7ed54.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/a514ce10-bff1-4aa0-9625-bf560dcb8be5.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/96b12d02-c634-4e9c-a465-7ee61d5fc0bd.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/2dab2877-c6c3-45d9-849f-fb2d79b7b74e.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/9a0c8f11-33f0-4c53-a911-556f3481d952.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/67f00dd1-86c9-4a49-a37c-87879171a46a.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/9b439501-e57d-4912-9f57-67c4534060f7.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/a77c1724-eb8f-4a1a-8997-516deb75ae78.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/9f2a6935-f462-4726-b56e-8cf23aae3982.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/9fd0753f-c607-4d49-82d1-40bda27e014f.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/a0bd6a5f-784d-4f0a-9d66-10f4b80c8d3e.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/b6f5243b-cfb4-42d2-b4eb-2fd1a9d33ab7.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/a148b768-8c8d-4fee-b29f-11d73240a3d0.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/c577c19e-aa5d-4670-b44c-1c0b3d72451a.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/a1791427-52af-4d1e-8e95-e0533cb66d3c.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/a1df3af1-a3e7-4521-a085-e4dc3cd1cc57.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/25f18ff9-dbae-4aed-87b4-c05ca6c4ebf4.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/a2d9b907-f68e-47c7-8aa6-31c07c272d94.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/10a329df-2515-4551-a130-07e86058abdf.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/a3d5b052-526f-45ef-a2ed-5bba8ca9e4b1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/a48324ae-7c1a-489e-b3c4-93d12267f88d.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/6ac4a3b5-66d2-4429-8cd1-945fbb48280c.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/a66625f6-f80c-48e4-a344-e48036085e2b.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/1f9f101b-2647-4d14-931e-7a8307495475.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/a6bd2250-81b5-4f54-b6d9-bf9a5a4876d1.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/a5d3efa4-ec3e-4637-835a-147af973bbf8.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/a7e31af5-a896-47bb-af4b-e71936ac6334.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/a9fcaf04-0c1f-4b0f-bb5b-ede9da96180f.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/64298c97-baac-48b9-be7d-cb14091aa3cb.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/aab26578-b548-41e5-8996-40ef821ca041.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/9169bf8e-5907-42e5-b102-47da3bf9a0b1.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/ac0b1f47-ce60-479a-9c5d-d8ced42ec0e0.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/12151e09-e5f1-4b1d-a211-63cb300cb082.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/acff3d83-f570-4c65-9bb3-db69cd525262.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/88945ecf-9ac5-46dc-8af6-b21dbfded665.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/ad9cc197-c83d-4d39-b187-7105cde60ef5.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/f2d8a534-8afd-475c-ac20-738c7efffc90.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/adc38fcc-84d2-4f7c-846d-4fe96dd5d08a.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/adc533a7-970b-4c5b-a037-2181531a35d6.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/ae9fe233-9acc-4e96-ba8e-1fb1d9bc2ea5.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/b0283997-7931-476d-a92f-d7569f6ea34c.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/b2af59e9-60e3-4d97-8c72-c7ba092113a3.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/b2e1bf3c-2c36-4fb5-9db7-c10a29563a37.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/10d9a788-24a2-42e1-9284-78f507986606.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/b5a58c56-3f09-47e5-ab61-57bab752e735.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/b62bf889-da3c-495a-8707-f3bde73efe92.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/b6b94f21-ef4b-4425-9c7e-ca2b574b0add.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/3e613561-8dbd-4094-9889-53f08541a716.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/b92c4308-3778-47aa-8a0b-222d32721beb.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/bab6c393-692c-4681-ac0d-76c0d9dabea6.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/cab0b1ff-b40a-42a8-b799-75e309b2dee3.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/bba3cd68-3023-4a7b-9fe9-36ec7adbfc89.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/bc7155ac-18c9-4335-9ec2-c8762d37a057.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/f217d7cf-acf5-44eb-9f99-025bbcaea866.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/bd04472b-eeeb-4ad7-b385-8347b7053887.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/8fb17c7f-778d-4cd5-8d2f-dbf21d264297.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/c157661d-de06-4e34-bc3b-7d79c987e26d.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/89d3c0a6-266e-486e-998d-ecd0d2536814.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/c2e3d6ac-00b6-4d2a-a30b-52a1190f5f05.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/df9d09c3-8f15-4caf-bb21-f69644fb4705.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/c370b930-9750-4782-9564-5ce4cd609bdd.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/c3f536d6-a04a-4651-b3f9-dd2c22593f7f.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/c5b7d67e-7260-4f08-a0e9-4d31ce9bbecf.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/c78c38cc-7b61-4dc4-820d-0a5b684ef52e.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/12d0271c-1a86-4d2c-b379-b7df847fe20b.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/c84eada8-ff68-4d73-802b-6de88e73ec6d.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/97a543a8-a859-4a1e-8e33-602f600db389.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/c8f444cc-e809-44c2-86a3-3cbb5bcd0356.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/c948f136-416f-447e-8152-54a1cd1d1329.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/c954e153-d3e9-4488-869f-d00cfdfac5ee.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/cb3d0ca7-8d14-408a-a2f5-2e25f7b86d6c.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/cbf4ce9c-f8d8-4fb7-a197-15bb9847df04.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/cc60b509-2ed5-493d-bb9f-333c6d2a6006.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/cc8a495d-330d-447d-8a80-a8a6ecc409c5.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/ccbcb114-7f73-43d1-904a-3a7ae660c531.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/ce1d1d6f-38f2-48bf-98bd-6e091c7ca5b8.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/cfc9c8e8-cbe1-49f0-9afa-ead7f9455a2e.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/41f0e90a-a352-450c-a788-0303d038227a.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/d0881e29-6da6-4823-b65c-eefa9f9f2208.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/fef40be1-5b75-4023-9977-df46cd211a86.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/d0ad5222-0ee0-412e-819f-3217f9fd854b.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/d271a24f-efe8-424d-8fd5-f6b3756ba4ca.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/e04331fe-d62e-4f77-953d-78515ee5686e.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/d32f8851-4fd2-4484-8ae8-66a375a43f3d.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/d3424d31-0502-4623-996e-f0194e5085ce.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/d3cc3323-51af-4882-ae12-49e7384b746d.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/5d3b3a20-89bb-4cf2-9973-25581c32e91c.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/d5a9d7f7-a065-4ff3-ae4c-b027f348ef54.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/b169172d-8ce2-432a-bed6-1dfc30bcc95c.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/d6235144-ce78-4884-88b4-d1a12b76155f.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/d6b64759-26b7-45b1-bf8e-5c0d98611e0d.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/d7667903-7149-4f2f-9c15-d8a4b5f4d347.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/0a4c6cbe-f42e-4301-9c1a-101fc33421d2.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/d77a936b-c0ae-4dbd-8b44-82288a0957d6.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/d83f338d-dde3-494b-9bea-cae511e3517c.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/15fe6944-396c-467b-80db-476bbdf65a80.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/d94ce829-a7ab-44aa-bc0c-a4801b650088.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/d982d2b5-4bc0-4ae9-a516-f29c2848d64b.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/da439e8c-3b74-4371-9657-0736d826c7d1.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/daf3d823-b7f1-4584-acf3-90b9d880332c.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/db7d3f03-1f7f-43bf-8125-f7c2d345fca2.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/92a42da1-d8d2-4233-b6d0-5997a72f3d03.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/dc64e856-2f31-48b1-b17d-32b499f819ce.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/3fc47270-febf-492e-b8fc-0a9793bc0d56.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/dd5ffd48-2ab0-4795-8193-8a8310101574.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/6582463d-b4fa-40a1-b771-664c7f71fe9c.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/ddc8f913-e9ae-46dc-a91a-d3ee79e9f32d.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/de325534-3fd3-480a-9eb8-eb47960a753a.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/df991b42-ed8e-4f2c-bf0c-aa7522f147b6.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/1aed664e-ceb3-4a1d-a338-df08dc8ebbd3.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/e049018e-9d2b-4537-add1-e902cf8ac69a.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/2cea06ca-99f6-4bc5-8dd0-2bba80b07b17.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/e25468f5-929a-4a49-a2e0-4527075353b5.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/e4683def-8d1d-472b-a5ab-bb3885c0c98e.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/32907971-0e98-4adc-91b8-ac0308c11c3c.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/e54b7482-a348-4252-a373-2ee69b3805b5.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/e5e84f9e-28da-4cf4-bcba-c9145fe39b07.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/f58c3a84-60ea-415b-ac63-4b534dc8cb6c.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/e62afa2c-1c5b-426e-8ff1-ea51f75d0f20.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/e6b45405-cd9f-4c6e-a9f1-6ec953747c65.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/731ed76d-6d6c-48b9-82c3-045cc1ecc419.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/e7a0ea00-2a72-4d74-8664-53726e3e1078.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/e88c9ad1-ec37-4fcd-b086-862e1e7ce8fd.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/e9ee330d-dfca-440e-8b8c-0a3b4e8c8730.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/ea1ba124-9cb3-4427-969a-bacd47e7d920.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/eaba6ebe-f0df-4918-aee5-ef4e3ffedcf0.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/487ae483-2787-4982-93b0-4847665683e9.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/eb67d908-13f8-4cef-9a86-9770e342ab77.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/3a595ec9-d813-4c09-b8b8-be8f5da88faa.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/ebb662bb-62b4-404c-bb8f-4a7d5feccaa8.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/ee4e512b-4982-49b6-9c71-31984b58e1d0.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/c92a2935-cf41-4f56-911a-bc40f122cbf3.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/ee8a6029-63b3-4c13-bdc5-9bd8546d3316.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/d81b7022-5c81-4533-b949-7e9d75a5b8b4.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/eea2af85-94b2-4c41-8f51-393059dcc43c.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/f5727018-9a23-40de-840e-610d6e5dfa9d.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/eec4d7d6-3084-4bab-99c1-10e3a9459393.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/eef25cf9-afd0-43b1-b9c5-fbd997bd5fe0.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/be83e205-8ec5-452f-b42b-b98156516aa8.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/efb31647-3760-4b76-8b5d-ec4b5fb7a975.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/951ae4be-40f3-4ccc-8578-77aca7f25eef.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/f03739ee-31e1-40ca-9aaf-6c0447d426a4.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/9dfa46c9-54ec-4dd7-8f2e-e1e66c1206f1.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/f08044bf-8a33-4d6b-8791-94470678efa6.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/f1f21925-3e22-4dd1-b53b-bb52bcf26c2b.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/183df82f-acea-4d40-87a8-18fc8ddab6d0.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/f23cb531-18b5-4852-bb11-56dc621e56cc.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/f43c313b-8a7b-467b-8442-fc5bcb8b4388.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/f5c16d2f-ebc5-4617-9b96-971696af7c52.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/f6ca6bd3-543f-4779-8367-c5c883f04b95.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/377857a9-c37f-4a90-afa9-00c4ff7b24ae.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/f7a4208f-0373-4f26-907f-84c3f2b810fc.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/2bb9dbf7-6cb2-426a-a35c-7228a1320220.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/f88f9f3b-e0e7-498c-ad1c-e92a719164f3.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/70671b9e-9ebb-4dee-bc5a-dbcb70364adf.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/f93c7a24-157d-43ef-adcc-3873d313c6d7.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/63cd694d-343e-468d-a53f-360c97f71ee6.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/f957fbb8-ba30-47c0-97b8-ff531d6e3831.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/sprites/fad5eec2-5fd5-412f-9abb-987a3087dc54.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/dcc2da94-2c9d-4248-bce5-731651e391ae.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/fbbf4921-ece5-4dc0-875d-8f7182596d4f.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/131fb7e1-6eb9-4722-9943-76ff05c5baee.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/ff361c63-3f3d-48df-a26f-7698bd459219.png +0 -0
- /ksaa-2025.7.20.0/kotonebot/kaa/sprites/e4a92c92-0974-40e0-b488-16ea7a4c1a29.png → /ksaa-2025.7.27.1/kotonebot/kaa/sprites/ff5a0417-229f-41bd-8121-708b08417114.png +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/tasks/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/tasks/actions/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/tasks/actions/commu.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/tasks/actions/loading.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/tasks/actions/scenes.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/tasks/actions/stats.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/tasks/clear_logs.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/tasks/daily/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/tasks/daily/acquire_activity_funds.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/tasks/daily/acquire_presents.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/tasks/daily/assignment.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/tasks/daily/capsule_toys.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/tasks/daily/club_reward.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/tasks/daily/mission_reward.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/tasks/daily/upgrade_support_card.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/tasks/produce/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/tasks/produce/cards.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/tasks/produce/common.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/tasks/produce/non_lesson_actions.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/tasks/produce/p_drink.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/util/paths.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/kaa/util/trace.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/logging/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/logging/log.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/primitives/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/primitives/geometry.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/primitives/visual.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/tools/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/tools/mirror.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/ui/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/ui/file_host/sensio.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/ui/file_host/tmp_send.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/ui/pushkit/__init__.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/ui/pushkit/image_host.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/ui/pushkit/protocol.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/ui/pushkit/wxpusher.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/kotonebot/util.py +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/ksaa.egg-info/dependency_links.txt +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/ksaa.egg-info/entry_points.txt +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/ksaa.egg-info/top_level.txt +0 -0
- {ksaa-2025.7.20.0 → ksaa-2025.7.27.1}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ksaa
|
|
3
|
-
Version: 2025.7.
|
|
3
|
+
Version: 2025.7.27.1
|
|
4
4
|
Summary: Kotones Auto Assistant(kaa) is a script for game 'Gakuen Idol M@ster' that automates the dailies and produces.
|
|
5
5
|
Requires-Python: ~=3.10
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
@@ -26,6 +26,7 @@ Requires-Dist: onnxruntime==1.14.0
|
|
|
26
26
|
Requires-Dist: numpy<2.0
|
|
27
27
|
Requires-Dist: pywin32==310
|
|
28
28
|
Requires-Dist: ahk==1.8.3
|
|
29
|
+
Requires-Dist: win11toast==0.35
|
|
29
30
|
Dynamic: license-file
|
|
30
31
|
|
|
31
32
|
# Kotone's Auto Assistant 琴音小助手
|
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# 更新日志
|
|
2
2
|
## kaa
|
|
3
|
+
### v2025.7.27.1
|
|
4
|
+
脚本:
|
|
5
|
+
* [修复] 修复检测培育阶段函数过早返回的问题(#de1328c)
|
|
6
|
+
|
|
7
|
+
### v2025.7.27.0
|
|
8
|
+
脚本:
|
|
9
|
+
* [修复] 修复竞赛总是卡在跳过页面(#738ec9e)
|
|
10
|
+
* [修复] 修复 DMM 版启动游戏的过程中无法中断的问题(#ceaaed7)
|
|
11
|
+
* [新增] 即使执行任务出错也会执行关闭游戏任务(#9c9e4af)
|
|
12
|
+
* [新增] 优化培育方案错误与选人未找到错误的提示(#b51f9cd)
|
|
13
|
+
* [新增] 竞赛未编成时支持暂停与通知(#3be8485)
|
|
14
|
+
|
|
15
|
+
框架:
|
|
16
|
+
* [新增] Task 新增 pre、post、regular、manual 四种 run_at 类型(#0b7054e)
|
|
17
|
+
* [新增] 新增 MessageBox 与 TaskDialog 的 Win32API 封装(#3e544e9)
|
|
18
|
+
* [新增] 支持任务执行中只跳过或停止当前任务(#a167cbf)
|
|
19
|
+
* [重构] 移除了废弃的 dispatcher 与 action 分发器重载(#09252c5)
|
|
20
|
+
|
|
3
21
|
### v2025.7.20.0
|
|
4
22
|
脚本:
|
|
5
23
|
* [修复] 修复商店购买中购买推荐商品时点击推荐标签不生效的问题(#b07d4d3)
|
|
@@ -12,6 +12,15 @@ from kotonebot.client import Device
|
|
|
12
12
|
from kotonebot.client.host.protocol import Instance
|
|
13
13
|
from kotonebot.backend.context import init_context, vars
|
|
14
14
|
from kotonebot.backend.context import task_registry, action_registry, Task, Action
|
|
15
|
+
from kotonebot.errors import StopCurrentTask, UserFriendlyError
|
|
16
|
+
from kotonebot.interop.win.task_dialog import TaskDialog
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@dataclass
|
|
20
|
+
class PostTaskContext:
|
|
21
|
+
has_error: bool
|
|
22
|
+
exception: Exception | None
|
|
23
|
+
|
|
15
24
|
|
|
16
25
|
log_stream = io.StringIO()
|
|
17
26
|
stream_handler = logging.StreamHandler(log_stream)
|
|
@@ -19,10 +28,11 @@ stream_handler.setFormatter(logging.Formatter('[%(asctime)s] [%(levelname)s] [%(
|
|
|
19
28
|
logging.getLogger('kotonebot').addHandler(stream_handler)
|
|
20
29
|
logger = logging.getLogger(__name__)
|
|
21
30
|
|
|
31
|
+
TaskStatusValue = Literal['pending', 'running', 'finished', 'error', 'cancelled', 'stopped']
|
|
22
32
|
@dataclass
|
|
23
33
|
class TaskStatus:
|
|
24
34
|
task: Task
|
|
25
|
-
status:
|
|
35
|
+
status: TaskStatusValue
|
|
26
36
|
|
|
27
37
|
@dataclass
|
|
28
38
|
class RunStatus:
|
|
@@ -73,7 +83,7 @@ class Event(Generic[Params, Return]):
|
|
|
73
83
|
class KotoneBotEvents:
|
|
74
84
|
def __init__(self):
|
|
75
85
|
self.task_status_changed = Event[
|
|
76
|
-
[Task,
|
|
86
|
+
[Task, TaskStatusValue], None
|
|
77
87
|
]()
|
|
78
88
|
self.task_error = Event[
|
|
79
89
|
[Task, Exception], None
|
|
@@ -171,42 +181,80 @@ class KotoneBot:
|
|
|
171
181
|
self._on_after_init_context()
|
|
172
182
|
vars.flow.clear_interrupt()
|
|
173
183
|
|
|
184
|
+
pre_tasks = [task for task in tasks if task.run_at == 'pre']
|
|
185
|
+
regular_tasks = [task for task in tasks if task.run_at == 'regular']
|
|
186
|
+
post_tasks = [task for task in tasks if task.run_at == 'post']
|
|
187
|
+
|
|
174
188
|
if by_priority:
|
|
175
|
-
|
|
176
|
-
|
|
189
|
+
pre_tasks = sorted(pre_tasks, key=lambda x: x.priority, reverse=True)
|
|
190
|
+
regular_tasks = sorted(regular_tasks, key=lambda x: x.priority, reverse=True)
|
|
191
|
+
post_tasks = sorted(post_tasks, key=lambda x: x.priority, reverse=True)
|
|
192
|
+
|
|
193
|
+
all_tasks = pre_tasks + regular_tasks + post_tasks
|
|
194
|
+
for task in all_tasks:
|
|
177
195
|
self.events.task_status_changed.trigger(task, 'pending')
|
|
178
196
|
|
|
179
|
-
|
|
197
|
+
has_error = False
|
|
198
|
+
exception: Exception | None = None
|
|
199
|
+
|
|
200
|
+
for task in all_tasks:
|
|
180
201
|
logger.info(f'Task started: {task.name}')
|
|
181
202
|
self.events.task_status_changed.trigger(task, 'running')
|
|
182
203
|
|
|
183
204
|
if self.debug:
|
|
184
|
-
task.
|
|
205
|
+
if task.run_at == 'post':
|
|
206
|
+
task.func(PostTaskContext(has_error, exception))
|
|
207
|
+
else:
|
|
208
|
+
task.func()
|
|
185
209
|
else:
|
|
186
210
|
try:
|
|
187
|
-
task.
|
|
211
|
+
if task.run_at == 'post':
|
|
212
|
+
task.func(PostTaskContext(has_error, exception))
|
|
213
|
+
else:
|
|
214
|
+
task.func()
|
|
188
215
|
self.events.task_status_changed.trigger(task, 'finished')
|
|
216
|
+
except StopCurrentTask:
|
|
217
|
+
logger.info(f'Task skipped/stopped: {task.name}')
|
|
218
|
+
self.events.task_status_changed.trigger(task, 'stopped')
|
|
189
219
|
# 用户中止
|
|
190
220
|
except KeyboardInterrupt as e:
|
|
191
221
|
logger.exception('Keyboard interrupt detected.')
|
|
192
|
-
for task1 in
|
|
222
|
+
for task1 in all_tasks[all_tasks.index(task):]:
|
|
193
223
|
self.events.task_status_changed.trigger(task1, 'cancelled')
|
|
194
224
|
vars.flow.clear_interrupt()
|
|
195
225
|
break
|
|
226
|
+
# 用户可以自行处理的错误
|
|
227
|
+
except UserFriendlyError as e:
|
|
228
|
+
logger.error(f'Task failed: {task.name}')
|
|
229
|
+
logger.exception(f'Error: ')
|
|
230
|
+
has_error = True
|
|
231
|
+
exception = e
|
|
232
|
+
dialog = TaskDialog(
|
|
233
|
+
title='琴音小助手',
|
|
234
|
+
common_buttons=0,
|
|
235
|
+
main_instruction='任务执行失败',
|
|
236
|
+
content=e.message,
|
|
237
|
+
custom_buttons=e.action_buttons,
|
|
238
|
+
main_icon='error'
|
|
239
|
+
)
|
|
240
|
+
result_custom, _, _ = dialog.show()
|
|
241
|
+
e.invoke(result_custom)
|
|
196
242
|
# 其他错误
|
|
197
243
|
except Exception as e:
|
|
198
244
|
logger.error(f'Task failed: {task.name}')
|
|
199
245
|
logger.exception(f'Error: ')
|
|
246
|
+
has_error = True
|
|
247
|
+
exception = e
|
|
200
248
|
report_path = None
|
|
201
249
|
if self.auto_save_error_report:
|
|
202
250
|
raise NotImplementedError
|
|
203
251
|
self.events.task_status_changed.trigger(task, 'error')
|
|
204
252
|
if not self.resume_on_error:
|
|
205
|
-
for task1 in
|
|
253
|
+
for task1 in all_tasks[all_tasks.index(task)+1:]:
|
|
206
254
|
self.events.task_status_changed.trigger(task1, 'cancelled')
|
|
207
255
|
break
|
|
208
|
-
logger.info(f'Task
|
|
209
|
-
logger.info('All tasks
|
|
256
|
+
logger.info(f'Task ended: {task.name}')
|
|
257
|
+
logger.info('All tasks ended.')
|
|
210
258
|
self.events.finished.trigger()
|
|
211
259
|
|
|
212
260
|
def run_all(self) -> None:
|
|
@@ -228,7 +276,7 @@ class KotoneBot:
|
|
|
228
276
|
self.events.finished -= _on_finished
|
|
229
277
|
self.events.task_status_changed -= _on_task_status_changed
|
|
230
278
|
|
|
231
|
-
def _on_task_status_changed(task: Task, status:
|
|
279
|
+
def _on_task_status_changed(task: Task, status: TaskStatusValue):
|
|
232
280
|
def _find(task: Task) -> TaskStatus:
|
|
233
281
|
for task_status in run_status.tasks:
|
|
234
282
|
if task_status.task == task:
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import logging
|
|
2
|
-
from typing import Callable, ParamSpec, TypeVar, overload,
|
|
2
|
+
from typing import Callable, ParamSpec, TypeVar, overload, Literal
|
|
3
3
|
from dataclasses import dataclass
|
|
4
|
-
from typing_extensions import deprecated
|
|
5
4
|
|
|
6
|
-
import cv2
|
|
7
|
-
from cv2.typing import MatLike
|
|
8
5
|
|
|
9
6
|
from .context import ContextStackVars, ScreenshotMode
|
|
10
|
-
from ..dispatch import dispatcher as dispatcher_decorator, DispatcherContext
|
|
11
7
|
from ...errors import TaskNotFoundError
|
|
12
8
|
|
|
13
9
|
P = ParamSpec('P')
|
|
14
10
|
R = TypeVar('R')
|
|
15
11
|
logger = logging.getLogger(__name__)
|
|
16
12
|
|
|
13
|
+
TaskRunAtType = Literal['pre', 'post', 'manual', 'regular'] | str
|
|
14
|
+
|
|
15
|
+
|
|
17
16
|
@dataclass
|
|
18
17
|
class Task:
|
|
19
18
|
name: str
|
|
@@ -24,6 +23,8 @@ class Task:
|
|
|
24
23
|
"""
|
|
25
24
|
任务优先级,数字越大优先级越高。
|
|
26
25
|
"""
|
|
26
|
+
run_at: TaskRunAtType = 'regular'
|
|
27
|
+
|
|
27
28
|
|
|
28
29
|
@dataclass
|
|
29
30
|
class Action:
|
|
@@ -51,6 +52,7 @@ def task(
|
|
|
51
52
|
pass_through: bool = False,
|
|
52
53
|
priority: int = 0,
|
|
53
54
|
screenshot_mode: ScreenshotMode = 'auto',
|
|
55
|
+
run_at: TaskRunAtType = 'regular'
|
|
54
56
|
):
|
|
55
57
|
"""
|
|
56
58
|
`task` 装饰器,用于标记一个函数为任务函数。
|
|
@@ -62,6 +64,7 @@ def task(
|
|
|
62
64
|
默认情况下, @task 装饰器会包裹任务函数,跟踪其执行情况。
|
|
63
65
|
如果不想跟踪,则设置此参数为 False。
|
|
64
66
|
:param priority: 任务优先级,数字越大优先级越高。
|
|
67
|
+
:param run_at: 任务运行时间。
|
|
65
68
|
"""
|
|
66
69
|
# 设置 ID
|
|
67
70
|
# 获取 caller 信息
|
|
@@ -70,7 +73,7 @@ def task(
|
|
|
70
73
|
description = description or func.__doc__ or ''
|
|
71
74
|
# TODO: task_id 冲突检测
|
|
72
75
|
task_id = task_id or func.__name__
|
|
73
|
-
task = Task(name, task_id, description, _placeholder, priority)
|
|
76
|
+
task = Task(name, task_id, description, _placeholder, priority, run_at)
|
|
74
77
|
task_registry[name] = task
|
|
75
78
|
logger.debug(f'Task "{name}" registered.')
|
|
76
79
|
if pass_through:
|
|
@@ -98,7 +101,6 @@ def action(
|
|
|
98
101
|
pass_through: bool = False,
|
|
99
102
|
priority: int = 0,
|
|
100
103
|
screenshot_mode: ScreenshotMode | None = None,
|
|
101
|
-
dispatcher: Literal[False] = False,
|
|
102
104
|
) -> Callable[[Callable[P, R]], Callable[P, R]]:
|
|
103
105
|
"""
|
|
104
106
|
`action` 装饰器,用于标记一个函数为动作函数。
|
|
@@ -110,38 +112,6 @@ def action(
|
|
|
110
112
|
如果不想跟踪,则设置此参数为 False。
|
|
111
113
|
:param priority: 动作优先级,数字越大优先级越高。
|
|
112
114
|
:param screenshot_mode: 截图模式。
|
|
113
|
-
:param dispatcher:
|
|
114
|
-
是否为分发器模式。默认为假。
|
|
115
|
-
如果使用分发器,则函数的第一个参数必须为 `ctx: DispatcherContext`。
|
|
116
|
-
"""
|
|
117
|
-
...
|
|
118
|
-
|
|
119
|
-
@overload
|
|
120
|
-
@deprecated('使用普通 while 循环代替')
|
|
121
|
-
def action(
|
|
122
|
-
name: str,
|
|
123
|
-
*,
|
|
124
|
-
description: str|None = None,
|
|
125
|
-
pass_through: bool = False,
|
|
126
|
-
priority: int = 0,
|
|
127
|
-
screenshot_mode: ScreenshotMode | None = None,
|
|
128
|
-
dispatcher: Literal[True, 'fragment'] = True,
|
|
129
|
-
) -> Callable[[Callable[Concatenate[DispatcherContext, P], R]], Callable[P, R]]:
|
|
130
|
-
"""
|
|
131
|
-
`action` 装饰器,用于标记一个函数为动作函数。
|
|
132
|
-
|
|
133
|
-
此重载启用了分发器模式。被装饰函数的第一个参数必须为 `ctx: DispatcherContext`。
|
|
134
|
-
|
|
135
|
-
:param name: 动作名称。如果为 None,则使用函数的名称作为名称。
|
|
136
|
-
:param description: 动作描述。如果为 None,则使用函数的 docstring 作为描述。
|
|
137
|
-
:param pass_through:
|
|
138
|
-
默认情况下, @action 装饰器会包裹动作函数,跟踪其执行情况。
|
|
139
|
-
如果不想跟踪,则设置此参数为 False。
|
|
140
|
-
:param priority: 动作优先级,数字越大优先级越高。
|
|
141
|
-
:param screenshot_mode: 截图模式,必须为 `'manual' / None`。
|
|
142
|
-
:param dispatcher:
|
|
143
|
-
是否为分发器模式。默认为假。
|
|
144
|
-
如果使用分发器,则函数的第一个参数必须为 `ctx: DispatcherContext`。
|
|
145
115
|
"""
|
|
146
116
|
...
|
|
147
117
|
|
|
@@ -176,11 +146,6 @@ def action(*args, **kwargs):
|
|
|
176
146
|
pass_through = kwargs.get('pass_through', False)
|
|
177
147
|
priority = kwargs.get('priority', 0)
|
|
178
148
|
screenshot_mode = kwargs.get('screenshot_mode', None)
|
|
179
|
-
dispatcher = kwargs.get('dispatcher', False)
|
|
180
|
-
if dispatcher == True or dispatcher == 'fragment':
|
|
181
|
-
if not (screenshot_mode is None or screenshot_mode == 'manual'):
|
|
182
|
-
raise ValueError('`screenshot_mode` must be None or "manual" when `dispatcher=True`.')
|
|
183
|
-
screenshot_mode = 'manual'
|
|
184
149
|
def _action_decorator(func: Callable):
|
|
185
150
|
nonlocal pass_through
|
|
186
151
|
action = _register(_placeholder, name, description)
|
|
@@ -188,8 +153,6 @@ def action(*args, **kwargs):
|
|
|
188
153
|
if pass_through:
|
|
189
154
|
return func
|
|
190
155
|
else:
|
|
191
|
-
if dispatcher:
|
|
192
|
-
func = dispatcher_decorator(func, fragment=(dispatcher == 'fragment')) # type: ignore
|
|
193
156
|
def _wrapper(*args: P.args, **kwargs: P.kwargs):
|
|
194
157
|
current_callstack.append(action)
|
|
195
158
|
vars = ContextStackVars.push(screenshot_mode=screenshot_mode)
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
import time
|
|
2
|
-
import uuid
|
|
3
2
|
import logging
|
|
4
|
-
import inspect
|
|
5
|
-
from logging import Logger
|
|
6
|
-
from types import CodeType
|
|
7
3
|
from dataclasses import dataclass
|
|
8
|
-
from typing import
|
|
9
|
-
from typing_extensions import deprecated
|
|
4
|
+
from typing import Any, Callable, Literal
|
|
10
5
|
|
|
11
6
|
from dataclasses import dataclass
|
|
12
7
|
|
|
@@ -16,104 +11,6 @@ from kotonebot.primitives import Rect, is_rect
|
|
|
16
11
|
from .core import Image
|
|
17
12
|
|
|
18
13
|
logger = logging.getLogger(__name__)
|
|
19
|
-
P = ParamSpec('P')
|
|
20
|
-
R = TypeVar('R')
|
|
21
|
-
ThenAction = Literal['click', 'log']
|
|
22
|
-
DoAction = Literal['click']
|
|
23
|
-
# TODO: 需要找个地方统一管理这些属性名
|
|
24
|
-
ATTR_DISPATCHER_MARK = '__kb_dispatcher_mark'
|
|
25
|
-
ATTR_ORIGINAL_FUNC = '_kb_inner'
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
class DispatchFunc: pass
|
|
29
|
-
|
|
30
|
-
wrapper_to_func: dict[Callable, Callable] = {}
|
|
31
|
-
|
|
32
|
-
class DispatcherContext:
|
|
33
|
-
def __init__(self):
|
|
34
|
-
self.finished: bool = False
|
|
35
|
-
self._first_run: bool = True
|
|
36
|
-
|
|
37
|
-
def finish(self):
|
|
38
|
-
"""标记已完成 dispatcher 循环。循环将在下次条件检测时退出。"""
|
|
39
|
-
self.finished = True
|
|
40
|
-
|
|
41
|
-
def expand(self, func: Annotated[Callable[[], Any], DispatchFunc], ignore_finish: bool = True):
|
|
42
|
-
"""
|
|
43
|
-
调用其他 dispatcher 函数。
|
|
44
|
-
|
|
45
|
-
使用 `expand` 和直接调用的区别是:
|
|
46
|
-
* 直接调用会执行 while 循环,直到满足结束条件
|
|
47
|
-
* 而使用 `expand` 则只会执行一次。效果类似于将目标函数里的代码直接复制粘贴过来。
|
|
48
|
-
"""
|
|
49
|
-
# 获取原始函数
|
|
50
|
-
original_func = func
|
|
51
|
-
while not getattr(original_func, ATTR_DISPATCHER_MARK, False):
|
|
52
|
-
original_func = getattr(original_func, ATTR_ORIGINAL_FUNC)
|
|
53
|
-
original_func = getattr(original_func, ATTR_ORIGINAL_FUNC)
|
|
54
|
-
|
|
55
|
-
if not original_func:
|
|
56
|
-
raise ValueError(f'{repr(func)} is not a dispatcher function.')
|
|
57
|
-
elif not callable(original_func):
|
|
58
|
-
raise ValueError(f'{repr(original_func)} is not callable.')
|
|
59
|
-
original_func = cast(Callable[[DispatcherContext], Any], original_func)
|
|
60
|
-
|
|
61
|
-
old_finished = self.finished
|
|
62
|
-
ret = original_func(self)
|
|
63
|
-
if ignore_finish:
|
|
64
|
-
self.finished = old_finished
|
|
65
|
-
return ret
|
|
66
|
-
|
|
67
|
-
@property
|
|
68
|
-
def beginning(self) -> bool:
|
|
69
|
-
"""是否为第一次运行"""
|
|
70
|
-
return self._first_run
|
|
71
|
-
|
|
72
|
-
@property
|
|
73
|
-
def finishing(self) -> bool:
|
|
74
|
-
"""是否即将结束运行"""
|
|
75
|
-
return self.finished
|
|
76
|
-
|
|
77
|
-
@deprecated('使用 SimpleDispatcher 类或 while 循环替代')
|
|
78
|
-
def dispatcher(
|
|
79
|
-
func: Callable[Concatenate[DispatcherContext, P], R],
|
|
80
|
-
*,
|
|
81
|
-
fragment: bool = False
|
|
82
|
-
) -> Annotated[Callable[P, R], DispatchFunc]:
|
|
83
|
-
"""
|
|
84
|
-
注意:\n
|
|
85
|
-
此装饰器必须在应用 @action/@task 装饰器后再应用,且 `screenshot_mode='manual'` 参数必须设置。
|
|
86
|
-
或者也可以使用 @action/@task 装饰器中的 `dispatcher=True` 参数,
|
|
87
|
-
那么就没有上面两个要求了。
|
|
88
|
-
|
|
89
|
-
:param fragment:
|
|
90
|
-
片段模式,默认不启用。
|
|
91
|
-
启用后,被装饰函数将会只执行依次,
|
|
92
|
-
而不会一直循环到 ctx.finish() 被调用。
|
|
93
|
-
"""
|
|
94
|
-
def wrapper(*args: P.args, **kwargs: P.kwargs):
|
|
95
|
-
ctx = DispatcherContext()
|
|
96
|
-
while not ctx.finished:
|
|
97
|
-
from kotonebot import device
|
|
98
|
-
device.screenshot()
|
|
99
|
-
ret = func(ctx, *args, **kwargs)
|
|
100
|
-
ctx._first_run = False
|
|
101
|
-
return ret
|
|
102
|
-
def fragment_wrapper(*args: P.args, **kwargs: P.kwargs):
|
|
103
|
-
ctx = DispatcherContext()
|
|
104
|
-
from kotonebot import device
|
|
105
|
-
device.screenshot()
|
|
106
|
-
return func(ctx, *args, **kwargs)
|
|
107
|
-
setattr(wrapper, ATTR_ORIGINAL_FUNC, func)
|
|
108
|
-
setattr(fragment_wrapper, ATTR_ORIGINAL_FUNC, func)
|
|
109
|
-
setattr(wrapper, ATTR_DISPATCHER_MARK, True)
|
|
110
|
-
setattr(fragment_wrapper, ATTR_DISPATCHER_MARK, True)
|
|
111
|
-
wrapper_to_func[wrapper] = func
|
|
112
|
-
if fragment:
|
|
113
|
-
return fragment_wrapper
|
|
114
|
-
|
|
115
|
-
else:
|
|
116
|
-
return wrapper
|
|
117
14
|
|
|
118
15
|
@dataclass
|
|
119
16
|
class ClickParams:
|
|
@@ -95,7 +95,7 @@ class FlowController:
|
|
|
95
95
|
logger.info('Interrupt requested.')
|
|
96
96
|
self.interrupt_event.set()
|
|
97
97
|
|
|
98
|
-
def request_pause(self) -> None:
|
|
98
|
+
def request_pause(self, *, wait_resume: bool = False) -> None:
|
|
99
99
|
"""
|
|
100
100
|
请求暂停任务。
|
|
101
101
|
|
|
@@ -106,6 +106,8 @@ class FlowController:
|
|
|
106
106
|
if not self.paused:
|
|
107
107
|
logger.info('Pause requested.')
|
|
108
108
|
self.paused = True
|
|
109
|
+
if wait_resume:
|
|
110
|
+
self.check()
|
|
109
111
|
|
|
110
112
|
def request_resume(self) -> None:
|
|
111
113
|
"""
|
|
@@ -1,9 +1,41 @@
|
|
|
1
|
+
from typing import Callable
|
|
2
|
+
|
|
3
|
+
|
|
1
4
|
class KotonebotError(Exception):
|
|
2
5
|
pass
|
|
3
6
|
|
|
4
7
|
class KotonebotWarning(Warning):
|
|
5
8
|
pass
|
|
6
9
|
|
|
10
|
+
class UserFriendlyError(KotonebotError):
|
|
11
|
+
def __init__(
|
|
12
|
+
self,
|
|
13
|
+
message: str,
|
|
14
|
+
actions: list[tuple[int, str, Callable[[], None]]] = [],
|
|
15
|
+
*args, **kwargs
|
|
16
|
+
) -> None:
|
|
17
|
+
super().__init__(*args, **kwargs)
|
|
18
|
+
self.message = message
|
|
19
|
+
self.actions = actions or []
|
|
20
|
+
|
|
21
|
+
@property
|
|
22
|
+
def action_buttons(self) -> list[tuple[int, str]]:
|
|
23
|
+
"""
|
|
24
|
+
以 (id: int, btn_text: str) 的形式返回所有按钮定义。
|
|
25
|
+
"""
|
|
26
|
+
return [(id, text) for id, text, _ in self.actions]
|
|
27
|
+
|
|
28
|
+
def invoke(self, action_id: int):
|
|
29
|
+
"""
|
|
30
|
+
执行指定 ID 的 action。
|
|
31
|
+
"""
|
|
32
|
+
for id, _, func in self.actions:
|
|
33
|
+
if id == action_id:
|
|
34
|
+
func()
|
|
35
|
+
break
|
|
36
|
+
else:
|
|
37
|
+
raise ValueError(f'Action with id {action_id} not found.')
|
|
38
|
+
|
|
7
39
|
class UnrecoverableError(KotonebotError):
|
|
8
40
|
pass
|
|
9
41
|
|
|
@@ -31,7 +63,10 @@ class UnscalableResolutionError(KotonebotError):
|
|
|
31
63
|
self.screen_size = screen_size
|
|
32
64
|
super().__init__(f'Cannot scale to target resolution {target_resolution}. '
|
|
33
65
|
f'Screen size: {screen_size}')
|
|
34
|
-
|
|
66
|
+
|
|
35
67
|
class ContextNotInitializedError(KotonebotError):
|
|
36
68
|
def __init__(self, msg: str = 'Context not initialized'):
|
|
37
|
-
super().__init__(msg)
|
|
69
|
+
super().__init__(msg)
|
|
70
|
+
|
|
71
|
+
class StopCurrentTask(KotonebotError):
|
|
72
|
+
pass
|