═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ EXERCISE ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ 2026-02-16 00:04:33.278 | INFO | <<< UI ENSURE >>> 2026-02-16 00:04:33.282 | INFO | UI get current page 2026-02-16 00:04:33.503 | INFO | [UI] page_event_list 2026-02-16 00:04:33.506 | INFO | Goto page_exercise 2026-02-16 00:04:33.509 | INFO | <<< UI GOTO PAGE_EXERCISE >>> 2026-02-16 00:04:33.552 | INFO | Page switch: page_event_list -> page_main 2026-02-16 00:04:33.555 | INFO | Click (1234, 30) @ GOTO_MAIN 2026-02-16 00:04:34.423 | INFO | Click (1183, 93) @ LOGIN_ANNOUNCE_2 2026-02-16 00:04:35.341 | INFO | Click ( 916, 172) @ MONTHLY_PASS_NOTICE 2026-02-16 00:04:35.550 | INFO | Page switch: page_main_white -> page_campaign_menu 2026-02-16 00:04:35.556 | INFO | Click (1248, 503) @ MAIN_GOTO_CAMPAIGN_WHITE 2026-02-16 00:04:40.643 | INFO | Page switch: page_main_white -> page_campaign_menu 2026-02-16 00:04:40.649 | INFO | Click (1197, 516) @ MAIN_GOTO_CAMPAIGN_WHITE 2026-02-16 00:04:40.951 | INFO | Page switch: page_campaign_menu -> page_exercise 2026-02-16 00:04:40.955 | INFO | Click (1043, 628) @ CAMPAIGN_MENU_GOTO_EXERCISE 2026-02-16 00:04:41.245 | INFO | Page arrive: page_exercise 2026-02-16 00:04:41.258 | INFO | Bind task ['General', 'Alas', 'Exercise'] 2026-02-16 00:04:41.262 | INFO | Save config ./config/alas-pc.json, Exercise.Exercise.OpponentRefreshValue=0, Exercise.Exercise.OpponentRefreshRecord=datetime.datetime(2026, 2, 16, 0, 4, 41) 2026-02-16 00:04:41.277 | INFO | [Change_opponent_count] 0 2026-02-16 00:04:41.283 | INFO | [Exercise_ExerciseStrategy] fri18 2026-02-16 00:04:41.318 | INFO | Loading OCR model: ./bin/cnocr_models/cnocr 2026-02-16 00:04:41.488 | INFO | [OCR_PERIOD_REMAIN 0.200s] 6天23:55:19 2026-02-16 00:04:41.493 | INFO | Exercise period remain: 6 days, 23:55:19 2026-02-16 00:04:41.496 | INFO | Preserve 5 exercise 2026-02-16 00:04:41.522 | INFO | Loading OCR model: ./bin/cnocr_models/azur_lane 2026-02-16 00:04:41.625 | INFO | [OCR_EXERCISE_REMAIN 0.127s] 10 ═════════════════════════════════════════════════ EXERCISE REMAIN 10 ══════════════════════════════════════════════════ 2026-02-16 00:04:41.632 | INFO | EXERCISE REMAIN 10 ───────────────────────────────────────────────────── OPPONENT 0 ────────────────────────────────────────────────────── 2026-02-16 00:04:41.635 | INFO | OPPONENT 0 2026-02-16 00:04:41.637 | INFO | <<< OPPONENT: 0 >>> 2026-02-16 00:04:41.644 | INFO | Click ( 235, 194) @ OPPONENT_0_0 2026-02-16 00:04:42.354 | INFO | Click ( 665, 575) @ EXERCISE_PREPARATION 2026-02-16 00:04:42.965 | INFO | <<< TRY: 1 >>> 2026-02-16 00:04:42.970 | INFO | Combat preparation 2026-02-16 00:04:42.974 | INFO | Click (1153, 638) @ BATTLE_PREPARATION 2026-02-16 00:04:49.269 | INFO | [BattleUI] PAUSE 2026-02-16 00:04:49.273 | INFO | Combat execute 2026-02-16 00:04:49.708 | INFO | [99% - 99%] 2026-02-16 00:04:54.981 | INFO | [99% - 17%] 2026-02-16 00:05:00.087 | INFO | BATTLE_STATUS_S -> CLICK_SAFE_AREA 2026-02-16 00:05:00.091 | INFO | Click (1246, 678) @ CLICK_SAFE_AREA 2026-02-16 00:05:01.289 | INFO | BATTLE_STATUS_S -> CLICK_SAFE_AREA 2026-02-16 00:05:01.293 | INFO | Click (1239, 649) @ CLICK_SAFE_AREA 2026-02-16 00:05:01.593 | INFO | GET_ITEMS_1 -> CLICK_SAFE_AREA 2026-02-16 00:05:01.598 | INFO | Click (1230, 651) @ CLICK_SAFE_AREA 2026-02-16 00:05:03.983 | INFO | EXP_INFO_S -> CLICK_SAFE_AREA 2026-02-16 00:05:03.987 | INFO | Click (1250, 669) @ CLICK_SAFE_AREA 2026-02-16 00:05:05.186 | INFO | EXP_INFO_S -> CLICK_SAFE_AREA 2026-02-16 00:05:05.190 | INFO | Click (1239, 653) @ CLICK_SAFE_AREA 2026-02-16 00:05:06.387 | INFO | <<< COMBAT END >>> 2026-02-16 00:05:06.420 | INFO | [OCR_EXERCISE_REMAIN 0.027s] 9 ══════════════════════════════════════════════════ EXERCISE REMAIN 9 ══════════════════════════════════════════════════ 2026-02-16 00:05:06.427 | INFO | EXERCISE REMAIN 9 ───────────────────────────────────────────────────── OPPONENT 0 ────────────────────────────────────────────────────── 2026-02-16 00:05:06.431 | INFO | OPPONENT 0 2026-02-16 00:05:06.433 | INFO | <<< OPPONENT: 0 >>> 2026-02-16 00:05:06.438 | INFO | Click ( 239, 346) @ OPPONENT_0_0 2026-02-16 00:05:07.282 | INFO | Click ( 640, 576) @ EXERCISE_PREPARATION 2026-02-16 00:05:07.888 | INFO | <<< TRY: 1 >>> 2026-02-16 00:05:07.893 | INFO | Combat preparation 2026-02-16 00:05:07.897 | INFO | Click (1083, 642) @ BATTLE_PREPARATION 2026-02-16 00:05:13.897 | INFO | [BattleUI] PAUSE 2026-02-16 00:05:13.900 | INFO | Combat execute 2026-02-16 00:05:14.201 | INFO | [99% - 99%] 2026-02-16 00:05:19.313 | INFO | [93% - 69%] 2026-02-16 00:05:24.417 | INFO | [93% - 38%] 2026-02-16 00:05:29.514 | INFO | [00% - 00%] 2026-02-16 00:05:34.626 | INFO | [93% - 00%] 2026-02-16 00:05:36.112 | INFO | BATTLE_STATUS_S -> CLICK_SAFE_AREA 2026-02-16 00:05:36.118 | INFO | Click (1248, 655) @ CLICK_SAFE_AREA 2026-02-16 00:05:37.316 | INFO | BATTLE_STATUS_S -> CLICK_SAFE_AREA 2026-02-16 00:05:37.319 | INFO | Click (1242, 660) @ CLICK_SAFE_AREA 2026-02-16 00:05:37.618 | INFO | GET_ITEMS_1 -> CLICK_SAFE_AREA 2026-02-16 00:05:37.621 | INFO | Click (1241, 668) @ CLICK_SAFE_AREA 2026-02-16 00:05:40.021 | INFO | EXP_INFO_S -> CLICK_SAFE_AREA 2026-02-16 00:05:40.024 | INFO | Click (1233, 651) @ CLICK_SAFE_AREA 2026-02-16 00:05:41.226 | INFO | EXP_INFO_S -> CLICK_SAFE_AREA 2026-02-16 00:05:41.229 | INFO | Click (1224, 664) @ CLICK_SAFE_AREA 2026-02-16 00:05:42.427 | INFO | <<< COMBAT END >>> 2026-02-16 00:05:42.465 | INFO | [OCR_EXERCISE_REMAIN 0.034s] 8 ══════════════════════════════════════════════════ EXERCISE REMAIN 8 ══════════════════════════════════════════════════ 2026-02-16 00:05:42.479 | INFO | EXERCISE REMAIN 8 ───────────────────────────────────────────────────── OPPONENT 0 ────────────────────────────────────────────────────── 2026-02-16 00:05:42.484 | INFO | OPPONENT 0 2026-02-16 00:05:42.486 | INFO | <<< OPPONENT: 0 >>> 2026-02-16 00:05:42.493 | INFO | Click ( 185, 233) @ OPPONENT_0_0 2026-02-16 00:05:43.316 | INFO | Click ( 679, 566) @ EXERCISE_PREPARATION 2026-02-16 00:05:43.914 | INFO | <<< TRY: 1 >>> 2026-02-16 00:05:43.919 | INFO | Combat preparation 2026-02-16 00:05:43.923 | INFO | Click (1110, 652) @ BATTLE_PREPARATION 2026-02-16 00:05:49.617 | INFO | [BattleUI] PAUSE 2026-02-16 00:05:49.622 | INFO | Combat execute 2026-02-16 00:05:49.954 | INFO | [99% - 99%] 2026-02-16 00:05:55.037 | INFO | [95% - 66%] 2026-02-16 00:06:00.142 | INFO | [95% - 13%] 2026-02-16 00:06:04.345 | INFO | BATTLE_STATUS_S -> CLICK_SAFE_AREA 2026-02-16 00:06:04.349 | INFO | Click (1243, 657) @ CLICK_SAFE_AREA 2026-02-16 00:06:05.540 | INFO | BATTLE_STATUS_S -> CLICK_SAFE_AREA 2026-02-16 00:06:05.543 | INFO | Click (1243, 659) @ CLICK_SAFE_AREA 2026-02-16 00:06:05.847 | INFO | GET_ITEMS_1 -> CLICK_SAFE_AREA 2026-02-16 00:06:05.851 | INFO | Click (1249, 667) @ CLICK_SAFE_AREA 2026-02-16 00:09:06.011 | INFO | Function calls: gui.py L94 process.py L112 start() context.py L223 _Popen() context.py L277 _Popen() popen_fork.py L20 __init__() popen_fork.py L74 _launch() process.py L297 _bootstrap() process.py L99 run() gui.py L85 func() main.py L463 run() server.py L60 run() runners.py L43 run() on.py L84 main() proxy_headers.py L75 __call__() applications.py L112 __call__() errors.py L146 __call__() base.py L21 __call__() exceptions.py L58 __call__() routing.py L569 __call__() routing.py L540 lifespan() routing.py L481 default_lifespan() routing.py L518 startup() app.py L1523 process_manager.py L227 restart_processes() process_manager.py L51 start() process.py L112 start() context.py L223 _Popen() context.py L277 _Popen() popen_fork.py L20 __init__() popen_fork.py L74 _launch() process.py L297 _bootstrap() process.py L99 run() process_manager.py L166 run_process() alas.py L555 loop() alas.py L69 run() alas.py L254 exercise() exercise.py L237 run() exercise.py L115 _exercise_once() combat.py L188 _combat() combat.py L53 _combat_execute() device.py L188 screenshot() device.py L250 stuck_record_check() device.py L43 show_function_call() 2026-02-16 00:09:06.030 | WARNING | Wait too long 2026-02-16 00:09:06.032 | WARNING | Waiting for {'GET_ITEMS_1', 'BATTLE_STATUS_D', 'QUIT_RECONFIRM', 'POPUP_CONFIRM_WHITE', 'BATTLE_PREPARATION', 'EXERCISE_CHECK', 'GET_MISSION', 'GUILD_POPUP_CONFIRM', 'PAUSE', 'EXP_INFO_S', 'EXP_INFO_D', 'BATTLE_STATUS_S', 'OPTS_INFO_D', 'POPUP_CANCEL', 'MISSION_POPUP_GO'} 2026-02-16 00:09:06.081 | INFO | [Package_name] com.bilibili.azurlane 2026-02-16 00:09:06.084 | ERROR | GameStuckError: Wait too long 2026-02-16 00:09:06.086 | WARNING | Saving error: ./log/error/1771171746086